《機(jī)械優(yōu)化設(shè)計(jì)》大作業(yè)

上傳人:jun****875 文檔編號(hào):17803276 上傳時(shí)間:2020-12-06 格式:DOC 頁(yè)數(shù):27 大?。?.54MB
收藏 版權(quán)申訴 舉報(bào) 下載
《機(jī)械優(yōu)化設(shè)計(jì)》大作業(yè)_第1頁(yè)
第1頁(yè) / 共27頁(yè)
《機(jī)械優(yōu)化設(shè)計(jì)》大作業(yè)_第2頁(yè)
第2頁(yè) / 共27頁(yè)
《機(jī)械優(yōu)化設(shè)計(jì)》大作業(yè)_第3頁(yè)
第3頁(yè) / 共27頁(yè)

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《機(jī)械優(yōu)化設(shè)計(jì)》大作業(yè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《機(jī)械優(yōu)化設(shè)計(jì)》大作業(yè)(27頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

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、 (2)選擇適當(dāng)?shù)膬?yōu)化方法,簡(jiǎn)述方法原理,進(jìn)行優(yōu)化計(jì)算; (3)進(jìn)行結(jié)果分析,并加以說(shuō)明。 4、寫出課程實(shí)踐心得體會(huì),附列程序文本。 5、為響應(yīng)學(xué)校2014年度教學(xué)工作會(huì)議的改革要求,探索新的課程考核評(píng)價(jià)方法,特探索性設(shè)立一開放式考核項(xiàng)目,占總成績(jī)的5%。 試用您自己認(rèn)為合適的方式(書面)表達(dá)您在本門課程學(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)告.doc 2、報(bào)告提交郵址:weirongw@(收到回復(fù),可視為提交成功)。 追 求:?jiǎn)栴}的工程性,格式的完美

3、性,報(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 單位矩陣程序作業(yè) ① 采用matlab的編程………………………………………………… 9 ② 采用c語(yǔ)言進(jìn)行編程………………………………………………… 9 機(jī)械優(yōu)化工程實(shí)例 ① 連桿機(jī)構(gòu)……………………

4、……………………………………………11 ② 自選機(jī)構(gòu)…………………………………………………………………16 課程實(shí)踐心得…………………………………………………………………… 20 附列程序文本…………………………………………………………………… 21 進(jìn)步,努力,建議………………………………………………………………25 一、λ=0.618的證明、一維搜索程序作業(yè) ①關(guān)于的證明 黃金分割法要求插入點(diǎn),的位置相對(duì)于區(qū)間兩端具有對(duì)稱性,即 其中為待定常數(shù)。 此外,黃金分割法還要求在保留下來(lái)的區(qū)間內(nèi)再插入一點(diǎn)所形成的區(qū)間新三段,與原來(lái)的區(qū)間三段具有

5、相同的比例分布。 黃金分割法還要求在保留下來(lái)的區(qū)間內(nèi)再插一點(diǎn)所形成的區(qū)間新三段,與原來(lái)的區(qū)間三段有相同的比例分布。 b α1 α2 1 1-λ λ 圖一 設(shè)原區(qū)間的長(zhǎng)度為1,如圖一所示,保留下來(lái)的區(qū)間長(zhǎng)度為,區(qū)間縮短率為。為了保持相同的分別比例。插入新點(diǎn)應(yīng)在位置上,在原區(qū)間的1位置應(yīng)相當(dāng)于在保留區(qū)間的位置。 故有: a α2 2 α3 α1 λ λ(1-λ) λ2 圖二 解得 編寫0.618的程序,并計(jì)算下列問(wèn)題 程序框圖 (1)采用MATLAB進(jìn)行編程 %% %fun.m:黃金分割法求極值點(diǎn)

6、 %輸入數(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=y2; c2=a+r

7、*(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; end 11 function y=f(x) y=cosx end 如果要計(jì)算y=(x-2)^2+3;的黃金分割法,則需要將圖所示的f腳本中的函數(shù)寫成如①所示 如果要計(jì)算y=cosx;黃金分割法,則需要將圖所示的f腳本中的函數(shù)寫成如②所示 fun函數(shù)表示

8、對(duì)matlab的主程序語(yǔ)言。 函數(shù)NO.2運(yùn)算結(jié)果: 函數(shù)NO.1運(yùn)算結(jié)果: (2)采用C語(yǔ)言進(jìn)行編程 #include #define K 0.618 double 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)值**

9、***/ printf(“請(qǐng)輸入精度:”); scanf(“%lf”,&size); /*****輸入精度*****/ printf(“區(qū)間為(%lf,%lf),精度為%lf\n”,a,b,size); printf(“序號(hào)\t a1\t\t a2\t\t f(a1)\t\t f(a2)\n”); for(i=0;i<64;i++) printf(“-“); printf(“\n”); i=0; while((b-a)>size) /*****用精度控制循環(huán)次數(shù)*****/ { i++; a

10、1=b-K*(b-a); /*****按0.618法插入兩點(diǎn)*****/ a2=a+K*(b-a); printf(“%2d:\t%f\ta%f\t%f\t%f\n”,I,a1,a2,f(a1),f(a2)); /*****輸出每次計(jì)算后a1,a2,f(a1),f(a2)的值*****/ if(f(a1)>=f(a2)) a=a1; else b=a2; } printf(“所求極小值點(diǎn)為:x=%lf\t極小值f(x)=%f\n”,a,f(b)); } d

11、ouble 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)算即可。 運(yùn)行如圖所示 我們可以看出,大約在x=2處取到極值。與理論相符。 運(yùn)行如圖所示 我們可以看出,大約在π處取到極值。與理論相符。 二、用簡(jiǎn)單的語(yǔ)句寫一個(gè)單位矩陣 ①采用matlab構(gòu)造: Mat

12、lab構(gòu)造的矩陣最是簡(jiǎn)便,因?yàn)楸旧砭陀幸粋€(gè)單位矩陣的函數(shù)。 由于matlab是基于C語(yǔ)言而設(shè)立的一個(gè)數(shù)學(xué)運(yùn)用軟件,所以他的集成度非常高,而且具有很好的開放性,于是我們得知eye函數(shù),將其構(gòu)造。 Eg: 若要構(gòu)造一個(gè)3維的單位矩陣,則輸入eye(3) 若要構(gòu)造一個(gè)n為的單位矩陣,這輸入eye(n) ②用C語(yǔ)言構(gòu)造 程序如圖所示: #include int main() { int I,j,n; while(scanf(“%d”,&n) == 1) { for(I = 0; I < n; ++i) {

