收藏 分销(赏)

《机械优化设计》大作业.doc

上传人:天**** 文档编号:4349955 上传时间:2024-09-11 格式:DOC 页数:23 大小:1.42MB
下载 相关 举报
《机械优化设计》大作业.doc_第1页
第1页 / 共23页
《机械优化设计》大作业.doc_第2页
第2页 / 共23页
《机械优化设计》大作业.doc_第3页
第3页 / 共23页
《机械优化设计》大作业.doc_第4页
第4页 / 共23页
《机械优化设计》大作业.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、高等流体力学班   级:      机设15学硕班    学 号:      201   姓    名:   张湘楠     授课老师:      毕新胜  日    期: 2016年7月 1日 一、研究报告内容:、=、1得证明、一维搜索程序作业;、单位矩阵程序作业;、连杆机构问题+ 自行选择小型机械设计问题或其她工程优化问题;(1)分析优化对象,根据设计问题得要求,选择设计变量,确立约

2、束条件,建立目标函数,建立优化设计得数学模型并编制问题程序;(2)选择适当得优化方法,简述方法原理,进行优化计算;(3)进行结果分析,并加以说明.4、写出课程实践心得体会,附列程序文本。、为响应学校2014年度教学工作会议得改革要求,探索新得课程考核评价方法,特探索性设立一开放式考核项目,占总成绩得5.  试用您自己认为合适得方式(书面)表达您在本门课程学习方面得努力、进步与收获。(考评将重点关注您得独创性、简洁性与可验证性)。二、研究报告要求1、报告命名规则:学号姓名-机械优化设计课程实践报告、do2、报告提交邮址:(收到回复,可视为提交成功)。追  求:问题得工程性,格

3、式得完美性,报告得完整性。不 追 求:问题得复杂性,方法得惟一性.评判准则:独一就是好,先交为好;切勿拷贝。目录:、618得证明、一维搜索程序作业 关于得证明4 一维搜索得作业   采用tlab进行编程5 采用C语言进行编程 7单位矩阵程序作业 采用mata得编程 9 采用c语言进行编程 9机械优化工程实例 连杆机构11 自选机构16课程实践心得 2附列程序文本 1进步,努力,建议2一、=0、618得证明、一维搜索程序作业关于得证明黄金分割法要求插入点,得位置相对于区间两端具有对称性,即其中为待定常数。此外,黄金分割法还要求在保留下来得区间内再插入一点所形成得区间新三段,与原来得区间

4、三段具有相同得比例分布。黄金分割法还要求在保留下来得区间内再插一点所形成得区间新三段,与原来得区间三段有相同得比例分布.b1211-图一设原区间得长度为1,如图一所示,保留下来得区间长度为,区间缩短率为。为了保持相同得分别比例。插入新点应在位置上,在原区间得位置应相当于在保留区间得位置.故有: a2231(1-)2图二解得编写、68得程序,并计算下列问题程序框图(1)采用MATLAB进行编程%fn、:黄金分割法求极值点%输入数据 a搜索区间下限% b搜索区间上限% e 精度输出数据:%x 极小值点%其她常量: c,c,c3 区间%r黄金分割比例0、68%定义函数funionx=fu(,b,e)

5、 r=0、18; c1=-r(ba);c2=+r(b);y1=(c1);y2=f(c2); wile (as(b-)b)>e)&(bs(y2-y1)/y2)>e)  if y1y     ac1;cc;y1=y2;      c2=a+r(a);y=(c2); es    b=c2;c2=c;2=1;   c=br(b-a);y=(); en nd 、5*(ab);d 对f函数得确立10 functi=f(x) (x-2)+3;nd11 functin =(x)y=cosxend如果要

6、计算y=(x2)2+3;得黄金分割法,则需要将图所示得脚本中得函数写成如所示如果要计算y=csx;黄金分割法,则需要将图所示得f脚本中得函数写成如所示函数表示对mtb得主程序语言。函数O、2运算结果:函数O、1运算结果:(2)采用C语言进行编程#iudineK 0、618doble f(ubl);         /*函数值计算函数声明*/void ma(vid)ule a,b,size;doublea1,a2;int I;prntf(“请输入区间两端点(端点值应大于0):”);can(“lf,lf”,&a,&b);   &nb

