




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州大学机械优化设计部分程序1 .外推法2 .黄金分割法3 .二次插值法4 .坐标轮换法5 .随机方向法6 .四杆机构优化设计y2=y3;x2=x3;源程序:1.外推法源程序:#include<>#include<>#defineRdoublefun(doublex)doublem;m=x*x-10*x+36;returnm;voidmain()doubleh0=R,y1,y2,y3,x1,x2,x3,h;x1=0;h=h0;x2=h;y1=fun(x1);y2=fun(x2);if(y2>y1)h=-h;x3=x1;y3=y1;x1=x2;y1=y2;x3=x2
2、+h;y3=fun(x3);while(y3<y2)h*=;x1=x2;y1=y2;x2=x3;y2=y3;x3=x2+h;y3=fun(x3);n",x1,y1,x2,y2,x3,y3);运行过程及结果:fun=,fun=,fun=2.黄金分割法int n=0;#include<>#include<>#definef(x)x*x*x*x-5*x*x*x+4*x*x-6*x+60doublehj(double*a,double*b,doublee,int*n)doublex1,x2,s;if(fabs(*b-*a)/(*b)<=e)s=f(*b+*
3、a)/2);elsex1=*(*b-*a);x2=*a+*(*b-*a);if(f(x1)>f(x2)*a=x1;else*b=x2;*n=*n+1;s=hj(a,b,e,n);returns;voidmain()printf("输入a,b值和精度e值n");scanf("%lf%lf%lf",&a,&b,&e);s=hj(&a,&b,e,&n);m=(a+b)/2;printf("a=%lf,b=%lf,s=%lf,m=%lf,n=%dn",a,b,s,m,n);运行过程及结果:
4、输入a,b值和精度e值-35a=,b=,s=,m=,n=213 .二次插值法源程序:#include<>#include<>intmain(void)doublea1,a2,a3,ap,y1,y2,y3,yp,c1,c2,m;doublej3;inti,h=1;doubles,a,b,e,m;a3=ap;y3=yp;voidfinding(doublea3);finding(j);a1=j0;a2=j1;a3=j2;m=;doublef(doublex);y1=f(a1);y2=f(a2);y3=f(a3);for(i=1;1>=1;i+)c1=(y3-y1)/(
5、a3-a1);c2=(y2-y1)/(a2-a1)-c1)/(a2-a3);ap=*(a1+a3-c1/c2);yp=f(ap);if(fabs(y2-yp)/y2)<m)break;elseif(ap-a2)*h>0)if(y2>=yp)a1=a2;y1=y2;a2=ap;y2=yp;elseelseif(y2>=yp)a3=a2;y3=y2;a2=ap;y2=yp;elsea1=ap;y1=yp;doublex,y;if(y2<=yp)x=a2;y=y2;elsex=ap;y=yp;printf("a*=%fn",x);printf(&qu
6、ot;y*=%fn",y);return0;doublef(doublex)doubley;y=x*x-10*x+36;returny;voidfinding(doublea3)int h,i;a1=a2;y1=y2;doubley3;a0=0;h=1;a1=h;y0=f(a0);y1=f(a1);if(y1>y0)h=-h;a2=a0;y2=y0;doa0=a1;a1=a2;y0=y1;y1=y2;a2=a1+h;y2=f(a2);h=2*h;while(y2<y1);elsefor(i=1;i>=1;i+)a2=a1+h;y2=f(a2);if(y2>=y
7、1)break;h=2*h;a0=a1;y0=y1;return;运行过程及结果:a*=y*=4 .坐标轮换法源程序:#include<>#include<>#include<>floatfun1(floatx,floata,floatb)floaty;y=x+a*b;returny;floatfun2(floatx,floaty)floatz;z=4*(x-5)*(x-5)+(y-6)*(y-6);returnz;main()floatd1003,x1003,xx3,ax1003;floata1,a2,a3,h,t,y1,y2,y3,e,a,b,l,fi;
8、h=;inti,k;printf("输入初始点坐标n");scanf("%f%f",&x01,&x02);e=;l=;x21=x01;x22=x02;k=0;k-;dox01=x21;x02=x22;k+;for(i=1;i<=2;i+)if(i=1)di1=1;di2=0;elsedi1=0;di2=1;a1=0;a2=h;xi1=fun1(xi-11,di1,a1);xi2=fun1(xi-12,di2,a1);y1=fun2(xi1,xi2);xi1=fun1(xi-11,di1,a2);xi2=fun1(xi-12,di2,
9、a2);y2=fun2(xi1,xi2);if(y2>y1)h=-h;a3=a1;y3=y1;a1=a2;a2=a3;y1=y2;y2=y3;a3=a2+h;xi1=fun1(xi-11,di1,a3);xi2=fun1(xi-12,di2,a3);y3=fun2(xi1,xi2);doa1=a2;y1=y2;a2=a3;y2=y3;a3=a2+h;xi1=fun1(xi-11,di1,a3);xi2=fun1(xi-12,di2,a3);y3=fun2(xi1,xi2);while(y3<y2);for(;a1>a3;)t=a3;a3=a1;a1=t;t=y1;y3=y1;
10、y1=t;a=a1;b=a3;a1=b-l*(b-a);a2=a+l*(b-a);xi1=fun1(xi-11,di1,a1);xi2=fun1(xi-12,di2,a1);xi1=fun1(xi-11,di1,a2);xi2=fun1(xi-12,di2,a2);y2=fun2(xi1,xi2);if(b<1e-3)for(;fabs(b-a)>e;)if(y1>=y2)a=a1;a1=a2;y1=y2;a2=a+l*(b-a);xi1=fun1(xi-11,di1,a2);xi2=fun1(xi-12,di2,a2);y2=fun2(xi1,xi2);elseb=a2;a
11、2=a1;y2=y1;a1=b-l*(b-a);xi1=fun1(xi-11,di1,a1);xi2=fun1(xi-12,di2,a1);y1=fun2(xi1,xi2);y1=fun2(xi1,xi2);x1*=z=x+y-2;xi2=fun1(xi-12,di2,a1);elsefor(;fabs(b-a)/b)>=e|fabs(y2-y1)/y2)>=e;)if(y1>=y2)a=a1;a1=a2;y1=y2;a2=a+l*(b-a);xi1=fun1(xi-11,di1,a2);xi2=fun1(xi-12,di2,a2);y2=fun2(xi1,xi2);else
12、b=a2;a2=a1;y2=y1;a1=b-l*(b-a);xi1=fun1(xi-11,di1,a1);y1=fun2(xi1,xi2);axki=*(a+b);xi1=fun1(xi-11,di1,axki);xi2=fun1(xi-12,di2,axki);while(sqrt(pow(x21-x01),2)+pow(x22-x02),2)>=1e-6);xx1=x21;xx2=x22;fi=fun2(xx1,xx2);printf("最优解为nx1*=%fnx2*=%fnf*=%fnk=%dn",xx1,xx2,fi,k);运行过程及结果:输入初始点坐标89最
13、优解为x2*=f*=k=25 .随机方向法源程序:#include<>#include<>#include<>floatf(floatx,floaty)floatz;z=(x-2)*(x-2)+(y-1)*(y-1);returnz;floatg1(floatx,floaty)floatz;z=x*x-y;returnz;floatg2(floatx,floaty)floatz;returnz;voidmain()inti,j;floatk=8,c=,a0=-3,b0=3,a1=-3,b1=3;floatx10,x010,xl10,e10,r10,d10,h
14、,fl,f0,fx;while(g1(x00,x01)>0|g2(x00,x01)>0)x00=a0+(rand()/*(b0-a0);x01=a1+(rand()/*(b1-a1);fl=f(x00,x01);f0=f(x00,x01);while(1)h=;j=1;r0=-1+(rand()/*(1-(-1);r1=-1+(rand()/*(1-(-1);e0=r0/sqrt(r0*r0+r1*r1);x1=x01+h*e1;else break;e1=r1/sqrt(r0*r0+r1*r1);x0=x00+h*e0;x1=x01+h*e1;if(g1(x0,x1)<=0
15、&&g2(x0,x1)<=0)fx=f(x0,x1);if(fx<fl)fl=fx;for(i=0;i<2;i+)di=ei;xli=xi;while(j<=k)j+;r0=-1+(rand()/*(1-(-1);r1=-1+(rand()/*(1-(-1);e0=r0/sqrt(r0*r0+r1*r1);e1=r1/sqrt(r0*r0+r1*r1);x0=x00+h*e0;if(g1(x0,x1)<=0&&g2(x0,x1)<=0)fx=f(x0,x1);if(fx<fl)fl=fx;for(i=0;i<2;i
16、+)di=ei;xli=xi;x0=xl0;x1=xl1;while(1)h=*h;x0=x0+h*d0;x1=x1+h*d1;if(g1(x0,x1)>0|g2(x0,x1)>0)break;fx=f(x0,x1);if(fx<fl)fl=fx;dox0=x0-h*d0;x1=x1-h*d1;h=*h;if(h<c)break;x0=x0+h*d0;x1=x1+h*d1;if(g1(x0,x1)>0|g2(x0,x1)>0)continue;fx=f(x0,x1);while(fx>=fl);if(fabs(f0-fx)/f0)>=c)x00=
17、x0;x01=x1;fl=fx;f0=fx;elseprintf("输出最优解为nx1*=%f,x2*=%fy*=%fn",x0,x1,fx);运行过程及结果:输出最优解为x1*=,x2*=,y*=6 .四杆机构优化设计源程序:#include<>#include<>#include<>#definePaiintg(floatl1,floatl2)if(-l1<=0)&&(-l2<=0)&&(6-l1-l2<=0)&&(1-l2-4<=0)&&(l2-
18、l1-4<=0)&&(l1*l1+l2*l1*l2-16<=0)&&(36-l1*l1-l2*l1*l2<=0)return(1);break;elsereturn(0);floatfun(floatx02)floatf,a31,b31,r31,p31,q31,w31,x12;inti;p0=acos(1+x00)*(1+x00)-x01*x01+25)/(10+10*x00);q0=acos(1+x00)*(1+x00)-x01*x01-25)/(10*x01);f=0;for(i=1;i<=30;i+)pi=p0+(Pai/60)*i
19、;ri=sqrt(26-10*cos(pi);ai=acos(ri*ri+x01*x01-x00*x00)/(2*ri*x01);bi=acos(ri*ri+24)/(10*ri);qi=Pai-ai-bi;wi=q0+(2*(pi-p0)*(pi-p0)/(3*Pai)f=f+(Pai/60)*(qi-wi)*(qi-wi)*(pi-pi-1);returnf;voidmain()floata,q,f,fl,f0,l2,z2,d0100,d1100,x2,xi2,fx,m0,m1,e;inti,j,n,k;printf("输入精度");scanf("%f",&e);doz0=0+5*(rand()/;z1=0+5*(rand()/;while(g(z0,z1)=0);for(i=0;i<=99;i+)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆半导体cvd金刚石材料项目可行性研究报告(范文模板)
- 能量采集技术考核试卷
- 有色金属矿选矿生产成本控制与优化考核试卷
- 关于成立合成氨公司可行性研究报告(范文参考)
- 工艺美术品的创意包装设计考核试卷
- 通信行业质量管理标准考核试卷
- 艺人公关策略与危机应对考核试卷
- 安徽省合肥六校联考2023-2024学年高三上学期期中联考地理 含解析
- 黑龙江省哈尔滨市第九中学校2023-2024学年高二上学期10月月考数学含解析
- 全国性考试监考老师工作承诺书
- 施工现场建筑垃圾处置专项方案
- 小型企业通用暂支单
- 欢迎新同学幼儿园中小学开学第一课入学准备ppt
- (整理)柴油发电机的检修
- 2021年肇庆市端州区华佗医院医护人员招聘笔试试题及答案解析
- JJG 694-2009 原子吸收分光光度计-(高清现行)
- DB23∕T 482-1998 主要树种树高级立木材积表
- Q∕GDW 12130-2021 敏感用户接入电网电能质量技术规范
- 车间作业安全培训资料培训资料
- 教练技术一阶段讲义(共59页)
- 超声肺功能探测新技术
评论
0/150
提交评论