




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鄭州大學(xué)機(jī)械優(yōu)化設(shè)計(jì)部分程序1 .外推法2 .黃金分割法3 .二次插值法4 .坐標(biāo)輪換法5 .隨機(jī)方向法6 .四桿機(jī)構(gòu)優(yōu)化設(shè)計(jì)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);運(yùn)行過(guò)程及結(jié)果: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);運(yùn)行過(guò)程及結(jié)果:
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;運(yùn)行過(guò)程及結(jié)果:a*=y*=4 .坐標(biāo)輪換法源程序:#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("輸入初始點(diǎn)坐標(biāo)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("最優(yōu)解為nx1*=%fnx2*=%fnf*=%fnk=%dn",xx1,xx2,fi,k);運(yùn)行過(guò)程及結(jié)果:輸入初始點(diǎn)坐標(biāo)89最
13、優(yōu)解為x2*=f*=k=25 .隨機(jī)方向法源程序:#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("輸出最優(yōu)解為nx1*=%f,x2*=%fy*=%fn",x0,x1,fx);運(yùn)行過(guò)程及結(jié)果:輸出最優(yōu)解為x1*=,x2*=,y*=6 .四桿機(jī)構(gòu)優(yōu)化設(shè)計(jì)源程序:#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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧港口自動(dòng)化裝卸設(shè)備智能搬運(yùn)機(jī)器人市場(chǎng)前景預(yù)測(cè)報(bào)告
- 2025年休閑食品健康化轉(zhuǎn)型與食品添加劑替代品研發(fā)報(bào)告
- 【高中語(yǔ)文】《為了忘卻的記念》課件+統(tǒng)編版高二語(yǔ)文選擇性必修中冊(cè)+
- 2025年汽車零部件再制造產(chǎn)業(yè)市場(chǎng)潛力與增長(zhǎng)動(dòng)力分析報(bào)告
- 2025年金融租賃公司業(yè)務(wù)創(chuàng)新案例分析及風(fēng)險(xiǎn)防范策略報(bào)告
- 融合創(chuàng)新視角下2025年廣播影視行業(yè)媒體融合的跨界營(yíng)銷策略分析報(bào)告
- 2025年化妝品零售行業(yè)自有品牌策略與競(jìng)爭(zhēng)優(yōu)勢(shì)研究報(bào)告
- 2025年在線教育平臺(tái)用戶滿意度提升策略與教育行業(yè)政策解讀報(bào)告
- 護(hù)理員培訓(xùn)工作管理制度
- 不合格醫(yī)用設(shè)備管理制度
- 礦山環(huán)境保護(hù)ppt課件(完整版)
- 浙江開放大學(xué)商法二、簡(jiǎn)答題答卷
- 昆明萬(wàn)科工程樣板點(diǎn)評(píng)及驗(yàn)收管理制度
- 機(jī)械設(shè)計(jì)課件:第4章 帶傳動(dòng)
- 實(shí)驗(yàn)2:基本數(shù)據(jù)類型、運(yùn)算符與表達(dá)式
- 增強(qiáng)教師職業(yè)認(rèn)同感、榮譽(yù)感、幸福感-課件
- QC∕T 900-1997 汽車整車產(chǎn)品質(zhì)量檢驗(yàn)評(píng)定方法
- Q∕GDW 12130-2021 敏感用戶接入電網(wǎng)電能質(zhì)量技術(shù)規(guī)范
- 年產(chǎn)10噸蝦青素生產(chǎn)項(xiàng)目可行性研究報(bào)告
- 幼兒園大班繪本:《沒(méi)有牙齒的大老虎》 PPT課件
- 小學(xué)科技社團(tuán)活動(dòng)電子版教(學(xué))案20篇
評(píng)論
0/150
提交評(píng)論