概述
作用:确定单变量函数近似极小点
算法:
代码:
%Author:风君子
%Date:2022.9.25
%Course:Optimization
%Parabolic method
function[s_ba,s1,phis_ba,phis1,k] = Parabolic(phi,x0,h0,epsilon)
%输出:s_ba、s1近似极小点的值;k,迭代次数
[s0,s2,s1] = Forward_backward(phi,x0,h0);
phis0 = feval(phi,s0);
phis1 = feval(phi,s1);
phis2 = feval(phi,s2);
k=0;
while(abs(s1 - s0) >= epsilon)&(abs(s2 - s1) >= epsilon)
part1 = (s1^2-s2^2)*phis0+(s2^2-s0^2)*phis1+(s0^2-s1^2)*phis2;
part2 = (s1-s2)*phis0+(s2-s0)*phis1+(s0-s1)*phis2;
s_ba = 0.5 * part1 / part2;
phis_ba = feval(phi,s_ba);
if (phis1 <= phis_ba)
if (s1 < s_ba)
s2 = s_ba;
phis2 = phis_ba;
else
s0 = s_ba;
phis0 = phis_ba;
end
else
if (s1 > s_ba)
s2 = s1;
s1 = s_ba;
phis2 = phis1;
phis1 = phis_ba;
else
s0 = s1;
s1 = s_ba;
phis0 = phis1;
phis1 = phis_ba;
end
end
k=k+1;
end
最后
以上就是迷人铃铛为你收集整理的最优化方法与实践-抛物线法(matlab)的全部内容,希望文章能够帮你解决最优化方法与实践-抛物线法(matlab)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复