13、 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é)模型的建立

14、 設(shè)計(jì)變量:這里有兩個(gè)獨(dú)立參數(shù)和。因此設(shè)計(jì)變量為 目標(biāo)函數(shù):將輸入角分成30等分,并用近似公式計(jì)算,可得目標(biāo)函數(shù)的表達(dá)式 約束條件: GX(1)=-X(1)0 GX(2)=-X(2) 0 GX(3)=-(X(1)+X(2))+6.00 GX(4)=-(X(2)+4.0)+X(1) 0 GX(5)=-(4.0+X(1))+X(2) 0 GX(6)=-(1.4142*X(1)*X(2)-X(1)**2-X(2)**2)-16.00 GX(7)=-(X(1)**2+X(2)**2+1.4142*X(1)*X(2))+36.00 (3)程序編制 C ====

15、================== SUBROUTINE FFX(N,X,FX) C ====================== DIMENSION X(N) COMMON /ONE/I1,I2,I3,I4,NFX,I6 NFX=NFX+1 P0=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.0 DO 10 K=0,30

16、 PI=P0+K*T QE=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

17、 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 IF 12 CONTINUE RETURN END C ========================= SUBROUTINE GGX(N,KG,X,GX) C ========================= DIMENSION X(N),GX(KG) GX(1)

