机械优化设计MATLAB程序文件

上传人:公**** 文档编号:506532322 上传时间:2023-03-16 格式:DOC 页数:11 大小:90KB
返回 下载 相关 举报
机械优化设计MATLAB程序文件_第1页
第1页 / 共11页
机械优化设计MATLAB程序文件_第2页
第2页 / 共11页
机械优化设计MATLAB程序文件_第3页
第3页 / 共11页
机械优化设计MATLAB程序文件_第4页
第4页 / 共11页
机械优化设计MATLAB程序文件_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《机械优化设计MATLAB程序文件》由会员分享,可在线阅读,更多相关《机械优化设计MATLAB程序文件(11页珍藏版)》请在金锄头文库上搜索。

1、机械优化设计作业1.用二次插值法求函数 t t 1 t 2 2极小值,精度 e=0.01 。 在MATLAB勺M文件编辑器中编写的M文件,如下:f=in li ne(t+1)*(t-2)A2,t)a=0;b=3;epsilon=0.01;t1=a;f1=f(t1);t3=b;f3=f(t3);t2=0.5*(t1+t3);f2=f(t2); c1=(f3-f1)/(t3-t1);c2=(f2-f1)/(t2-t1)-c1)/(t2-t3);t4=0.5*(t1+t3-c1/c2);f4=f(t4);k=0;while(abs(t4-t2)=epsilon)if t2f4f1=f2;t1=t2;

