2024.05.30
function [s,phis,k,G,E]=golds(phi,a,b,delta,epsilon)
%输入:phi是目标函数,a,b是搜索区间的两个端点delta,epsilon分别是自变量和函数值的容许误差9%输出:s,phis分别是近似极小点和极小值,G是nx4矩阵。其第k行分别是a,p,q,b的第k次迭代值[ak,pk,qk,bk],E=[ds,dphi],分别是s和phis的误差限
t=(sqrt(5)-1)/2;h=b-a;
phia=feval(phi,a);phib=feval(phi,b);
p=a+(1-t)*h;q=a+t*h;
phip=feval(phi,p);phiq=feval(phi,q);k=1;G(k,:)=[a,p,q,b,h];
while(h>delta)
if(phip<phiq)
b=q;phib=phiq;q=p;phiq=phip;
h=b-a;p=a+(1-t)*h;phip=feval(phi,p);
else
a=p; phia=phip;p=q;phip=phiq;
h=b-a; q=a+t*h;phiq=feval(phi,q);
end
k=k+1; G(k,:)=[a,p,q,b,h];
end
ds=abs(b-a);dphi=abs(phib-phia);
if(phip<=phiq)
s=p;phis=phip;
else
s=q;phis=phiq;
end
E=[ds,dphi];
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)