18、=-X(1) GX(2)=-X(2) GX(3)=-(X(1)+X(2))+6.0 GX(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.0 GX(7)=-(X(1)**2+X(2)**2+1.4142*X(1)*X(2))+36.0 RETURN END C ========================= SUBROUTINE HHX(N,KH,X,HX) C ========================= D

19、IMENSION X(N),HX(KH) X(1)=X(1) RETURN END 輸入數(shù)據(jù)如下: 2,7,0 4.3,3.2 2.,0.2,0.01,0.00001,0.00001 0,1,0 3.5,2.8,5.5,4.5 (4) 可執(zhí)行程序的生成 13 將程序文本保存成文件t001.txt,存放在OPT_EXAM\FORTRAN\0-fortran目錄下。 14 使用DOS操作界面,OPT_EXAM\FORTRAN\0-fortran目錄下,輸入命令 asumt.for+t001.txt t001.for 回車。生成t001.for文件

20、。 15 for1 t001; 回車; ④for2 回車; ⑤link t001; 回車,即生成可執(zhí)行程序t001.exe。 ⑥從t001.dat文件中加載數(shù)據(jù),運(yùn)行t001.exe。 t001t001.rtf 回車得到結(jié)果。 操作過(guò)程如圖: 操作步驟 (5)結(jié)果與分析 結(jié)果顯示如下: ============== PRIMARY DATA ============== N= 2 KG= 7 KH= 0 X : .4300000E+01 .3200000E+01

21、 FX: .7847605E-02 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+0

22、1 -.5100000E+01 -.6729390E+01 -.1218939E+02 HX: PEN = .3974390E+01 R = .2000000E+01 C = .2000000E+00 T0= .1000000E-01 EPS1= .1000000E-04 EPS2= .1000000E-04 ============== ITERATION COMPUTE ============== ***** IRC = 1 R = .2

23、000000E+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= .3733451E-01 ***** IRC =

24、 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

25、 ***** IRC =11 R = .2048000E-06 PEN= .4128061E-03 ***** IRC =12 R = .4096001E-07 PEN= .4071001E-03 ***** IRC =13 R = .8192003E-08 PEN= .4014154E-03 ***** IRC =14 R = .1638401E-08 PEN= .3992769E-03 ***** IRC =15 R = .3276801E-09 PEN=

26、 .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 ============== IRC= 18 ITE= 35 ILI= 94 NPE=

27、 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 -

28、Program terminated. 從結(jié)果中得知當(dāng)X1=4.135127,X2=2.315381時(shí),目標(biāo)函數(shù)取得最小值, 搖桿的轉(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ì))硬度為217~255HBS,小齒輪40Cr(調(diào)質(zhì))硬度為241~286HBS,工作壽命15 年,假設(shè)每年工作300天,兩班制,帶式輸送機(jī)工作平穩(wěn),轉(zhuǎn)向不變。常規(guī)設(shè)計(jì)方案采用直齒圓柱齒輪: m=2.5, z1=30, Φd=1。

29、 解:(1)設(shè)計(jì)變量, 單級(jí)直齒圓柱齒輪傳動(dòng)的中心距 : f1X=121+?mz1 齒寬:f2x=mz1?d 將m, z1, ?d作為設(shè)計(jì)變量,即: X=m,z1,?dT=x1,x2,x3T 2 )目標(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ù)的限

30、制:對(duì)于傳遞動(dòng)力的齒輪,通常要求模數(shù)不少于1. 5-2,得約束條件: G1x=2-x1<0>0 G2x=x1-1.5>0 (2)小齒輪齒數(shù)的限制:小齒輪齒數(shù)z1應(yīng)不大于產(chǎn)生根切的最小齒數(shù)17 ,得約束條件: G3x=17-x2≤0 (3)齒寬系數(shù)的限制:由于?dmin ≤?d ≤?dmax ,約束條件為: G4x=x3-1.15≤0 G5x=0.7-x3≤0 (4)齒面接觸強(qiáng)度的限制,根據(jù)公式并查表得約束條件: G6x=1.04?107-2.916

31、?105x13x23x33≤0 G7x=1.04?107-8.95?106x13x23x33≤0 (5)齒根彎曲強(qiáng)度的限制,根據(jù)公式查表得約束條件: G8x=1.51?106-303.57x13x23x33≤0 G9x=1.42?106-2445.92x13x23x33≤0 4 建立數(shù)學(xué)優(yōu)化模型 高速級(jí)齒輪傳動(dòng)多目標(biāo)優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型為:(ω1 取0.6,ω2取0.4) Fun(x)=min[ω1? 1+3.2x1x22 +ω2? x1x2x3] X=m,z1,?dT=x1,x2,x3T G1x

32、=2-x1≤0 G2x=x1-1.5≤0 G3x=17-x2≤0 G4x=x3-1.15≤0 G5x=0.7-x3≤0 G6x=1.04?107-2.916?105x13x23x33≤0 G7x=1.04?107-8.95?106x13x23x33≤0 G8x=1.51?106-303.57x13x23x33≤0 G9x=1.42?106-2445.92x13x23x33≤0 5 編寫程序并運(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文件: functio

33、n [c ceq]=zhwy(x) c(1)=1.04*10^7-2.916*10^5*(x(1)*x(2))^3*x(3); c(2)=1.04*10^7-8.95*10^6*(x(1)*x(2))^3*x(3); c(3)=1.51*10^6-303.57*x(1)^3*x(2)^2*x(3); c(4)=1.42*10^6-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

34、,[],[],[],[],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.5 30 1 157.5 MATLAB優(yōu)化 1.7911 27.4377 1.1499 84.5254 圓整后參數(shù) 1.75 30 1 117.6 經(jīng)過(guò)計(jì)算,最小體積為87.15。 四、課程學(xué)習(xí)心得 從懶懶散散

35、的寒假到匆匆忙忙的考試周,仿佛只是在彈指一揮間。然而我們就在這段時(shí)間內(nèi),又學(xué)了幾門課程,而這些課程中,最有趣,最好玩的當(dāng)然就是《機(jī)械優(yōu)化設(shè)計(jì)了》 《機(jī)械優(yōu)化設(shè)計(jì)》是一門理論性非常強(qiáng)的一門課,剛開始的時(shí)候不得要領(lǐng),但是在王衛(wèi)榮老師的帶領(lǐng)下,逐漸登堂入室,漸漸有所了解。 首先,這門課所依托的最強(qiáng)武器便是數(shù)學(xué)。數(shù)學(xué)即是方法,思維,和邏輯。其次所依托的便是算法程序語(yǔ)言。歸根結(jié)底的還是數(shù)學(xué),因?yàn)閿?shù)學(xué)賦予了算法以邏輯的力量,分析的過(guò)程,以及所能解決的一切問(wèn)題。還好我的數(shù)學(xué)基礎(chǔ)還算可以,邏輯思維還算通順,再加上老師所給予的方法,學(xué)習(xí)這門課程,一路上雖跌跌撞撞,但也有所收獲。 所謂收獲,從方法論的角度上