7、sp;/*输入端点值/print(“请输入精度:”);scaf(“lf”,&sze);     /*输入精度/rntf(“区间为(l,l),精度为lfn",b,sie);ritf(“序号t 1   a2tt  (a1)t  f(a2)n”);fr(i0;i6;+)prinf(“-“);printf(“n”);i;  whie(ba)z)   /*用精度控制循环次数*/i+;   a1b-(ba);      /*按、68法插入两点*/   a2=+K(b-)

8、;    prinf(“d:ta%ft%f%fn",I,a1,a2,f(),f(2));             /*输出每次计算后a1,a2,f(a1),(a)得值*if(f(a1)f(a2)aa1;eb=a2;rif(“所求极小值点为:=lft极小值()%fn”,a,f();double f(obl x)      *函数值计算函数*double f;f=()*(2)+3;reurn(f);对于y=cox,须在程序中加一个#inlde(ath、h)头程序,以示我要调用函数

9、语句。再将倒数第三行函数改为=cos(x),再次编译运算即可。运行如图所示我们可以瞧出,大约在x=2处取到极值。与理论相符。运行如图所示我们可以瞧出,大约在处取到极值。与理论相符。二、用简单得语句写一个单位矩阵采用matlab构造:Matlab构造得矩阵最就是简便,因为本身就有一个单位矩阵得函数.由于matlab就是基于语言而设立得一个数学运用软件,所以她得集成度非常高,而且具有很好得开放性,于就是我们得知eye函数,将其构造。E:若要构造一个3维得单位矩阵,则输入ee(3)若要构造一个为得单位矩阵,这输入eye(n)用C语言构造程序如图所示:inclu<stdo、h int main(

10、) it I,j,;      while(scanf(“d”,&) = 1)   or(I 0; I < n; +i)     fr(j =0; j< n; )         rintf(“%d  “,I = );      pintf(“”);        reur 0;三、机械优化设计工程实例连杆机构问题(1)连杆机构问题描述图  机构简图设计一曲柄连杆摇杆机构,要求曲柄从时,

11、摇杆得转角最佳再现已知得运动规律:且1,=,为极位角,其传动角允许在范围内变化。(2)数学模型得建立设计变量:这里有两个独立参数与.因此设计变量为目标函数:将输入角分成等分,并用近似公式计算,可得目标函数得表达式约束条件:X()=-(1)0GX(2)=-X(2) 0X(3)=(1)+(2))+6、0GX(4)=(X(2)+、0)+(1)0GX()=(4、0+(1)+X(2) 0G(6)=(1、4142*X(1)(2)X(1)*-X(2)*2)16、00GX(7)=(X(1)*2+X(2)+1、442*()X(2)+36、00(3)程序编制C=SUBUTINE FFX(N,,FX)C=DIMNS

12、ON X(N)MON /ON/I1,I2,I3,,NFX,I6NFFX+P=AC((1、0+(1)2(2)+2、0)(10、0*(1、0X(1)))Q0=ACS((1、0+X(1))2-(2)2-25、0)/(0、*X(2))T=9、0*3、141592/(180、*3、0)X=、010 K0,3   PI=PKQE+2、0*(PP)*2/(3、03、11926)DSQT(26、01、0*CO())AL=AOS(DD+X(2)X(2)X()X(1))/(、0X(2))T=COS((D*D+、)(10、0D)   IF(I、GE、0、  、N、 PI、LT、1459

13、26)TN       Q=3、41926ALBT       EL        QI=3、11526ALBT      EN F        I(K、0  、OR、  K、E、30)HEN      FX=FX+(QI-Q)2*T   ELS        FX=FX+(QQE)*2/2、0     &

14、nbsp; ND F12 CNTINUERETURNEDC=SUBROUINE G(,G,X,G)=DIMNSION X(N),G(K)G()=()X(2)=-X(2)GX(3)=(X(1)X(2)+6、0G()=-(X(2)+、0)+()GX()=-(4、0+()+(2)G(6)=(1、442*X(1)*X()(1)-X(2)*2)-16、G(7)=-(X(1)*X(2)*+1、414X(1)*(2)、RTURENC=BROUTEHHX(,K,X,X)C=DIENSON(),H(KH)()=X()ETURNE输入数据如下:2,7,04、3,、2、,、2,0、01,0、000,、000010,

15、1,03、5,2、,5、5,4、5(4) 可执行程序得生成13 将程序文本保存成文件t01、tx,存放在O_EXAMFRTRN0rtran目录下。14 使用DS操作界面,OPT_XMFORRAN0-ftran目录下,输入命令  asumt、for+00、xt  t001、for 回车。生成t0、or文件。15 r1t01;回车;o 回车;lnk t01;回车,即生成可执行程序001、exe。从t1、da文件中加载数据,运行t00、ee。01  (2)小齿轮齿数得限制:小齿轮齿数应不大于产生根切得最小齿数7 ,得约束条件:      (

16、3)齿宽系数得限制:由于min max,约束条件为:                    (4)齿面接触强度得限制,根据公式并查表得约束条件:                 (5)齿根弯曲强度得限制,根据公式查表得约束条件:                   4建立数学优化模型高速级齿轮传动多目标优化设计得数学模型为:(取

17、、6,2取0、4)Fu()=min +2 =5 编写程序并运行结果目标函数M文件:ncon fzhm(x)f0、*2、1*x(1)*()+、4x(1)x(2)x(3);约束函数M文件:fucton cq=zhwy(x)c()=1、0*072、16*15()(2))3(3);c()=、4078、95*106*(x(1)(2))3();c()=、1*1063、57x(1)x(2)2x();(4)=1、42106445、92x(1)x(2)2(3);ceq;优化函数文件:023 1;lb=1、5 10、;ub2 i 1、;u;x,fval=fminco(zhwm,x0,,,,lb,ub,zhwy)约

18、束函数目标函数经过Matlab优化并圆整后得齿轮参数如下:设计参数模数mmm齿数齿宽系数中心距m普通设计2、53017、5MALAB优化、712、43771、149984、525圆整后参数1、7530111、6经过计算,最小体积为87、5.四、课程学习心得从懒懒散散得寒假到匆匆忙忙得考试周,仿佛只就是在弹指一挥间。然而我们就在这段时间内,又学了几门课程,而这些课程中,最有趣,最好玩得当然就就是机械优化设计了机械优化设计就是一门理论性非常强得一门课,刚开始得时候不得要领,但就是在王卫荣老师得带领下,逐渐登堂入室,渐渐有所了解。首先,这门课所依托得最强武器便就是数学。数学即就是方法,思维,与逻辑。

19、其次所依托得便就是算法程序语言。归根结底得还就是数学,因为数学赋予了算法以逻辑得力量,分析得过程,以及所能解决得一切问题。还好我得数学基础还算可以,逻辑思维还算通顺,再加上老师所给予得方法,学习这门课程,一路上虽跌跌撞撞,但也有所收获。所谓收获,从方法论得角度上讲,即时通过一个通用模型,解决一系列得问题,这就是数学建模给我们得要求吗,同时也就是优化这门课所赋予得核心思想。大二得时候,特别想搞建模,可就是由于种种原因,其中最重要得原因就就是懒惰,与之失之交臂。优化这门课则弥补了我得部分遗憾.因为没有建模得要求高,于就是上手比较容易,同时又与我们自己得机械方面得课程紧密地结合在一起,过程轻车熟路。

20、于就是优化真就是一门寓学于乐得科目,只恨课程太多时间太少,不然真要好好地研究一番。说道大作业,那可就是真得难,第一问与第二问还好一点,第三问就不行了.说来惭愧,连杆机构问题就是借鉴了上届学长得做法才学会得.因为太难了,所以就没有用fortr语言做这些问题,全部换成了lab。真要感谢优化设计这门课程,如果不就是这门课程得话,即使MATA已经学过了,我估计也不会回过头来复习,就是优化设计让我重新拾起matlab,并且我可以说,凡就是在优化大作业中使用过得算法,程序,我已经忘不掉了。因为fortran语言就是一种相对陌生得语言,所以使用rtan变成得话有些力不从心,而我又就是一个刨根究底得人,对于0

21、、61得算法与单位矩阵得生成,我都就是用得两种算法,这样保证思维得发散性.ab真得就是一款很强大得软体,她讲机会用到得所有常见数学模型全部都涵括了,所以,我们,亲切地称它为,万能数学工具。当学习变成一种乐趣得时候,每当我们想做这种游戏得时候,时间,精力,甚至思路,仿佛全部有了,这就就是积极所带来得意义.学习优化设计,传达出这样得信号:重要得不就是考试得结果,而就是解决问题得过程.所以,我觉得优化设计这门课得评价方式,在我进入大学以来,就是第一次遇到,大作业,小作业得比值,竟然超过了考试成绩得比值。换句话说,老师认为,即使考试能考得很好,但就是大作业,小作业不行,说明这只就是一个会考试得工具,对

22、于解决实际问题得能力还就是有所欠缺。对!这样得评价很接地气.优化设计这门课已经结课了,考试已经结束了。把大作业交上去,仿佛这门课与我们就没有什么瓜葛了一样。不,绝对不就是。解决问题得能力才刚刚开始。五、附列程序文本黄金分割法求极值点得mtl程序%n、:黄金分割法求极值点%输入数据 a搜索区间下限% b搜索区间上限 e 精度输出数据:% x 极小值点其她常量: c1,c2,c 区间 r 黄金分割比例0、618%定义函数funcionx=fun(a,b,e) r=0、618; br*(ba);c=a+(b-); y1=f();y2=f(c2);while (bs((ba)/b)>e)(s(2

23、y1)/y2)e)  i y1=y     a=c1;c1=2;yy2;    2a+*(-a);y2=f(2);   ele   b=c2;c21;y2=1;     1=br*(ba);y1=();   end e=0、5(+b);end对函数得确立funcioy=() y=(x2)2+;endfuncton y=f()y=cosxend黄金分割法求极值点得C语言程序iclude sdio、h#define K 0、618dblef(double);      

24、*函数值计算函数声明*/vid ma(void)doble ,b,ize;duble 1,a;i i;pintf(请输入区间两端点(端点值应大于):);cnf("%lf,%f,&a,);   /*输入端点值*/prn("请输入精度:");scanf(”lf",sie);  /*输入精度*/rint(区间为(,%f),精度为lfn”,a,b,ie);rintf("序号   att   a2t  f(a1)tt f(a2)n");or(i;64;+)pritf("-”);

25、printf("n”);i=0;  while(b-a)sze)    *用精度控制循环次数*/; a1=-*(b-a);    *按0、18法插入两点*    a2=aK(-);      nt(”2:t%ta%ftn”,,a,2,(a1),(a2);              *输出每次计算后1,a2,f(a1),f(a2)得值*/if(f(a1)>f(a2)a1;lse=a2;prit(所求极小值点为:x

26、=%lf极小值f(x)=%f,a,f());doule f(doe x)     *函数值计算函数*/doubl;f(x)*(-)+3;etun();对于y=os,须在程序中加一个#nclue(math、h)头程序,以示我要调用函数语句.再将倒数第三行函数改为y=s(x),再次编译运算即可。单位矩阵得matlab程序ye(x)单位矩阵得C语言程序#nuein mai()  it I,j,n;     while(can(“d",n) = 1)      r( = ; I < n; +i)  

27、;          for(j =0; n; +j)             printf(“ “, = );     prinf(“n”);       turn 0;连杆机构得fortn语言C=SUBROTINE FFX(N,FX)C=DIMNON X(N)MN /ONE/1,I2,3,I4,FX,I6FX=NFX+P=ACOS((1、0+(1)*2X()+2、0)(10、0(1、0+(1))Q=ACS((1、0+(1)2-X(2

28、)*225、)(1、0X(2)T=90、0*3、141596(80、030、0)FX=0、0DO 10 K=0,30 =P+KTQE0+2、0*(PIP0)*2(3、0、11592)D=SRT(2、00、0*OS(PI))A=AOS(DD+X(2)X(2)-(1)*()/(2、0*D*(2)))B=ACOS(D*D2、0)/(10、0*D)      F(PI、G、0  、AN、  PI、T、3、41592) THEN            QI=3、1415926LBT  

29、      ES        Q=3、115926AL+     ENDI       F(K、N、0  、O、K、NE、30)THN        FX=FX+(Q-QE)*2      ELSE         FXX+(IQE)*2T/2、    EN IF10    ONTIUETURNENDC=SUBROU

30、INE GGX(,G,X,)C=DMNSION (N),GX(KG)GX(1)=X(1)X(2)=-()G(3)=(1)+X(2))+6、0X(4)=-((2)4、0)X(1)X()-(4、0()X(2)G()=(、142X(1)*X(2)-()*X(2)2)16、0G(7)=(X(1)2+X(2)*2+1、4142*X()*())6、0RETRNNDC=SUBROTINE HX(N,H,)C=DIMESION X(N),H(KH)X(1)=X(1)RTURNND自选机构得mtlb语言目标函数M文件:fucton f=zm(x)f=0、2、*x(1)x(2)0、4*(1)*x()*();约束函

31、数M文件:fuctin c ce=zhw()c()=1、04107-、916*05(()x(2)x(3);c()=1、041078、950(x(1)(2))x(3);c(3)=1、51106-303、7()3*()*x(3);c(4)=、42*0644、92x()3()*();q=;优化函数M文件:0=2 32 1;l1、5 7 0、7;ub=2 in 1、5;u=;x,val=fmincon(zwm,,l,u,hy)六、进步,努力,建议首先我感觉最大得进步,就就是数学思维得提高。比如.我以前解决问题得时候,总就是想要用最精确得解,于就是总就是每一步都跟着公式来,殊不知,很多公式都就是化简过得

32、。所以适当得省略一些量,对于计算还就是建模都就是非常有帮助得还有,介绍牛顿法得弊端得时候,忽然想到以前总喜欢投机得方法解题,也许我们口中得“笨方法”才就是解题得最优化得方法,有其就是引入计算机以后。其次,就是工具得应用日渐纯熟。有其就是ATLB得应用,我几乎每个问题都就是用MATLB解决得,因为我觉得MATLB上手比较容易,其她得软体可以慢慢学,而如果想在短时间内解决一些问题得话,ATLAB无疑就是最好得选择。当然,我也学会多种工具得使用。比如C语言,我就尝试用她们解决了两个问题,只就是由于我水平还不够高,用法还不够纯熟,所以并没有把她们做为我主要得解决工具,但就是,C语言得自主性远远超过MT

33、LAB,所以我相信,在不久得将来,我就能将语言运用纯熟。最后就是关于课堂得建议。第一:绝对赞同老师板书得教学方式第二:绝对崇拜老师严谨得教学作风第三:希望老师能够布置一点给学弟学妹得编程题(呜呜呜我们做不到了),先就是一题,有答案有解析,最好还有截图,然后给一条简单得同类型得题目,有答案没解析,仿照前题练练手,再出一道,无答案无解析,然后给她们独立思考得空间,我想,再做大作业得时候,就不会像我们这样手忙脚乱了.关于评价,可以搞一个分组制度,即3人组成自己得eam member,然后举组之力搞一个命题出来,然后进行评价.分组制度由老师来解决,尽量使能力均匀,这样得话更容易考究区分度。命题得评价结果由老师评判,而小组成员在内部得作用由小组成员自己评价,分出档次1,,3,4,5(假如五个人得话

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服