azure011328

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

今天学会操作matlab编译器以及写了工程数学的黄金分割法

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];

 

posted on   淮竹i  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
 
点击右上角即可分享
微信分享提示