2011-陈飞-《机械优化设计》课程实践报告.docVIP

2011-陈飞-《机械优化设计》课程实践报告.doc

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

合肥工业大学 《机械优化设计》课程实践 研究报告 班 级: 机械设计制造及其自动化11-5班 学 号: 姓 名: 陈飞 授课老师: 王卫荣 日 期: 2014年 4月18日 研究报告目录 机械优化设计研究报告概述………………………………………………3 1、λ=0.618的证明、一维有哪些信誉好的足球投注网站程序……………………………………3 1.1 证明0.618法 ………………………………………………………………3 1.2 用0.618法求函数最小值 ………………………………………………4 1.2.1 求f(x)=cosx最小值 ………………………………………………4 1.2.2 求f(x)=(x-2)2+3最小值…………………………………………6 2、单位矩阵程序………………………………………………………………8 3、连杆机构问题………………………………………………………………9 3.1 问题描述………………………………………………………………………9 3.2 编写程序………………………………………………………………………10 3.3利用Fortran编译器生成可执行程序………………………………11 3.4 输出结果及分析……………………………………………………………13 4、工程问题实例………………………………………………………………16 4.1工程问题描述…………………………………………………………………16 4.2 数学模型 4.3 程序编制………………………………………………………………………18 4.4 优化结果1.1、 证明0.618法 黄金分割法要求插入点,的位置相对于区间两端具有对称性,即 其中,为待定常数。 除对称要求外,黄金分割法还要求在保留下来的区间内再插入一点所形成的区间新三段,与原来的区间三段具有相同的比例分布。设原区间的长度为1,如图一所示,保留下来的区间长度为,区间缩短率为。为了保持相同的分别比例。插入新点应在位置上,在原区间的位置应相当于在保留区间的位置。故有: 取方程正数解,得 若保留下来的区间为根据插入点的对称性,也能推得同样的值。所谓“黄金分割法”是指将一线段分成两段的方法,使整段长与较长段的长度比值等于较长段与较短段长度的比值,即 同样算的=0.618。可见黄金分割法能使相邻两次有哪些信誉好的足球投注网站区间都具有相同的缩短率0.618,所以黄金分割法又被称作0.618法。 1.2、 用0.618法求函数最小值 1.2.1、求f(x)=cosx最小值 根据求解思想,利用C语言编制0.618法程序如下: #includestdio.h #includemath.h double h(double x) { double z; z=cos(x); return z; } void main(void) { double a,b,c,k=0.618,e1,e2,e3,y1,y2,y3; printf(a,b,c的值\n); scanf(%lf,%lf,%lf,a,b,c); e1=b-(k*(b-a)); e2=a+(k*(b-a)); y1=h(e1); y2=h(e2); loop:if (y1=y2) { a=e1; e1=e2; y1=y2; e2=a+(k*(b-a)); y2=h(e2); } else { b=e2; e2=e1; y2=y1; e1=b-(k*(b-a)); y1=h(e1); } if ((fabs((b-a)/b)=c)(fabs((y2-y1)/y1)=c)) goto loop; else e3=0.5*(a+b); y3=h(e3); printf(最小值为%f\n,y3); } 运行的结果: 1.2.2、 求f(x)=(x-2)2+3最小值 利用C语言编制0.618法程序如下: #includestdio.h #includemath.h double h(double x) { double z; z=(x-2)*(x-2)+3; return z; } void main(void) { double a,b,c,k=0.618,e1,e2,e3,y1,y2,y3; printf(a,b,c的值\n); scanf(%lf,%lf,%lf,a,b,c); e1=b-(k*(b-a)); e2=a+(k*(b-a)); y1=h(e1); y2=

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档