机械优化设计MATLAB程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
机械优化设计MATLAB程序

机械优化设计作业 用二次插值法求函数极小值,精度e=0.01。 在MATLAB的M文件编辑器中编写的M文件,如下: f=inline((t+1)*(t-2)^2,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 t2t4 if f2f4 f1=f2;t1=t2; t2=t4;f2=f4; else f3=f4;t3=t4; end else if f2f4 f3=f2;t3=t2; t2=t4;f2=f4; else f1=f4;t2=t4; end end c1=(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 f2f4 t=t4;f=f(t4); else t=t2;f=f(t2); end fprintf(1,迭代计算k=%3.0f\n,k) fprintf(1,极小点坐标t=%3.0f\n,t) fprintf(1,函数值f=%3.4f\n,f) 运行结果如下: 迭代计算k= 7 极小点坐标t= 2 函数值f=0.0001 用黄金分割法求函数的极小值,精度e=0.01。 在MATLAB的M文件编辑器中编写的M文件,如下: f=inline(t^(2/3)-(t^2+1)^(1/3),t); a=0;b=3;epsilon=0.01; t1=b-0.618*(b-a);f1=f(t1); t2=a+0.618*(b-a);f2=f(t2); k=1; while abs(b-a)=epsilon if f1f2 b=t2;t2=t1;f2=f1; t1=b-0.618*(b-a);f1=f(t1); else a=t1;t1=t2;f1=f2; t2=a+0.618*(b-a);f2=f(t2); end t=0.5*(b+a); k=k+1; f0=f(t); end fprintf(1,迭代次数k=% 3.0f\n,k) fprintf(1,迭代区间—左端a=%3.4f\n,a) fprintf(1,试点1坐标值t1=%3.4f\n,t1) fprintf(1,函数值f1=%3.4f\n,f(t1)) fprintf(1,迭代区间—右端b=%3.4f\n,b) fprintf(1,试点2坐标值t2=%3.4f\n,t2) fprintf(1,函数值f2=%3.4f\n,f(t2)) fprintf(1,区间中点t=%3.4f\n,t) fprintf(1,函数值f0=%3.4f\n,f(t)) 运行结果如下: 迭代次数k= 13 迭代区间—左端a=0.0000 试点1坐标值t1=0.0036 函数值f1=-0.9767 迭代区间—右端b=0.0093 试点2坐标值t2=0.0058 函数值f2=-0.9679 区间中点t=0.0047 函数值f0=-0.9721 由黄金分割法在初始区间[0,3]求得的极小值点为t=0.0047,极小值为-0.9721。 用牛顿法、阻尼牛顿法及变尺度法求函数的极小点。 (1)在用牛顿法在MATLAB的M文件编辑器中编写的M文件,如下: function [x,fx,k]=niudunfa(x0) syms x1 x2 f=(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

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档