下载此文档

机械优化设计MATLAB程序.doc


文档分类:汽车/机械/制造 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
机械优化设计作业用二次插值法求函数极小值,精度e=。在MATLAB的M文件编辑器中编写的M文件,如下:f=inline('(t+1)*(t-2)^2','t')a=0;b=3;epsilon=;t1=a;f1=f(t1);t3=b;f3=f(t3);t2=*(t1+t3);f2=f(t2);c1=(f3-f1)/(t3-t1);c2=((f2-f1)/(t2-t1)-c1)/(t2-t3);t4=*(t1+t3-c1/c2);f4=f(t4);k=0;while(abs(t4-t2)>=epsilon)ift2<t4iff2>f4f1=f2;t1=t2;t2=t4;f2=f4;elsef3=f4;t3=t4;endelseiff2>f4f3=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=*(t1+t3-c1/c2);f4=f(t4);k=k+1;end%输出最优解iff2>f4t=t4;f=f(t4);elset=t2;f=f(t2);endfprintf(1,'迭代计算k=%\n',k)fprintf(1,'极小点坐标t=%\n',t)fprintf(1,'函数值f=%\n',f)运行结果如下:迭代计算k=7极小点坐标t=2函数值f=,精度e=。在MATLAB的M文件编辑器中编写的M文件,如下:f=inline('t^(2/3)-(t^2+1)^(1/3)','t');a=0;b=3;epsilon=;t1=b-*(b-a);f1=f(t1);t2=a+*(b-a);f2=f(t2);k=1;whileabs(b-a)>=epsiloniff1<f2b=t2;t2=t1;f2=f1;t1=b-*(b-a);f1=f(t1);elsea=t1;t1=t2;f1=f2;t2=a+*(b-a);f2=f(t2);endt=*(b+a);k=k+1;f0=f(t);endfprintf(1,'迭代次数k=%\n',k)fprintf(1,'迭代区间—左端a=%\n',a)fprintf(1,'试点1坐标值t1=%\n',t1)fprintf(1,'函数值f1=%\n',f(t1))fprintf(1,'迭代区间—右端b=%\n',b)fprintf(1,'试点2坐标值t2=%\n',t2)fprintf(1,'函数值f2=%\n',f(t2))fprintf(1,'区间中点t=%\n',t)fprintf(1,'函数值f0=%\n',f(t))运行结果如下:迭代次数k=13迭代区间—左端a===-—右端b===-==-[0,3]求得的极小值点为t=,极小值为-。用牛顿法、阻尼牛顿法及变尺度法求函数的极小点。(1)在用牛顿法在MATLAB的M文件编辑器中编写的M文件,如下:function[x,fx,k]=niudunfa(x0)symsx1x2f=(x1-2)^4+(x1-2*x2)^2;fx=0;v=[x1,x2];df=jacobian(f,v);df=df.';G=jacobian(df,v);epson=1e-12;g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)});G1=subs(G,{x1,x2},{x0(1,1),x0(2,1)});k=0;p=-G1\g1;x0=x0+p;while(norm(g1)>epson)p=-G1\g1;x0=x0+p;g1=subs(df,{x1,x2},{x0(1,1),x0(2,1)});G1=subs(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 =  fx = =23(2)用阻尼牛顿法在MATLAB的M文件编辑器中编写的M文件,如下:function[x,fx,k]=zuniniud

机械优化设计MATLAB程序 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cchanrgzhouh
  • 文件大小77 KB
  • 时间2020-07-10