抛物线法和最速下降法优化程序.docx

上传人:牧羊曲112 文档编号:5302556 上传时间:2023-06-24 格式:DOCX 页数:5 大小:280.04KB
返回 下载 相关 举报
抛物线法和最速下降法优化程序.docx_第1页
第1页 / 共5页
抛物线法和最速下降法优化程序.docx_第2页
第2页 / 共5页
抛物线法和最速下降法优化程序.docx_第3页
第3页 / 共5页
抛物线法和最速下降法优化程序.docx_第4页
第4页 / 共5页
抛物线法和最速下降法优化程序.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《抛物线法和最速下降法优化程序.docx》由会员分享,可在线阅读,更多相关《抛物线法和最速下降法优化程序.docx(5页珍藏版)》请在三一办公上搜索。

1、最优化方法编程通过matlab编程,对老师上课讲的几种方法进行程序实现,并对算法的原理进行简要 的描述。(二)抛物线法例3:求函数f (x) = x3 3x + 2的最小值,初始搜索区间为0,3,终止误差为5 =0.05抛物线法的mat lab程序为:functionE,n=pao(F_1,a,b,l)xa(1)=a;xc(1)=b;n=1;xb(1) = (xa(1)+xc(1)/2;Xa(1)=feval(F_1,xa(1);Xb(1)=feval(F_1,xb(1);Xc=feval(F_1,xc(1);x(1) = (det(1 Xa(1) xa(1)2;1 Xb(1) xb(1)2;

2、1 Xc(1) xc(1)”2)/det(1xa(1) xa(1)”2;1 xb(1) xb(1)”2;1 xc(1) xc(1)”2)/(-2*(det(1 xa(1) Xa(1);1 xb(1) Xb(1);1 xc(1) Xc(1)/det(1 xa(1) xa(1)”2;1 xb(1) xb(1)”2;1 xc(1) xc(1)”2);X(1)=feval(F_1,x(1);Y(1)=abs(x(1)-xb(1);while(Y(n)l)if Xc(n)Xa(n)k2=sort(xa(n) xb(n) x(n);xa(n+1)=k2(1);xb(n+1)=k2(2);xc(n+1)=k

3、2(3);elsek2=sort(xb(n) xc(n) x(n);xa(n+1)=k2(1);xb(n+1)=k2(2);xc(n+1)=k2(3);endn=n+1;Xa(n)=feval(F_1,xa(n);Xb(n)=feval(F_1,xb(n);Xc(n)=feval(F_1,xc(n);x(n) = (det(1 Xa(n) xa(n)”2;1 Xb(n) xb(n)”2;1 Xc(n) xc(n)”2)/det(1 xa(n) xa(n)”2;1 xb(n) xb(n)”2;1 xc(n) xc(n)”2)/(-2*(det(1 xa(n) Xa(n);1 xb(n) Xb(n

4、);1 xc(n) Xc(n)/det(1 xa(n) xa(n)2;1 xb(n) xb(n)2;1 xc(n) xc(n)”2);X(n)=feval(F_1,x(n);Y(n)=abs(x(n)-xb(n);endE=xa xb xc x Xa Xb Xc X Y;disp( xa xbxcx f(xa) f(xb) f(xc)f(x) !x-xb!)function y=F_1(x)y=x3-3*x+2;运行语句:E,n=pao(F_1,0,3,0.05)运行结果:xaxbxcKt gj (sb)t (kc)士3iK-sb!E =01. 50003. 00000. 83332. 000

5、00. 875020.00000. 07870. 666700. 83331. 50000. 91072. 00000. 07870. 87500. 02320.07740. 83330.91071. 50000. 98260. 07870. 02320. 87500. 00090. 07190. 83330.91070. 98261. 00350. 07870. 02320. 00090. 00000. 09280. 91070. 98261. 00351. 00020. 02320. 00090. 00000. 00000. 0176n 二I5当运算5次后|x-xb|=0.01760.1)

6、xs(1)=x(1)+lmda*d(1);xs(2)=x(2)+lmda*d(2);h1=compose(h,xs(1);h2=compose(h1,xs(2);dh2=diff(h2,lmda);lm=solve(dh2);lm=double(lm);x(1)=x(1)+lm*d(1);x(2)=x(2)+lm*d(2);plot(x(1),x(2),*);fx,df=f_df(x);d=-df;end disp(x)子程序:functionf,df=f_df(x)f=2*x(1)”2+x(2)”2;df(1)=4*x(1);df(2)=2*x(2);直接运行运行结果:给程序第14行加百分号可得函数图像:函数立体图去掉程序13,14行百分号可得函数立体图,等高线图,及寻优点的轨迹:函数的等高线图及找寻最优点的轨迹最优点的坐标为:-0.00820.0329可见当函数执行4次以后得到的最优点(-0.0082,0.0329)已经于(0,0)点非常的接近, 满足精度要求。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号