合肥工业大学《机械优化设计》课程实践报告

合肥工业大学《机械优化设计》课程实践报告

ID:31216817

大小:279.12 KB

页数:18页

时间:2019-01-07

合肥工业大学《机械优化设计》课程实践报告_第1页
合肥工业大学《机械优化设计》课程实践报告_第2页
合肥工业大学《机械优化设计》课程实践报告_第3页
合肥工业大学《机械优化设计》课程实践报告_第4页
合肥工业大学《机械优化设计》课程实践报告_第5页
资源描述:

《合肥工业大学《机械优化设计》课程实践报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、合肥工业大学《机械优化设计》课程实践研究报告班级:学号:姓名:授课教师:日期:2016年"月7日目录作业要求一、入二0.618的证明、一维搜索程序作业31、0.618法的基本思想32、关于0.618法中参数入二0.618的证明43、一维搜索程序作业5二单位矩阵歸作业8三、注释最佳再现给定运动规律连杆机构优化设计10问题模型子程序10四、连杆机构问题+其他工程优化问题121、连杆机构问题122、其他工程问题:15五、课程实践心得体会18作业要求1、=0.618的证明、一维搜索程序作业;2、单位矩阵程序作业;3、注释最佳再现给定运动规律连

2、杆机构优化设计问题模型子程序;4、连杆机构问题+自行选择小型机械设计问题或其他工程优化问题;(1)分析优化对象,根据设计问题的要求,选择设计变量,确立约束条件,建立目标函数,建立优化设计的数学模型并编制问题程序;(2)选择适当的优化方法,简述方法原理,进行优化计算;(3)进行结果分析,并加以说明。5、写出课程实践心得体会,附列程序文本。A=0.618的证明.一维搜索程序作业1.0.618法的基本思想"0.618法”,又称为黄金分割法,是常用的一种一维搜索试探方法,适用于[⑦切区间上的任何单调函数求极小值问题o0.618法是建立在区间消去

3、法原理基础上的试探方法,即在搜索区间[⑦切内适当插入两点坷、勺,且a./©),则取[坷上]为缩短后的区间。然后在保留下来的区间上进行同样的处置,如此迭代下去,使搜索区间无限缩小,从而得到极小点的数值近似解。2.关于0.618法中参m=0.618的证明0.618法要求插入点©,a2的位置相对于区间[a.b]两端点具有对称性,即6^1—b—A

4、(b—ci)=Q+Q(b-G)假设匕创=[0川,根据以上公式,得出分割后的区间如下图所示:进行再次分割时,0.618法要求在保留下来的区间内再插入一点,所形成的区间新三段与原来区间的三段具有相同的比例分布。假设保留下来的区间为[⑦冬],区间长度为2。为了保持相同的比例分布,根据以上公式计算,新插入点冬应在A(l-A)位置上,$在原区间的1-2位置相当于在保留区间的才位置。所谓0.618法,就是使整段长与较长段的长度比值等于较长段与较短段长度的比值,即:1_AA1-A通过计算解得2=0.618。若保留下来的区间为[$,甸,根据插入点的对称

5、性,也能推得同样的2值。3.—维搜索程序作业0.618法的搜索过程如下:1)给出初始搜索区间及收敛精度,将入代入0.618o2)按坐标点计算公式计算©和笑,并计算其对应的函数值。3)根据区间消去法原理缩短搜索区间。4)检查区间是否缩短到足够小和函数值是否收敛到足够近,如果条件不满足,则返回第二步。5)如果条件满足,取最后两实验点的平均值作为极小点的数值近似解。程序框图如下:a?—a+久(Aa)儿-/(Q2)勺一如y2->Q^b-A(b-a)>1T(华l)根据以上思路,下面借助C++,运用0.618法求解正弦函数的极小值。初始区间为[

6、Qr2rc_程序代码如下://0.618.cpp:定义控制台应用程序的入口点。#include"stdafx.h"#incIude#include#incIude#definePI3.1415926usingnamespacestd;fIoatmain()floata二0,b二2*PI,t;//t为计算精度floata1,a2,y1,y2,A,min;//A为极小点,min为所对应的极小值floatr=0.618;intp二0;//p为迭代次数cout«"请输入计算精度,如0.1:";

7、cin>>t;a1=b~r*(b~a);a2二a+r*(b_a);y1=sin(a1);y2=sin(a2);while(abs((b~a)/b)>=t

8、

9、abs((y2-y1)/y2)>=t){if(y1>=y2)a=a1;a1=a2;yi=y2;a2二a+r*(b_a);y2二sin(a2);}b二a2;a2=a1;y2二y1;a1=b-r*(b-a);y1=sin(a1);}P++;}A=(a+b)/2;min二sin(A);cout«"迭代次数为:"«p«endI;cout«"在【0,2口】区间内正弦函数的最小值为:"<〈s

10、etprecision⑼«min«endI;system("pause");return0;程序运行结果如下C:UsersYouLinDesktopC++.618Debug.618.exe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。