⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 黄金分割法求优化问题.txt

📁 黄金分割发求优化问题
💻 TXT
字号:
function [alfa,fval]=GoldenSM(a,b,s,x0)
alfa1=a+0.382*(b-a);
x1=x0+alfa1*s;	
y1=myfun(x1);
alfa2=a+0.618*(b-a);
x2=x0+alfa2*s;
y2=myfun(x2);
while (b-a)>0.000001
    if y1<y2
        b=alfa2;
        alfa2=alfa1;
        y2=y1;
        alfa1=a+0.382*(b-a);
        x1=x0+alfa1*s;
        y1=myfun(x1);
    else
        a=alfa1;
        alfa1=alfa2;
        y1=y2;
        alfa2=a+0.618*(b-a);
        x2=x0+alfa2*s;
        y2=myfun(x2);
    end
end
alfa=0.5*(a+b);
x=x0+alfa*s;
fval=myfun(x);
% 以下两行输出辅助信息,你可以在你很熟练而不需要它的时候删掉它们
str=sprintf('the minmum result is:\n alfa*=%f\nf(x*)=%f',alfa,fval);
disp(str);
function y=distance(x1,x2)
[m,n]=size(x1);
sum=0;
for i=1:m
    sum=sum+(x1(i)-x2(i))^2;
end
y=sqrt(sum);
%输入你要处理的目标函数,每次新的优化计算的时候要修改
%注意a是自变量,xe代表初始点,e代表搜索方向

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -