ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:149.96KB ,
资源ID:13515166      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13515166.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(现代设计黄金分割法复合形法实验报告.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

现代设计黄金分割法复合形法实验报告.docx

1、现代设计黄金分割法复合形法实验报告现代设计理论与方法实验报告一、实验目的机械优化设计是一门实践性较强的课程,学生通过实际上机计算可以达到以下目的: 1加深对机械优化设计方法的基本理论和算法步骤的理解;2培养学生独立编制或调试计算机程序的能力; 3掌握常用优化方法程序的使用方法;4培养学生灵活运用优化设计方法解决工程实际问题的能力。二、实验项目、学时分配及对每个实验项目的要求序号实验项目学时实 验 要 求1黄金分割法21明确黄金分割法基本原理、计算步骤及程序框图;2编制或调试黄金分割法应用程序;3用测试题对所编程序进行测试;4撰写实验报告。2复合形法41明确复合形法基本原理、计算步骤及程序框图等

2、;2编制或调试复合形法应用程序;3用测试题对所编程序进行测试;4撰写实验报告。三、测试题 1黄金分割法程序测试题1) ,取,程序如下:#include#include#include#define e 0.00001#define tt 0.01float function(float x) float y=pow(x,2)-10*x+36;/求解的一维函数 return(y);void finding(float a3,float f3) float t=tt,a1,f1,ia; int i; a0=0;/初始区间的下界值f0=function(a0);for(i=0;i+) a1=a0+t

3、;f1=function(a1); if(f1=e) t=-t;a0=a1;f0=f1; else if(ia=1) return; t=t/2;ia=1; for(i=0;i+) a2=a1+t;f2=function(a2); if(f2f1) break; t=2*t; a0=a1;f0=f1; a1=a2;f1=f2;if(a0a2) a1=a0;f1=f0; a0=a2;f0=f2; a2=a1;f2=f1;return;float gold(float *ff) float a13,f13,a4,f4; float aa; int i; finding(a1,f1); a0=a10

4、;f0=f10; a3=a12;f3=f12; a1=a0+0.382*(a3-a0); a2=a0+0.618*(a3-a0); f1=function(a1); f2=function(a2); for(i=0;i+) if(f1=f2) a0=a1;f0=f1; a1=a2;f1=f2; a2=a0+0.618*(a3-a0); f2=function(a2);else a3=a2;f3=f2; a2=a1;f2=f1; a1=a0+0.382*(a3-a0); f1=function(a1);if(a3-a0)e) aa=(a1+a2)/2;*ff=function(aa); brea

5、k;return(aa);void main() float xx, ff; xx=gold(&ff); printf(n The Optimal Design Result Is:n); printf(ntx*=%fntf*=%f, xx, ff); getch(); 运行结果:2) ,取,程序如下:#include#include#include#define e 0.00001#define tt 0.01float function(float x) float y=pow(x,4)-5*pow(x,3)+4*pow(x,2)-6*x+60;/求解的一维函数 return(y);voi

6、d finding(float a3,float f3) float t=tt,a1,f1,ia; int i; a0=0;/初始区间的下界值f0=function(a0);for(i=0;i+) a1=a0+t;f1=function(a1); if(f1=e) t=-t;a0=a1;f0=f1; else if(ia=1) return; t=t/2;ia=1; for(i=0;i+) a2=a1+t;f2=function(a2); if(f2f1) break; t=2*t; a0=a1;f0=f1; a1=a2;f1=f2;if(a0a2) a1=a0;f1=f0; a0=a2;f0

7、=f2; a2=a1;f2=f1;return;float gold(float *ff) float a13,f13,a4,f4; float aa; int i; finding(a1,f1); a0=a10;f0=f10; a3=a12;f3=f12; a1=a0+0.382*(a3-a0); a2=a0+0.618*(a3-a0); f1=function(a1); f2=function(a2); for(i=0;i+) if(f1=f2) a0=a1;f0=f1; a1=a2;f1=f2; a2=a0+0.618*(a3-a0); f2=function(a2);else a3=a

8、2;f3=f2; a2=a1;f2=f1; a1=a0+0.382*(a3-a0); f1=function(a1);if(a3-a0)e) aa=(a1+a2)/2;*ff=function(aa); break;return(aa);void main() float xx, ff; xx=gold(&ff); printf(n The Optimal Design Result Is:n); printf(ntx*=%fntf*=%f, xx, ff); getch(); 运行结果如下:3) ,其中,取,程序如下:#include#include#include#define e 0.0

9、0001#define tt 0.01float function(float x) float y=(x+1)*pow(x-2),2);/求解的一维函数 return(y);void finding(float a3,float f3) float t=tt,a1,f1,ia; int i; a0=0;/初始区间的下界值f0=function(a0);for(i=0;i+) a1=a0+t;f1=function(a1); if(f1=e) t=-t;a0=a1;f0=f1; else if(ia=1) return; t=t/2;ia=1; for(i=0;i+) a2=a1+t;f2=f

10、unction(a2); if(f2f1) break; t=2*t; a0=a1;f0=f1; a1=a2;f1=f2;if(a0a2) a1=a0;f1=f0; a0=a2;f0=f2; a2=a1;f2=f1;return;float gold(float *ff) float a13,f13,a4,f4; float aa; int i; finding(a1,f1); a0=a10;f0=f10; a3=a12;f3=f12; a1=a0+0.382*(a3-a0); a2=a0+0.618*(a3-a0); f1=function(a1); f2=function(a2); for

