




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高等流體力學(xué)班 級(jí): 機(jī)設(shè)15學(xué)碩班 學(xué) 號(hào): 2015200813 姓 名: 張湘楠 授課老師: 畢新勝 日 期: 2016年7月 1日 一、研究報(bào)告內(nèi)容:1、0.618的證明、一維搜索程序作業(yè);2、單位矩陣程序作業(yè);3、連桿機(jī)構(gòu)問(wèn)題 自行選擇小型機(jī)械設(shè)計(jì)問(wèn)題或其他工程優(yōu)化問(wèn)題;(1)分析優(yōu)化對(duì)象,根據(jù)設(shè)計(jì)問(wèn)題的要求,選擇設(shè)計(jì)變量,確立約束條件,建立目標(biāo)函數(shù),建立優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型并編制問(wèn)題程序;(2)選擇適當(dāng)?shù)膬?yōu)化方法,簡(jiǎn)述方法原理,進(jìn)行優(yōu)化計(jì)算;(3)進(jìn)行結(jié)果分析,并加以說(shuō)明。4、寫(xiě)出課程實(shí)踐心得體會(huì),附列程序文本。5、為響應(yīng)學(xué)校2014年度教學(xué)工作會(huì)議的改革要求,探索新的課程考核評(píng)價(jià)方
2、法,特探索性設(shè)立一開(kāi)放式考核項(xiàng)目,占總成績(jī)的5%。 試用您自己認(rèn)為合適的方式(書(shū)面)表達(dá)您在本門(mén)課程學(xué)習(xí)方面的努力、進(jìn)步與收獲。(考評(píng)將重點(diǎn)關(guān)注您的獨(dú)創(chuàng)性、簡(jiǎn)潔性與可驗(yàn)證性)。二、研究報(bào)告要求1、報(bào)告命名規(guī)則:學(xué)號(hào)姓名機(jī)械優(yōu)化設(shè)計(jì)課程實(shí)踐報(bào)告.doc2、報(bào)告提交郵址:(收到回復(fù),可視為提交成功)。追 求:?jiǎn)栴}的工程性,格式的完美性,報(bào)告的完整性。不 追 求:?jiǎn)栴}的復(fù)雜性,方法的惟一性。評(píng)判準(zhǔn)則:獨(dú)一是好,先交為好;切勿拷貝。目錄:0.618的證明、一維搜索程序作業(yè) 關(guān)于的證明4 一維搜索的作業(yè) 采用matlab進(jìn)行編程 5 采用C語(yǔ)言進(jìn)行編程 7單位矩陣程
3、序作業(yè) 采用matlab的編程 9 采用c語(yǔ)言進(jìn)行編程 9機(jī)械優(yōu)化工程實(shí)例 連桿機(jī)構(gòu)11 自選機(jī)構(gòu)16課程實(shí)踐心得 20附列程序文本 21進(jìn)步,努力,建議25一、0.618的證明、一維搜索程序作業(yè)關(guān)于的證明黃金分割法要求插入點(diǎn),的位置相對(duì)于區(qū)間兩端具有對(duì)稱(chēng)性,即其中為待定常數(shù)。此外,黃金分割法還要求在保留下來(lái)的區(qū)間內(nèi)再插入一點(diǎn)所形成的區(qū)間新三段,與原來(lái)的區(qū)間三段具有相同的比例分布。黃金分割法還要求在保留下來(lái)的區(qū)間內(nèi)再插一點(diǎn)所形成的區(qū)間新三段,與原來(lái)的區(qū)間三段有相同的比例分布。b1211-圖一設(shè)原區(qū)間的長(zhǎng)度為1,如圖一所示,保留下來(lái)的區(qū)間長(zhǎng)度為,區(qū)間縮短率為。為了保持相同的分別比例。插入新點(diǎn)應(yīng)在
4、位置上,在原區(qū)間的1位置應(yīng)相當(dāng)于在保留區(qū)間的位置。故有: a2231(1-)2圖二解得編寫(xiě)0.618的程序,并計(jì)算下列問(wèn)題程序框圖(1)采用MATLAB進(jìn)行編程%fun.m:黃金分割法求極值點(diǎn)%輸入數(shù)據(jù)% a 搜索區(qū)間下限% b 搜索區(qū)間上限% e 精度%輸出數(shù)據(jù):% x 極小值點(diǎn)%其他常量:% c1,c2,c3 區(qū)間% r 黃金分割比例0.618%定義函數(shù)function x=fun(a,b,e) r=0.618; c1=b-r*(b-a);c2=a+r*(b-a); y1=f(c1);y2=f(c2); while (abs(b-a)/b)e)&(abs(y2-y1)/y2)e) if y
5、1=y2 a=c1;c1=c2;y1=y2; c2=a+r*(b-a);y2=f(c2); else b=c2;c2=c1;y2=y1; c1=b-r*(b-a);y1=f(c1); end end x=0.5*(a+b);end 對(duì)f函數(shù)的確立10 function y=f(x) y=(x-2)2+3;end11 function y=f(x) y=cosxend如果要計(jì)算y=(x-2)2+3;的黃金分割法,則需要將圖所示的f腳本中的函數(shù)寫(xiě)成如所示如果要計(jì)算y=cosx;黃金分割法,則需要將圖所示的f腳本中的函數(shù)寫(xiě)成如所示fun函數(shù)表示對(duì)matlab的主程序語(yǔ)言。函數(shù)NO.2運(yùn)算結(jié)果:函數(shù)N
6、O.1運(yùn)算結(jié)果:(2)采用C語(yǔ)言進(jìn)行編程#include #define K 0.618double f(double); /*函數(shù)值計(jì)算函數(shù)聲明*/void main(void)double a,b,size;double a1,a2;int I;printf(“請(qǐng)輸入?yún)^(qū)間兩端點(diǎn)(端點(diǎn)值應(yīng)大于0):”);scanf(“%lf,%lf”,&a,&b); /*輸入端點(diǎn)值*/printf(“請(qǐng)輸入精度:”);scanf(“%lf”,&size); /*輸入精度*/printf(“區(qū)間為(%lf,%lf),精度為%lfn”,a,b,size);printf(“序號(hào)t a1tt a2tt f(a1)t
7、t f(a2)n”);for(i=0;isize) /*用精度控制循環(huán)次數(shù)*/i+; a1=b-K*(b-a); /*按0.618法插入兩點(diǎn)*/ a2=a+K*(b-a); printf(“%2d:t%fta%ft%ft%fn”,I,a1,a2,f(a1),f(a2); /*輸出每次計(jì)算后a1,a2,f(a1),f(a2)的值*/if(f(a1)=f(a2)a=a1;elseb=a2;printf(“所求極小值點(diǎn)為:x=%lft極小值f(x)=%fn”,a,f(b);double f(double x) /*函數(shù)值計(jì)算函數(shù)*/double f;f=(x-2)*(x-2)+3;return(f)
8、;對(duì)于y=cosx,須在程序中加一個(gè)#include(math.h)頭程序,以示我要調(diào)用函數(shù)語(yǔ)句。再將倒數(shù)第三行函數(shù)改為y=cos(x),再次編譯運(yùn)算即可。運(yùn)行如圖所示我們可以看出,大約在x=2處取到極值。與理論相符。運(yùn)行如圖所示我們可以看出,大約在處取到極值。與理論相符。二、用簡(jiǎn)單的語(yǔ)句寫(xiě)一個(gè)單位矩陣采用matlab構(gòu)造:Matlab構(gòu)造的矩陣最是簡(jiǎn)便,因?yàn)楸旧砭陀幸粋€(gè)單位矩陣的函數(shù)。由于matlab是基于C語(yǔ)言而設(shè)立的一個(gè)數(shù)學(xué)運(yùn)用軟件,所以他的集成度非常高,而且具有很好的開(kāi)放性,于是我們得知eye函數(shù),將其構(gòu)造。Eg:若要構(gòu)造一個(gè)3維的單位矩陣,則輸入eye(3)若要構(gòu)造一個(gè)n為的單位矩陣
9、,這輸入eye(n)用C語(yǔ)言構(gòu)造程序如圖所示:#include int main() int I,j,n; while(scanf(“%d”,&n) = 1) for(I = 0; I n; +i) for(j = 0; j n; +j) printf(“%d “,I = j); printf(“n”); return 0;三、機(jī)械優(yōu)化設(shè)計(jì)工程實(shí)例 連桿機(jī)構(gòu)問(wèn)題(1)連桿機(jī)構(gòu)問(wèn)題描述圖 1 機(jī)構(gòu)簡(jiǎn)圖設(shè)計(jì)一曲柄連桿搖桿機(jī)構(gòu),要求曲柄從時(shí),搖桿的轉(zhuǎn)角最佳再現(xiàn)已知的運(yùn)動(dòng)規(guī)律:且=1,=5,為極位角,其傳動(dòng)角允許在范圍內(nèi)變化。(2)數(shù)學(xué)模型的建立設(shè)計(jì)變量:這里有兩個(gè)獨(dú)立參數(shù)和。因此設(shè)計(jì)變量為目標(biāo)函數(shù):
10、將輸入角分成30等分,并用近似公式計(jì)算,可得目標(biāo)函數(shù)的表達(dá)式約束條件:GX(1)=-X(1)0GX(2)=-X(2) 0GX(3)=-(X(1)+X(2)+6.00GX(4)=-(X(2)+4.0)+X(1) 0GX(5)=-(4.0+X(1)+X(2) 0GX(6)=-(1.4142*X(1)*X(2)-X(1)*2-X(2)*2)-16.00GX(7)=-(X(1)*2+X(2)*2+1.4142*X(1)*X(2)+36.00(3)程序編制C=SUBROUTINE FFX(N,X,FX)C=DIMENSION X(N)COMMON /ONE/I1,I2,I3,I4,NFX,I6NFX=N
11、FX+1P0=ACOS(1.0+X(1)*2-X(2)*2+25.0)/(10.0*(1.0+X(1)Q0=ACOS(1.0+X(1)*2-X(2)*2-25.0)/(10.0*X(2)T=90.0*3.1415926/(180.0*30.0)FX=0.0DO 10 K=0,30 PI=P0+K*TQE=Q0+2.0*(PI-P0)*2/(3.0*3.1415926)D=SQRT(26.0-10.0*COS(PI)AL=ACOS(D*D+X(2)*X(2)-X(1)*X(1)/(2.0*D*X(2)BT=ACOS(D*D+24.0)/(10.0*D) IF(PI.GE.0.0 .AND. PI
12、.LT.3.1415926) THEN QI=3.1415926-AL-BT ELSE QI=3.1415926-AL+BT END IF IF(K.NE.0 .OR. K.NE.30)THEN FX=FX+(QI-QE)*2*T ELSE FX=FX+(QI-QE)*2*T/2.0 END IF12 CONTINUERETURNENDC=SUBROUTINE GGX(N,KG,X,GX)C=DIMENSION X(N),GX(KG)GX(1)=-X(1)GX(2)=-X(2)GX(3)=-(X(1)+X(2)+6.0GX(4)=-(X(2)+4.0)+X(1)GX(5)=-(4.0+X(1)
13、+X(2)GX(6)=-(1.4142*X(1)*X(2)-X(1)*2-X(2)*2)-16.0GX(7)=-(X(1)*2+X(2)*2+1.4142*X(1)*X(2)+36.0RETURNENDC=SUBROUTINE HHX(N,KH,X,HX)C=DIMENSION X(N),HX(KH)X(1)=X(1)RETURNEND輸入數(shù)據(jù)如下:2,7,04.3,3.22.,0.2,0.01,0.00001,0.000010,1,03.5,2.8,5.5,4.5(4) 可執(zhí)行程序的生成13 將程序文本保存成文件t001.txt,存放在OPT_EXAMFORTRAN0-fortran目錄下。
14、14 使用DOS操作界面,OPT_EXAMFORTRAN0-fortran目錄下,輸入命令 asumt.for+t001.txt t001.for 回車(chē)。生成t001.for文件。15 for1 t001; 回車(chē);for2 回車(chē);link t001; 回車(chē),即生成可執(zhí)行程序t001.exe。從t001.dat文件中加載數(shù)據(jù),運(yùn)行t001.exe。t001t001.rtf 回車(chē)得到結(jié)果。操作過(guò)程如圖:操作步驟(5)結(jié)果與分析 結(jié)果顯示如下:= PRIMARY DATA = N= 2 KG= 7 KH= 0 X : .4300000E+01 .3200000E+01 FX: .7847605E-0
15、2 GX: -.4300000E+01 -.3200000E+01 -.1500000E+01 -.2900000E+01 -.5100000E+01 -.6729390E+01 -.1218939E+02 X : .4300000E+01 .3200000E+01 FX: .7847605E-02 GX: -.4300000E+01 -.3200000E+01 -.1500000E+01 -.2900000E+01 -.5100000E+01 -.6729390E+01 -.1218939E+02 HX: PEN = .3974390E+01 R = .2000000E+01 C = .20
16、00000E+00 T0= .1000000E-01 EPS1= .1000000E-04 EPS2= .1000000E-04= ITERATION COMPUTE =* IRC = 1 R = .2000000E+01 PEN= .3974390E+01* IRC = 2 R = .4000000E+00 PEN= .3119361E+01* IRC = 3 R = .8000001E-01 PEN= .6407908E+00* IRC = 4 R = .1600000E-01 PEN= .1439420E+00* IRC = 5 R = .3200000E-02 PEN= .373345
17、1E-01* IRC = 6 R = .6400000E-03 PEN= .8986510E-02* IRC = 7 R = .1280000E-03 PEN= .2346609E-02* IRC = 8 R = .2560000E-04 PEN= .9042178E-03* IRC = 9 R = .5120001E-05 PEN= .5396702E-03* IRC =10 R = .1024000E-05 PEN= .4410887E-03* IRC =11 R = .2048000E-06 PEN= .4128061E-03* IRC =12 R = .4096001E-07 PEN=
18、 .4071001E-03* IRC =13 R = .8192003E-08 PEN= .4014154E-03* IRC =14 R = .1638401E-08 PEN= .3992769E-03* IRC =15 R = .3276801E-09 PEN= .3987240E-03* IRC =16 R = .6553602E-10 PEN= .3984505E-03* IRC =17 R = .1310720E-10 PEN= .3983411E-03* IRC =18 R = .2621441E-11 PEN= .3982889E-03= OPTIMUM SOLUTION = IR
19、C= 18 ITE= 35 ILI= 94 NPE= 447 NFX= 482 NGR= 0 R= .2621441E-11 PEN= .3982696E-03 X : .4135127E+01 .2315381E+01 FX: .3982623E-03 GX: -.4135127E+01 -.2315381E+01 -.4505072E+00 -.2180254E+01 -.5819746E+01 -.7079845E+01 -.3633157E-03 HX: Stop - Program terminated.從結(jié)果中得知當(dāng)X1=4.135127,X2=2.315381時(shí),目標(biāo)函數(shù)取得最小
20、值, 搖桿的轉(zhuǎn)角最佳再現(xiàn)已知的運(yùn)動(dòng)規(guī)律:。 自選結(jié)構(gòu)模型設(shè)計(jì)某帶式輸送機(jī)減速器的高速級(jí)齒輪傳動(dòng)。已知高速級(jí)輸入功率P1 = 10kW,小齒輪轉(zhuǎn)速n1 =960 r /min,傳動(dòng)比i = 3. 2。齒輪材料和熱處理:大齒輪45號(hào)鋼(調(diào)質(zhì))硬度為217255HBS,小齒輪40Cr(調(diào)質(zhì))硬度為241286HBS,工作壽命15 年,假設(shè)每年工作300天,兩班制,帶式輸送機(jī)工作平穩(wěn),轉(zhuǎn)向不變。常規(guī)設(shè)計(jì)方案采用直齒圓柱齒輪: m=2.5, z1=30, d=1。解:(1)設(shè)計(jì)變量,單級(jí)直齒圓柱齒輪傳動(dòng)的中心距 : f1X=121+mz1齒寬:f2x=mz1d將m, z1, d作為設(shè)計(jì)變量,即: X=m
21、,z1,dT=x1,x2,x3T2 )目標(biāo)函數(shù)根據(jù)多目標(biāo)優(yōu)化的線性加權(quán)法建立體積最小的目標(biāo)函數(shù): f ( x) =1f1 ( x) +2f2 ( x)=11+x1x22 +2x1x2x3其中:1 ,2 是加權(quán)系數(shù),且1 +2 = 1,分別根據(jù)設(shè)計(jì)時(shí)徑向和軸向安裝位置的要求設(shè)定;取1 = 1表示要求中心距最小,取2 = 1則表示要求齒寬最小。3 )約束條件模數(shù)的限制:對(duì)于傳遞動(dòng)力的齒輪,通常要求模數(shù)不少于1. 5-2,得約束條件: G1x=2-x10 G2x=x1-1.50(2)小齒輪齒數(shù)的限制:小齒輪齒數(shù)z1應(yīng)不大于產(chǎn)生根切的最小齒數(shù)17 ,得約束條件: G3x=17-x20(3)齒寬系數(shù)的限
22、制:由于dmin d dmax ,約束條件為: G4x=x3-1.150 G5x=0.7-x30(4)齒面接觸強(qiáng)度的限制,根據(jù)公式并查表得約束條件: G6x=1.04107-2.916105x13x23x330 G7x=1.04107-8.95106x13x23x330(5)齒根彎曲強(qiáng)度的限制,根據(jù)公式查表得約束條件: G8x=1.51106-303.57x13x23x330 G9x=1.42106-2445.92x13x23x3304 建立數(shù)學(xué)優(yōu)化模型高速級(jí)齒輪傳動(dòng)多目標(biāo)優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型為:(1 取0.6,2取0.4)Fun(x)=min1 1+3.2x1x22 +2 x1x2x3X=m,
23、z1,dT=x1,x2,x3TG1x=2-x10G2x=x1-1.50G3x=17-x20G4x=x3-1.150G5x=0.7-x30G6x=1.04107-2.916105x13x23x330G7x=1.04107-8.95106x13x23x330G8x=1.51106-303.57x13x23x330G9x=1.42106-2445.92x13x23x3305編寫(xiě)程序并運(yùn)行結(jié)果目標(biāo)函數(shù)M文件:function f=zhwm(x)f=0.6*2.1*x(1)*x(2)+0.4*x(1)*x(2)*x(3);約束函數(shù)M文件:function c ceq=zhwy(x)c(1)=1.04*1
24、07-2.916*105*(x(1)*x(2)3*x(3);c(2)=1.04*107-8.95*106*(x(1)*x(2)3*x(3);c(3)=1.51*106-303.57*x(1)3*x(2)2*x(3);c(4)=1.42*106-2445.92*x(1)3*x(2)2*x(3);ceq=;優(yōu)化函數(shù)M文件:x0=2 32 1;lb=1.5 17 0.7;ub=2 inf 1.15;u=;x,fval=fmincon(zhwm,x0,lb,ub,zhwy)約束函數(shù)目標(biāo)函數(shù)經(jīng)過(guò)Matlab優(yōu)化并圓整后的齒輪參數(shù)如下:設(shè)計(jì)參數(shù)模數(shù)m/mm齒數(shù)z1齒寬系數(shù)d中心距/mm普通設(shè)計(jì)2.5301
25、157.5MATLAB優(yōu)化1.791127.43771.149984.5254圓整后參數(shù)1.75301117.6經(jīng)過(guò)計(jì)算,最小體積為87.15。四、課程學(xué)習(xí)心得從懶懶散散的寒假到匆匆忙忙的考試周,仿佛只是在彈指一揮間。然而我們就在這段時(shí)間內(nèi),又學(xué)了幾門(mén)課程,而這些課程中,最有趣,最好玩的當(dāng)然就是機(jī)械優(yōu)化設(shè)計(jì)了機(jī)械優(yōu)化設(shè)計(jì)是一門(mén)理論性非常強(qiáng)的一門(mén)課,剛開(kāi)始的時(shí)候不得要領(lǐng),但是在王衛(wèi)榮老師的帶領(lǐng)下,逐漸登堂入室,漸漸有所了解。首先,這門(mén)課所依托的最強(qiáng)武器便是數(shù)學(xué)。數(shù)學(xué)即是方法,思維,和邏輯。其次所依托的便是算法程序語(yǔ)言。歸根結(jié)底的還是數(shù)學(xué),因?yàn)閿?shù)學(xué)賦予了算法以邏輯的力量,分析的過(guò)程,以及所能解決的
26、一切問(wèn)題。還好我的數(shù)學(xué)基礎(chǔ)還算可以,邏輯思維還算通順,再加上老師所給予的方法,學(xué)習(xí)這門(mén)課程,一路上雖跌跌撞撞,但也有所收獲。所謂收獲,從方法論的角度上講,即時(shí)通過(guò)一個(gè)通用模型,解決一系列的問(wèn)題,這是數(shù)學(xué)建模給我們的要求嗎,同時(shí)也是優(yōu)化這門(mén)課所賦予的核心思想。大二的時(shí)候,特別想搞建模,可是由于種種原因,其中最重要的原因就是懶惰,與之失之交臂。優(yōu)化這門(mén)課則彌補(bǔ)了我的部分遺憾。因?yàn)闆](méi)有建模的要求高,于是上手比較容易,同時(shí)又與我們自己的機(jī)械方面的課程緊密地結(jié)合在一起,過(guò)程輕車(chē)熟路。于是優(yōu)化真是一門(mén)寓學(xué)于樂(lè)的科目,只恨課程太多時(shí)間太少,不然真要好好地研究一番。說(shuō)道大作業(yè),那可是真的難,第一問(wèn)和第二問(wèn)還好
27、一點(diǎn),第三問(wèn)就不行了。說(shuō)來(lái)慚愧,連桿機(jī)構(gòu)問(wèn)題是借鑒了上屆學(xué)長(zhǎng)的做法才學(xué)會(huì)的。因?yàn)樘y了,所以就沒(méi)有用fortran語(yǔ)言做這些問(wèn)題,全部換成了matlab。真要感謝優(yōu)化設(shè)計(jì)這門(mén)課程,如果不是這門(mén)課程的話,即使MATLAB已經(jīng)學(xué)過(guò)了,我估計(jì)也不會(huì)回過(guò)頭來(lái)復(fù)習(xí),是優(yōu)化設(shè)計(jì)讓我重新拾起matlab,并且我可以說(shuō),凡是在優(yōu)化大作業(yè)中使用過(guò)的算法,程序,我已經(jīng)忘不掉了。因?yàn)閒ortran語(yǔ)言是一種相對(duì)陌生的語(yǔ)言,所以使用fortran變成的話有些力不從心,而我又是一個(gè)刨根究底的人,對(duì)于0.618的算法和單位矩陣的生成,我都是用的兩種算法,這樣保證思維的發(fā)散性。Matlab真的是一款很強(qiáng)大的軟體,他講機(jī)會(huì)用
28、到的所有常見(jiàn)數(shù)學(xué)模型全部都涵括了,所以,我們,親切地稱(chēng)它為,萬(wàn)能數(shù)學(xué)工具。當(dāng)學(xué)習(xí)變成一種樂(lè)趣的時(shí)候,每當(dāng)我們想做這種游戲的時(shí)候,時(shí)間,精力,甚至思路,仿佛全部有了,這就是積極所帶來(lái)的意義。學(xué)習(xí)優(yōu)化設(shè)計(jì),傳達(dá)出這樣的信號(hào):重要的不是考試的結(jié)果,而是解決問(wèn)題的過(guò)程。所以,我覺(jué)得優(yōu)化設(shè)計(jì)這門(mén)課的評(píng)價(jià)方式,在我進(jìn)入大學(xué)以來(lái),是第一次遇到,大作業(yè),小作業(yè)的比值,竟然超過(guò)了考試成績(jī)的比值。換句話說(shuō),老師認(rèn)為,即使考試能考的很好,但是大作業(yè),小作業(yè)不行,說(shuō)明這只是一個(gè)會(huì)考試的工具,對(duì)于解決實(shí)際問(wèn)題的能力還是有所欠缺。對(duì)!這樣的評(píng)價(jià)很接地氣。優(yōu)化設(shè)計(jì)這門(mén)課已經(jīng)結(jié)課了,考試已經(jīng)結(jié)束了。把大作業(yè)交上去,仿佛這門(mén)課
29、與我們就沒(méi)有什么瓜葛了一樣。不,絕對(duì)不是。解決問(wèn)題的能力才剛剛開(kāi)始。五、附列程序文本黃金分割法求極值點(diǎn)的matlab程序%fun.m:黃金分割法求極值點(diǎn)%輸入數(shù)據(jù)% a 搜索區(qū)間下限% b 搜索區(qū)間上限% e 精度%輸出數(shù)據(jù):% x 極小值點(diǎn)%其他常量:% c1,c2,c3 區(qū)間% r 黃金分割比例0.618%定義函數(shù)function x=fun(a,b,e) r=0.618; c1=b-r*(b-a);c2=a+r*(b-a); y1=f(c1);y2=f(c2); while (abs(b-a)/b)e)&(abs(y2-y1)/y2)e) if y1=y2 a=c1;c1=c2;y1=y
30、2; c2=a+r*(b-a);y2=f(c2); else b=c2;c2=c1;y2=y1; c1=b-r*(b-a);y1=f(c1); end end x=0.5*(a+b);end 對(duì)f函數(shù)的確立function y=f(x) y=(x-2)2+3;endfunction y=f(x) y=cosxend黃金分割法求極值點(diǎn)的C語(yǔ)言程序#include #define K 0.618double f(double); /*函數(shù)值計(jì)算函數(shù)聲明*/void main(void)double a,b,size;double a1,a2;int i;printf(請(qǐng)輸入?yún)^(qū)間兩端點(diǎn)(端點(diǎn)值應(yīng)大于
31、0):);scanf(%lf,%lf,&a,&b); /*輸入端點(diǎn)值*/printf(請(qǐng)輸入精度:);scanf(%lf,&size); /*輸入精度*/printf(區(qū)間為(%lf,%lf),精度為%lfn,a,b,size);printf(序號(hào)t a1tt a2tt f(a1)tt f(a2)n);for(i=0;isize) /*用精度控制循環(huán)次數(shù)*/i+; a1=b-K*(b-a); /*按0.618法插入兩點(diǎn)*/ a2=a+K*(b-a); printf(%2d:t%fta%ft%ft%fn,i,a1,a2,f(a1),f(a2); /*輸出每次計(jì)算后a1,a2,f(a1),f(a2
32、)的值*/if(f(a1)=f(a2)a=a1;elseb=a2;printf(所求極小值點(diǎn)為:x=%lft極小值f(x)=%fn,a,f(b);double f(double x) /*函數(shù)值計(jì)算函數(shù)*/double f;f=(x-2)*(x-2)+3;return(f);對(duì)于y=cosx,須在程序中加一個(gè)#include(math.h)頭程序,以示我要調(diào)用函數(shù)語(yǔ)句。再將倒數(shù)第三行函數(shù)改為y=cos(x),再次編譯運(yùn)算即可。單位矩陣的matlab程序eye(x)單位矩陣的C語(yǔ)言程序#include int main() int I,j,n; while(scanf(“%d”,&n) = 1)
33、 for(I = 0; I n; +i) for(j = 0; j n; +j) printf(“%d “,I = j); printf(“n”); return 0;連桿機(jī)構(gòu)的fortran語(yǔ)言C=SUBROUTINE FFX(N,X,FX)C=DIMENSION X(N)COMMON /ONE/I1,I2,I3,I4,NFX,I6NFX=NFX+1P0=ACOS(1.0+X(1)*2-X(2)*2+25.0)/(10.0*(1.0+X(1)Q0=ACOS(1.0+X(1)*2-X(2)*2-25.0)/(10.0*X(2)T=90.0*3.1415926/(180.0*30.0)FX=0.
34、0DO 10 K=0,30 PI=P0+K*TQE=Q0+2.0*(PI-P0)*2/(3.0*3.1415926)D=SQRT(26.0-10.0*COS(PI)AL=ACOS(D*D+X(2)*X(2)-X(1)*X(1)/(2.0*D*X(2)BT=ACOS(D*D+24.0)/(10.0*D) IF(PI.GE.0.0 .AND. PI.LT.3.1415926) THEN QI=3.1415926-AL-BT ELSE QI=3.1415926-AL+BT END IF IF(K.NE.0 .OR. K.NE.30)THEN FX=FX+(QI-QE)*2*T ELSE FX=FX+
35、(QI-QE)*2*T/2.0 END IF10 CONTINUERETURNENDC=SUBROUTINE GGX(N,KG,X,GX)C=DIMENSION X(N),GX(KG)GX(1)=-X(1)GX(2)=-X(2)GX(3)=-(X(1)+X(2)+6.0GX(4)=-(X(2)+4.0)+X(1)GX(5)=-(4.0+X(1)+X(2)GX(6)=-(1.4142*X(1)*X(2)-X(1)*2-X(2)*2)-16.0GX(7)=-(X(1)*2+X(2)*2+1.4142*X(1)*X(2)+36.0RETURNENDC=SUBROUTINE HHX(N,KH,X,HX)C=DIMENSION X
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 乙方提供合同范本
- 勞務(wù)派遣不給合同范本
- 養(yǎng)殖餌料合同范本
- 團(tuán)購(gòu)合同范本
- 臨工勞動(dòng)合同范本
- 人才公寓采購(gòu)合同范本
- 沙場(chǎng)租賃合同范本
- 健身房轉(zhuǎn)讓合同范本
- 供電維修合同范本
- 合伙人底薪合同范本
- 2024年黑龍江省牡丹江市中考?xì)v史試卷
- 2024員工質(zhì)量意識(shí)培訓(xùn)
- 高速公路日常清掃與養(yǎng)護(hù)方案
- 風(fēng)電epc合同模板
- 2024年新人教版一年級(jí)數(shù)學(xué)下冊(cè)《第2單元第5課時(shí) 20以?xún)?nèi)的退位減法解決問(wèn)題(1)》教學(xué)課件
- 2022年陜西省普通高校職業(yè)教育單獨(dú)招生統(tǒng)一考試語(yǔ)文甲(A)試題
- DB11T 212-2017 園林綠化工程施工及驗(yàn)收規(guī)范
- 2024-2025學(xué)年初中信息技術(shù)(信息科技)第二冊(cè)河北大學(xué)版(第3版)教學(xué)設(shè)計(jì)合集
- 攜程在線能力測(cè)評(píng)真題
- 感知覺(jué)與溝通評(píng)估三明醫(yī)學(xué)科技職業(yè)
- 承包商入廠安全培訓(xùn)試題附參考答案【完整版】
評(píng)論
0/150
提交評(píng)論