欢迎来到天天文库
浏览记录
ID:39620860
大小:185.50 KB
页数:12页
时间:2019-07-07
《现代设计原理与用用 上机实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《现代设计理论与方法》实验报告姓名:严大鹏学号:200905813班级:2009058_指导老师:刘楷安实验时间:2012.04.06一、实验目的机械优化设计是一门实践性较强的课程,学生通过实际上机计算可以达到以下目的:1.加深对机械优化设计方法的基本理论和算法步骤的理解;2.培养学生独立编制或调试计算机程序的能力;3.掌握常用优化方法程序的使用方法4.培养学生灵活运用优化设计方法解决工程实际问题的能力。二、实验项目和每个实验项目的要求序号实验项目学时实验要求1黄金分割法21.明确黄金分割法基本原理,计算步骤及程序框图;2.编制或调试黄金分割法应用程序;3.用测试题对所编
2、程序进行调试;4.撰写实验报告。2复合型法41.明确复合型法基本原理,计算步骤及程序框图;2.编制或调试复合型法应用程序;3.用测试题对所编程序进行调试;4.撰写实验报告。三、黄金分割法实验1、实验原理在搜索区间[a,b]内适当插入两点X1和X2(X13、迭代下去,将使搜索区间逐步减小,直到满足预先给定的精度时,即可获得一维优化问题的近似最优解。2、流程图3、程序/*a[0]---初始区间下界限e---收敛精度tt---一维搜索初始步长*/#include#include#include#definee0.001#definett0.01floatfunction(floatx){floaty=8*pow(x,3)-2*pow(x,2)-7*x+3;/*求解的一维函数*/return(y);}voidfinding(floata[3],floatf[3]){floatt=4、tt,al,fl,ia;inti;a[0]=0;/*初始区间的下界值*/f[0]=function(a[0]);for(i=0;;i++){a[1]=a[0]+t;f[1]=function(a[1]);if(f[1]=e){t=-t;a[0]=a[1];f[0]=f[1];}else{if(ia=1)return;t=t/2;ia=1;}}for(i=0;;i++){a[2]=a[1]+t;f[2]=function(a[2]);if(f[2]>f[1])break;t=2*t;a[0]=a[1];f[0]=5、f[1];a[1]=a[2];f[1]=f[2];}if(a[0]>a[2]){al=a[0];fl=f[0];a[0]=a[2];f[0]=f[2];a[2]=al;f[2]=fl;}return;}floatgold(float*ff){floatal[3],fl[3],a[4],f[4];floataa;inti;finding(al,fl);a[0]=al[0];f[0]=fl[0];a[3]=al[2];f[3]=fl[2];a[1]=a[0]+0.382*(a[3]-a[0]);a[2]=a[0]+0.618*(a[3]-a[0]);f[1]=function6、(a[1]);f[2]=function(a[2]);for(i=0;;i++){if(f[1]>=f[2]){a[0]=a[1];f[0]=f[1];a[1]=a[2];f[1]=f[2];a[2]=a[0]+0.618*(a[3]-a[0]);f[2]=function(a[2]);}else{a[3]=a[2];f[3]=f[2];a[2]=a[1];f[2]=f[1];a[1]=a[0]+0.382*(a[3]-a[0]);f[1]=function(a[1]);}if((a[3]-a[0])7、);break;}}return(aa);}voidmain(){floatxx,ff;xx=gold(&ff);printf("Theoptimaldesignresultis:");printf("tx*=%ftf*=%f",xx,ff);getch();}4、解答1)将floaty=8*pow(x,3)-2*pow(x,2)-7*x+3;改为floaty=pow(x,2)-10*x+36;e由0.001改为0.00001。2)将floaty=8*pow(x,3)-2*pow(x,2)-7*x+3;改为
3、迭代下去,将使搜索区间逐步减小,直到满足预先给定的精度时,即可获得一维优化问题的近似最优解。2、流程图3、程序/*a[0]---初始区间下界限e---收敛精度tt---一维搜索初始步长*/#include#include#include#definee0.001#definett0.01floatfunction(floatx){floaty=8*pow(x,3)-2*pow(x,2)-7*x+3;/*求解的一维函数*/return(y);}voidfinding(floata[3],floatf[3]){floatt=
4、tt,al,fl,ia;inti;a[0]=0;/*初始区间的下界值*/f[0]=function(a[0]);for(i=0;;i++){a[1]=a[0]+t;f[1]=function(a[1]);if(f[1]=e){t=-t;a[0]=a[1];f[0]=f[1];}else{if(ia=1)return;t=t/2;ia=1;}}for(i=0;;i++){a[2]=a[1]+t;f[2]=function(a[2]);if(f[2]>f[1])break;t=2*t;a[0]=a[1];f[0]=
5、f[1];a[1]=a[2];f[1]=f[2];}if(a[0]>a[2]){al=a[0];fl=f[0];a[0]=a[2];f[0]=f[2];a[2]=al;f[2]=fl;}return;}floatgold(float*ff){floatal[3],fl[3],a[4],f[4];floataa;inti;finding(al,fl);a[0]=al[0];f[0]=fl[0];a[3]=al[2];f[3]=fl[2];a[1]=a[0]+0.382*(a[3]-a[0]);a[2]=a[0]+0.618*(a[3]-a[0]);f[1]=function
6、(a[1]);f[2]=function(a[2]);for(i=0;;i++){if(f[1]>=f[2]){a[0]=a[1];f[0]=f[1];a[1]=a[2];f[1]=f[2];a[2]=a[0]+0.618*(a[3]-a[0]);f[2]=function(a[2]);}else{a[3]=a[2];f[3]=f[2];a[2]=a[1];f[2]=f[1];a[1]=a[0]+0.382*(a[3]-a[0]);f[1]=function(a[1]);}if((a[3]-a[0])7、);break;}}return(aa);}voidmain(){floatxx,ff;xx=gold(&ff);printf("Theoptimaldesignresultis:");printf("tx*=%ftf*=%f",xx,ff);getch();}4、解答1)将floaty=8*pow(x,3)-2*pow(x,2)-7*x+3;改为floaty=pow(x,2)-10*x+36;e由0.001改为0.00001。2)将floaty=8*pow(x,3)-2*pow(x,2)-7*x+3;改为
7、);break;}}return(aa);}voidmain(){floatxx,ff;xx=gold(&ff);printf("Theoptimaldesignresultis:");printf("tx*=%ftf*=%f",xx,ff);getch();}4、解答1)将floaty=8*pow(x,3)-2*pow(x,2)-7*x+3;改为floaty=pow(x,2)-10*x+36;e由0.001改为0.00001。2)将floaty=8*pow(x,3)-2*pow(x,2)-7*x+3;改为
此文档下载收益归作者所有