36、講,即時(shí)通過(guò)一個(gè)通用模型,解決一系列的問(wèn)題,這是數(shù)學(xué)建模給我們的要求嗎,同時(shí)也是《優(yōu)化》這門課所賦予的核心思想。大二的時(shí)候,特別想搞建模,可是由于種種原因,其中最重要的原因就是懶惰,與之失之交臂?!秲?yōu)化》這門課則彌補(bǔ)了我的部分遺憾。因?yàn)闆](méi)有建模的要求高,于是上手比較容易,同時(shí)又與我們自己的機(jī)械方面的課程緊密地結(jié)合在一起,過(guò)程輕車熟路。于是《優(yōu)化》真是一門寓學(xué)于樂(lè)的科目,只恨課程太多時(shí)間太少,不然真要好好地研究一番。 說(shuō)道大作業(yè),那可是真的難,第一問(wèn)和第二問(wèn)還好一點(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)題,全部

37、換成了matlab。真要感謝《優(yōu)化設(shè)計(jì)》這門課程,如果不是這門課程的話,即使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ì)用到的所有常見(jiàn)數(shù)學(xué)模型全部都涵括了,所以,我們,親切地稱它為,萬(wàn)能數(shù)學(xué)工具。 當(dāng)學(xué)習(xí)變成一種樂(lè)趣的時(shí)候,每當(dāng)我們想做這種游

38、戲的時(shí)候,時(shí)間,精力,甚至思路,仿佛全部有了,這就是積極所帶來(lái)的意義。學(xué)習(xí)《優(yōu)化設(shè)計(jì)》,傳達(dá)出這樣的信號(hào):重要的不是考試的結(jié)果,而是解決問(wèn)題的過(guò)程。所以,我覺(jué)得《優(yōu)化設(shè)計(jì)》這門課的評(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ì)》這門課已經(jīng)結(jié)課了,考試已經(jīng)結(jié)束了。把大作業(yè)交上去,仿佛這門課與我們就沒(méi)有什么瓜葛了一樣。不,絕對(duì)不是。解決問(wèn)題的能力才剛剛開始。

39、 五、附列程序文本 黃金分割法求極值點(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)

40、 if y1>=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ù)的確立 ①function y=f(x) y=(x-2)^2+3; end ②function y=f(x) y=cosx end 黃金分割法求極值點(diǎn)的C語(yǔ)言程序 #include #define K 0.6

41、18 double 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),精度為%lf\n",a