2、t2=t4;f2=f4;elsef3=f4;t3=t4;endelseif f2f4f3=f2;t3=t2;t2=t4;f2=f4;elsef1=f4;t2=t4;endendc1=(f3-f1)/(t3-t1);c2=(f2-f1)/(t2-t1)-c1)/(t2-t3);t4=0.5*(t1+t3-c1/c2);f4=f(t4);k=k+1;end%输出最优解if f2f4t=t4;f=f(t4);elset=t2;f=f(t2);endfprintf(1,迭代计算 k=%3.0fn,k)fprintf(1,极小点坐标 t=%3.0fn,t)fprintf(1,函数值 f=%3.4fn,f

3、)运行结果如下:迭代计算k= 7极小点坐标t= 2函数值f=0.00012.用黄金分割法求函数t 3 t23 t2 1的极小值,精度e=0.01。在MATLAB勺M文件编辑器中编写的M文件,如下:f=i nlin e(tA(2/3)-(tA2+1)A(1/3),t);a=0;b=3;epsilo n=0.01;t仁b-0.618*(b-a);f仁f(t1);t2=a+0.618*(b-a);f2=f(t2);k=1;while abs(b-a)=epsil onif f1epson)p=-G1g1;x0=x0+p;g1=subs(df,x1,x2,x0(1,1),x0(2,1);G1=subs

4、(G,x1,x2,x0(1,1),x0(2,1);k=k+1;endx=x0;fx=subs(f,x1,x2,x(1,1),x(2,1);运行结果如下: x,fx,k=niudunfa(1;1)x =1.8970.9483 fx =0.7647 k =23(2) 用阻尼牛顿法在 MATLA啲M文件编辑器中编写的M文件,如下:function x,fx,k=zuniniudunfa(x0)%阻尼牛顿法syms x1 x2f=(x1-2)A4+(x1-2*x2)A2;fx=0; v=x1,x2;df=jacobian(f,v);df=df.;G=jacobian(df,v); epson=1e-1

5、2;% 停机原则g1=subs(df,x1,x2,x0(1,1),x0(2,1);G1= subs(G,x1,x2,xO(1,1),xO(2,1);k=0;%迭代次数p=-G1g1;aO=-p*g1/(p*G1*p);xO=xO+aO*p;while (no rm(aO*p)eps on)p=-G1g1;a0=-p*g1/(p*G1*p);xO=xO+aO*p;g仁subs(df,x1,x2,x0(1,1),x0(2,1);G1= subs(G,x1,x2,xO(1,1),xO(2,1);k=k+1;endx=x0;fx=subs(f,x1,x2,x0(1,1),x0(2,1);运行结果如下:

6、x,fx,k=zu nin iudu nfa(1;1)x=1.8970.9483fx=0.7647k=23(3) 用变尺度法在 MATLAB的M文件编辑器中编写的M文件,如下:4.用共轭梯度法求函数f XX2X;X;X/2 2为的极小点2 2(1 )用共轭梯度法在MATLAB勺M文件编辑器中编写的M文件,如下:fun ctio n y,x,k=CG(A,b,c,x0)%共轭梯度法解 minf (x) =0.5*X*A*X+bx+ceps=1e-6; %迭代停机原则%fx=0.5*x0.*A.*x0+b.*x0+c;r0=A*x0+b;if norm(r0)epsbeta=(r1*r1)/(r0

7、*r0); p1=-r1+beta*p0;alpha=-(r1*p1)/(p1*A*p1); x1=x1+alpha*p1;r2=A*x1+b; p0=p1; r0=r1;r1=r2; k=k+1;endx=x1; y=0.5*x*A*x+b*x+c; 运行结果如下: y,x,k=CG(3 -1;-1 1,-2;0,0,2;1) y = -1x = 1.00001.0000M文件,如下:k = 1(2)用变尺度法在 MATLAB的M文件编辑器中编写的 function x,fx,k=bianchidufa(A,b,c,x0) %用变尺度法求 fx=0.5*x*A*x+b*x+c;epson=1

8、e-12; g0=A*x0+b;G0=A; H0=eye(2);k=0; d0=-H0*g0;a0=-d0*g0/(d0*G0*d0); s0=a0*d0; %x(k+1)-x(k);y0=A*a0*d0; %g(k+1)-g(k); x1=x0+a0*d0;while (norm(s0)=epson)switch k case 10 x0=x1; g0=A*x0+b; H0=eye(2); k=0; d0=-H0*g0; a0=-d0*g0/(d0*G0*d0); s0=a0*d0; x1=x0+a0*d0;breakotherwiseg1=A*x1+b;y0=A*a0*d0; s0=a0*

9、d0;% H1=H0+s0*s0/(s0*y0)-H0*y0*y0*H0/(y0*H0*y0); H1=H0+(1+y0*H0*y0/(s0*y0)*s0*s0-H0*y0*s0-s0*y0*H0)/(s0*y0); k=k+1;d1=-H1*g1;a1=-d1*g1/(d1*G0*d1);a0=a1;d0=d1;H0=H1;s0=a0*d0; x1=x1+a0*d0;breakend end x=x1; fx=0.5*x1*A*x1+b*x1+c; 运行结果如下: x,fx,k=bianchidufa(3 -1;-1 1,-2;0,0,2;1) H1 =0.4031 0.25780.2578

10、 0.8945fx = -1x =1.00001.0000fx=-1k=1故函数极小点是点( 1,1 )5. 用鲍威尔法求函数 f x1,x2x12 2x22 4x1 2x1x2 的极小点。用鲍威尔法在 MATLAB的M文件编辑器中编写的M文件,如下:function x,fx,k=bowell(A,b,c,x0)%鲍威尔法d01=1;0;d02=0;1; x02=0;0;esp=1e-12; %停机原则k=0; %迭代次数while norm(x0-x02)=espk=k+1;g01=A*x0+b; a01=-d01*g01/(d01*A*d01);x01=x0+a01*d01;g02=A*x01+b;a02=-d02*g02/(d02*A*d02);x02=x01+a02*d02;d10=x02-x0;g10=A*x02+b;a10=-d10*g10/(d10*A*d10);x10=x0+a01*d01;d01=d02;d02=d10;x0=x10;endx=x0;fx=0.5*x*A*x+b*x+c;运行结果如下:x,fx,k=bowell(2 -2;-2 4,-4;0,0,2;1) fx =-8x =42fx =-8k =36. 用单纯形法求线性规划问题min f(x)1.1x1 2.2x2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号