我是靠谱客的博主 迷人铃铛,最近开发中收集的这篇文章主要介绍最优化方法与实践-抛物线法(matlab),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作用:确定单变量函数近似极小点

算法:

代码:

%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)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部