42、,b,size); printf("序號(hào)\t a1\t\t a2\t\t f(a1)\t\t f(a2)\n"); for(i=0;i<64;i++) printf("-"); printf("\n"); i=0; while((b-a)>size) /*****用精度控制循環(huán)次數(shù)*****/ { i++; a1=b-K*(b-a); /*****按0.618法插入兩點(diǎn)*****/ a2=a+K*(b-a); printf("%2d:\t%f\ta%f\t%f\t%f\n

43、",i,a1,a2,f(a1),f(a2)); /*****輸出每次計(jì)算后a1,a2,f(a1),f(a2)的值*****/ if(f(a1)>=f(a2)) a=a1; else b=a2; } printf("所求極小值點(diǎn)為:x=%lf\t極小值f(x)=%f\n",a,f(b)); } double f(double x) /*****函數(shù)值計(jì)算函數(shù)*****/ { double f; f=(x-2)*(x-2)+3; return(f); } 對(duì)于y=co

44、sx,須在程序中加一個(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) { for(I = 0; I < n; ++i) { for(j = 0; j < n; ++j) printf(“%d “,I ==

45、 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,I6 NFX=NFX+1 P0=ACOS(((1.0+X(1))**2-X(2)**2+25.0)/(10.0*(1.0+X(1)))) Q0=ACOS(((1.0+X(1))*

46、*2-X(2)**2-25.0)/(10.0*X(2))) T=90.0*3.1415926/(180.0*30.0) FX=0.0 DO 10 K=0,30 PI=P0+K*T QE=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) TH

47、EN 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 IF 10 CONTINUE RETURN END C =====================

48、==== 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.0 GX(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.0 GX(7)=-(X(1)**2+X(2)**2+1.4142*X(1)*X(2))+36.0 RETURN EN

49、D C ========================= SUBROUTINE HHX(N,KH,X,HX) C ========================= DIMENSION X(N),HX(KH) X(1)=X(1) RETURN END 自選機(jī)構(gòu)的matlab語(yǔ)言 目標(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*10^7-2.916*10^5*(x(1)*x(2)

50、)^3*x(3); c(2)=1.04*10^7-8.95*10^6*(x(1)*x(2))^3*x(3); c(3)=1.51*10^6-303.57*x(1)^3*x(2)^2*x(3); c(4)=1.42*10^6-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) 六、進(jìn)步,努力,建議 首先我感覺(jué)最大的進(jìn)步

51、,就是數(shù)學(xué)思維的提高。 比如。我以前解決問(wèn)題的時(shí)候,總是想要用最精確的解,于是總是每一步都跟著公式來(lái),殊不知,很多公式都是化簡(jiǎn)過(guò)的。所以適當(dāng)?shù)氖÷砸恍┝?,?duì)于計(jì)算還是建模都是非常有幫助的 還有,介紹牛頓法的弊端的時(shí)候,忽然想到以前總喜歡投機(jī)的方法解題,也許我們口中的“笨方法”才是解題的最優(yōu)化的方法,有其是引入計(jì)算機(jī)以后。 其次,是工具的應(yīng)用日漸純熟。 有其是MATLAB的應(yīng)用,我?guī)缀趺總€(gè)問(wèn)題都是用MATLAB解決的,因?yàn)槲矣X(jué)得MATLAB上手比較容易,其他的軟體可以慢慢學(xué),而如果想在短時(shí)間內(nèi)解決一些問(wèn)題的話,MATLAB無(wú)疑是最好的選擇。 當(dāng)然,我也學(xué)會(huì)多種工具的使用。比如C語(yǔ)言,我

52、就嘗試用他們解決了兩個(gè)問(wèn)題,只是由于我水平還不夠高,用法還不夠純熟,所以并沒(méi)有把他們做為我主要的解決工具,但是,C語(yǔ)言的自主性遠(yuǎn)遠(yuǎn)超過(guò)MATLAB,所以我相信,在不久的將來(lái),我就能將C語(yǔ)言運(yùn)用純熟。 最后是關(guān)于課堂的建議。 第一:絕對(duì)贊同老師板書的教學(xué)方式 第二:絕對(duì)崇拜老師嚴(yán)謹(jǐn)?shù)慕虒W(xué)作風(fēng) 第三:希望老師能夠布置一點(diǎn)給學(xué)弟學(xué)妹的編程題(嗚嗚嗚~~~我們做不到了),先是一題,有答案有解析,最好還有截圖,然后給一條簡(jiǎn)單的同類型的題目,有答案沒(méi)解析,仿照前題練練手,再出一道,無(wú)答案無(wú)解析,然后給他們獨(dú)立思考的空間,我想,再做大作業(yè)的時(shí)候,就不會(huì)像我們這樣手忙腳亂了。 關(guān)于評(píng)價(jià),可以搞一個(gè)分組制度,即3~5人組成自己的Team member,然后舉組之力搞一個(gè)命題出來(lái),然后進(jìn)行評(píng)價(jià)。分組制度由老師來(lái)解決,盡量使能力均勻,這樣的話更容易考究區(qū)分度。命題的評(píng)價(jià)結(jié)果由老師評(píng)判,而小組成員在內(nèi)部的作用由小組成員自己評(píng)價(jià),分出檔次1,2,3,4,5(假如五個(gè)人的話),使得每個(gè)人的檔次不一樣,這樣每個(gè)人就會(huì)追求那個(gè)最高檔的,遴選擇優(yōu)出來(lái)。兩個(gè)方向同時(shí)進(jìn)行。 謝謝老師的悉心指導(dǎo)?。?!

展開閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!