11、(i=0;i+) if(f1=f2) a0=a1;f0=f1; a1=a2;f1=f2; a2=a0+0.618*(a3-a0); f2=function(a2);else a3=a2;f3=f2; a2=a1;f2=f1; a1=a0+0.382*(a3-a0); f1=function(a1);if(a3-a0)=0)&(2-D0-D1)=0)return 1;elsereturn 0;void bou()a0=-5,b0=6;a1=-5,b1=8;double r()double r1,r2,r3,rr;r1=pow(2,35);r2=pow(2,36);r3=pow(2,37);rm=

12、5*rm;if(rm=r3)rm=rm-r3;if(rm=r2)rm=rm-r2;if(rm=r1)rm=rm-r1;rr=rm/r1;return rr;void produce(double An,double Bn)int jj;double S;s1: for(i=0;in;i+)S=r();XXi=Ai+S*(Bi-Ai);if(cons(XX)=0)goto s1;for(i=0;in;i+)X0i=XXi;for(j=1;jk;j+) for(i=0;in;i+) S=r();Xji=Ai+S*(Bi-Ai);for(j=1;jk;j+)for(i=0;in;i+)X0i=0;f

13、or(jj=1;jjj+1;jj+)X0i+=Xjji;X0i=(1/j)*(X0i);if(cons(X0)=0)goto s1;for(i=0;in;i+)XXi=Xji;while(cons(XX)=0)for(i=0;in;i+)Xji=X0i+0.5*(Xji-X0i);XXi=Xji;main()double EE,Xcn,Xhn,Xgn,Xln,Xrn,Xsn,w;int l,lp,lp1;bou();s111:produce(a,b);s222:for(j=0;jk;j+)for(i=0;in;i+)XXi=Xji;FFj=F(XX);for(l=0;lk-1;l+)for(l

14、p=0;lpk-1;lp+) lp1=lp+1;if(FFlpFFlp1)w=FFlp;FFlp=FFlp1;FFlp1=w;for(i=0;in;i+)XXi=Xlpi;Xlpi=Xlp1i;Xlp1i=XXi;for(i=0;in;i+)Xhi=X0i;Xgi=Xli;Xli=Xk-1i;for(i=0;in;i+)Xsi=0;for(j=0;jk;j+)Xsi+=Xji;Xsi=1/(k+0.0)*Xsi;EE=0;for(j=0;jk;j+)EE+=pow(FFj-F(Xs),2);EE=pow(1/(k+0.0)*EE),0.5);if(EE=E1) goto s333; for(i

15、=0;in;i+) Xci=0; for(j=1;jk;j+) Xci+=Xji; Xci=1/(k-1.0)*Xci; if(cons(Xc)=1) af=1.3; ss:for(i=0;i=F(Xh) if(af=ep) for(i=0;in;i+) Xhi=Xgi; af=1.3;goto ss; else af=1/2.0*af;goto ss; else for(i=0;in;i+) X0i=Xri; goto s222; else af=1/2.0*af;goto ss; else for(i=0;in;i+) if(XliXci) ai=Xli;bi=Xci; else ai=X

16、ci;bi=Xli; goto s111; s333:printf(F(Xmin)=%fn,F(Xl); for(i=0;i=-10)&(D1=-10)&(D2=-10)&(D3=-10)&(D0=10)&(D1=10)&(D2=10)&(D3=r3)rm=rm-r3;if(rm=r2)rm=rm-r2;if(rm=r1)rm=rm-r1;rr=rm/r1;return rr;void produce(double An,double Bn)int jj;double S;s1: for(i=0;in;i+)S=r();XXi=Ai+S*(Bi-Ai);if(cons(XX)=0)goto s

17、1;for(i=0;in;i+)X0i=XXi;for(j=1;jk;j+) for(i=0;in;i+) S=r();Xji=Ai+S*(Bi-Ai);for(j=1;jk;j+)for(i=0;in;i+)X0i=0;for(jj=1;jjj+1;jj+)X0i+=Xjji;X0i=(1/j)*(X0i);if(cons(X0)=0)goto s1;for(i=0;in;i+)XXi=Xji;while(cons(XX)=0)for(i=0;in;i+)Xji=X0i+0.5*(Xji-X0i);XXi=Xji;main()double EE,Xcn,Xhn,Xgn,Xln,Xrn,Xsn

18、,w;int l,lp,lp1;bou();s111:produce(a,b);s222:for(j=0;jk;j+)for(i=0;in;i+)XXi=Xji;FFj=F(XX);for(l=0;lk-1;l+)for(lp=0;lpk-1;lp+) lp1=lp+1;if(FFlpFFlp1)w=FFlp;FFlp=FFlp1;FFlp1=w;for(i=0;in;i+)XXi=Xlpi;Xlpi=Xlp1i;Xlp1i=XXi;for(i=0;in;i+)Xhi=X0i;Xgi=Xli;Xli=Xk-1i;for(i=0;in;i+)Xsi=0;for(j=0;jk;j+)Xsi+=Xji;Xsi=1/(k+0.0)*Xsi;EE=0;for(j=0;jk;j+)EE+=pow(FFj-F(Xs),2);EE=pow(1/(k+0.0)*EE),0.5);if(EE=E1) goto s333; for(i=0;in;i+) Xci=0; for(j=1;jk;j+) Xci+=Xji; Xci=1/(k-1.0)*Xci; if(cons(Xc)=1) af=1.3; ss:for(i=0;i=F(Xh) if(af=ep) for

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2