2023年機(jī)械優(yōu)化設(shè)計(jì)大作業(yè)_第1頁
2023年機(jī)械優(yōu)化設(shè)計(jì)大作業(yè)_第2頁
2023年機(jī)械優(yōu)化設(shè)計(jì)大作業(yè)_第3頁
2023年機(jī)械優(yōu)化設(shè)計(jì)大作業(yè)_第4頁
2023年機(jī)械優(yōu)化設(shè)計(jì)大作業(yè)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

高等流體力學(xué)

班級(jí):機(jī)設(shè)15學(xué)碩班

學(xué)號(hào):_____________

姓名:___________張湘楠

授課老師:畢新勝

日期:2023年7月1日

虹一、研究報(bào)告內(nèi)容:

1、入二0.618的證明、一維搜索程序作業(yè);

2、單位矩陣程序作業(yè);

3、連桿機(jī)構(gòu)問題+自行選擇小型機(jī)械設(shè)計(jì)問題或其他工程優(yōu)化問題;

(1)分析優(yōu)化對(duì)缸根據(jù)設(shè)計(jì)問題的規(guī)定,選擇設(shè)計(jì)變量,確立約束條

件,建立目的函數(shù),建立優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型并編制問題程序;

(2)選擇適當(dāng)?shù)膬?yōu)化方法,簡述方法原理,進(jìn)行優(yōu)化計(jì)算;

(3)進(jìn)行結(jié)果分析,并加以說明。

4、寫出課程實(shí)踐心得體會(huì),附列程序文本。

5、為響應(yīng)學(xué)校2023年度教學(xué)工作會(huì)議的改革規(guī)定,探索新的課程考

核評(píng)價(jià)方法,特探索性設(shè)立一開放式考核項(xiàng)目,占總成績的5%。

試用您自己認(rèn)為合適的方式(書面)表達(dá)您在本門課程學(xué)習(xí)方面的

努力、進(jìn)步與收獲。(考評(píng)將重點(diǎn)關(guān)注您的獨(dú)創(chuàng)性、簡潔性與可驗(yàn)證性)。

二、研究報(bào)告規(guī)定

1、報(bào)告命名規(guī)則:學(xué)號(hào)-姓名一《機(jī)械優(yōu)化設(shè)計(jì)》課程實(shí)踐報(bào)告.doc

2、報(bào)告提交郵址:(收到回復(fù),可視為提交成功)。

追求:問題的工程性,格式的完美性,報(bào)告的完整性。

不追求:問題的復(fù)雜性,方法的惟一性。

評(píng)判準(zhǔn)則:獨(dú)一是好,先交為好;切勿拷貝。

目錄:

A=0.618的證明、一維搜索程序作業(yè)

①關(guān)于2=0.618的證明................................4

②一維搜索的作業(yè)

采用matlab進(jìn)行編程.......................5

采用C語言進(jìn)行編程...............................7

單位矩陣程序作業(yè)

①采用matlab的編程...............................9

②采用c語言進(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)于幺=0.618的證明

黃金分割法規(guī)定插入點(diǎn)4的位置相對(duì)于區(qū)間伍,例兩端具有對(duì)稱性,即

%=b-Mb-a)

a2=a+A(b-a)

其中2為待定常數(shù)。

%b-搜索區(qū)間上限

%e-精度

%輸出數(shù)據(jù):

%x-極小值點(diǎn)

%其他常量:

%cl,c2,c3-區(qū)間

%r-黃金分割比例0.618

%%

%定義函數(shù)

functionx=fun(a.b?e)

r=0.618;

c1=b-r*(b-a);c2=a+r*(b-a);

yl=f(cl);y2=f(c2);

while(abs((b—a)/b)>e)&&(abs((y2-yl)/y2)>e)

ifyl>=y2

a=cI;cI=c2;y1=y2;

c2=a+r*(b-a);y2=f(c2);

else

b=c2;c2=c1;y2=y1;

cl=b-r*(b-a);yl=f(cl);

end

end

x=0.5*(a+b);

end

對(duì)f函數(shù)的確立

10functiony=f(x)

y=(x-2『2+3;

end

11functiony=f(x)

y=cosx

end

假如要計(jì)算y=(x-2A2+3;的黃金分割法,則需要將圖所示的f腳本中的函數(shù)寫成如①所示

假如要計(jì)算y=cosx;黃金分害ij法,則需要將圖所示的「腳本中的函數(shù)寫成如②所示

fun函數(shù)表達(dá)對(duì)mat1ab的主程序語言。

,主分界造常B?盛

■?入CH;

、?一BTErtT*

、b—酢旦日上陽

、。一?范

UktGH;

、x—B小?盛

tKlt-MV;

、cl,c2,c3-E4

?1

■宣義(BII:

jrl?f<eli.y2*f<e2l.

while(?bf<(V-a>/b>>?>U<?bt<(r2-yl)/)r2>>e>

ify17r2

1=cl.€l?c2.yl?y2.

C2?E?吁(0.

else

b>?2.e2Mi

cl?b-r?<b-?><cl);

tni

x-0.5?

電“”

Ed.!o<D\2.bA叭H

MeEd*TertGo€<?TooHDebugDesktop'MxlowM?ip

f:■)?"??/??€)粕■■sudcB?A田(D曰<90

,a4-J£?+11_X9£Q

Ifurvetian)Ff<*>

2-y?(M-2)'2*3:

3-?nd

函數(shù)NO.1運(yùn)算結(jié)果:

(2)采用C語言進(jìn)行編程

#inc1ude<stdio.h>

^defineK0.618

doub1ef(double);/*****函數(shù)值計(jì)算函數(shù)聲明*****/

voidmain(void)

{

doublea,b,size;。

doubleal,a2;

?intI;

?printf(”請(qǐng)輸入?yún)^(qū)間兩端點(diǎn)(端點(diǎn)值應(yīng)大于0);

?scanf(o%lf,&b);/*****輸入端點(diǎn)值*****/

printf("請(qǐng)輸入精度:");

?scanf((i%1fw,&size);/*****輸入精度*****/

printf("區(qū)間為(%1f精度為$1f\n”,a,b,size);

printf("序號(hào)\ta1\t\ta2\t\tf(al)\t\tf(a2)\n"1;

吁or(i=0;i<64:i++)

printf("-“);

printf(°\nn);

?i=0;

while((b-a)>size)/*****川精度控制循環(huán)次數(shù)*****/

(

<?i++;

al=b-K*(b-a);/*****按0.618法插入兩點(diǎn)*****/

0a2=a+K*(b—a);

printf("%2d:\t%f\ta%f\t%f\t%f\n",I,al,a2,f(a1),f(a2));

/**才大水輸出每次“算后a1,a2,f(a1),f(a2)

的值*****/

?if(f(al)>=f(a2))

。a=al;

geIse

b=a2:

printf("所求極小值點(diǎn)為:x=%lf\t極小值f(x)=%f\n”,a,f(b));

)

doublef(doublex)/*****函數(shù)值計(jì)算函數(shù)*火火**/

odoublef;

?f=(x-2)*(x-2)+3;

?return(f);

)

對(duì)于y=cosx,須在程序中加一個(gè)#include(math.h)頭程序,以示我要調(diào)用函數(shù)語句。再將

倒數(shù)第三行函數(shù)改為尸cos(x),再次編譯運(yùn)算即可。

?^lundion?classes

~1

while(<b-j|>size),用精度拄制彷外次故,

1??;

,按?.618法插入兩百

print-<-Vd:\t%f\tA?\ttf\t%F\nM.i.j1,42.f<4l

/”??琳出每次計(jì)修后“1.

*a1;

else

b-a2;

prle”(?你求極小值點(diǎn)為:極小值“D-XfMT.a.

doublef(doublex)/.???.為數(shù)值計(jì)n劭斂??.,

doubleF;

f-(x-2)?(x-2)*3:

return(F);

IkiI

Iunctien2.exe-Berror(s).etMrning(s)

J

,’

運(yùn)營如圖所示

我們可以看出,大約在X=2處取到極值。與理論相符。

SKncticoJ-Microw4t€??

文QDMDH9AMD工30T?ZJKD.匚3)W(H)

6300Q如智■1M

[|Gk>bals|二)(Allglobalmemku二][F習(xí)X”①匕!"6

3W

Sinclu<lr<iMth.ti>

■include<5tdio.h>3.315111*3.531296984983925H52

MefineMe.61S3.18X39a3.315B4i9992869?W5

doublefCdoub>);“”??訕敢值計(jì)算由就J3f833a3.181396V?VW6

voidRain(uoi4)).181422?9.2)244099928?wsrs

3/4fs72c3?l,14A6999%6?592W

double3.138374*3.149862999937””,6

dotible?l.a2;3.W868a3.i&1912“9966“97M

inti;3.142421”9八6

p"n”(RHfi入?yún)^(qū)間兩端6?3.142419“9”3

(X3.14*420?3.145263“9%3

輸入精度:“);3.14M63*3.142419

“SA'QU”);3.1424219*3.143506

“in",忑?為度為21八n”.a.b.TzS:1.14i74td14242。

print"”序號(hào)\t4l\t\t^2\t\t?(3.141334*3.141748

,or《I;H6E??)3.14174??3.142BBS

pri?t("1);3.141S90a3.141748

printF("\f);3.141492a3.1415t0

1-?;1.144.9VIQ.141⑸

用精度控制藺3砍j1.141SS3?3.14159B

3.141590a3.141613

3.141S74

,????哦???1噬18人兩3.14159。?3.1415”

3.141S8S?3.141590

priN,<?*Vdg八t"VT.iQ1.32?〃3.14159?*3.141593

/??Ti出怎次計(jì)It后d

?:CUsW-fjnieYMw]

fvnctl9n2.exe-6error(s),?wdrninq(s)

7nA田編/清武又在文件!中直找\在文件2甲疊我>結(jié)第工現(xiàn)Zbuc”n<7

ftU

運(yùn)營如圖所示

我們可以看出,大約在。處取到極值。與理論相符。

二、用簡樸的語句寫一個(gè)單位矩陣

①采用matlab構(gòu)造:

MATLABR20U-

MeW<DebugOeskBopWndowx”

:▲■■〈。?干工VCWCM

5>erttutl9HgtoAdd£JNew

,O,xWndw*

■■,:2■%Q?Wectdatatopi..▼

Njme*Vake

?4>4doubted

??y?(2>

?ey?<5>

CommandH^ory

r-ir^ut<pl?a<?xip*,amabtxI

?eye??

eyed)

ele

b⑴

?y?<2)

b⑴

不⑷

0美H曰"4市

Matlab構(gòu)造的矩陣最是簡便,由于自身就有一個(gè)單位矩陣的函數(shù)。

由于matlab是基于C語言而設(shè)立的一個(gè)數(shù)學(xué)運(yùn)用軟件,所以他的集成度非常高,并且具有很好的開

放性,于是我們得知eye函數(shù),將其構(gòu)造。

Eg:

若要構(gòu)造一個(gè)3維的單位矩陣,則輸入eye(3)

若要構(gòu)造一個(gè)n為的單位矩陣,這輸入eye(n)

②用C語言構(gòu)造

程序如圖所示:

#include<stdio.h>

Intmain(){

intI,j,n;

whi1e(scanf("%d",&n)==1){

for(I=0;I<n;++i){

for(j=0;j<n;++j)

printf(“%d<f,I==j);

printf(r,\nw);

)

)

return0;

}

q2

JI

(S)6uiV4rAD?<5)404^4o--"?XX/lJe

[RIB.(Dirr⑻g@出工(DYVGOWHIM麗N

??□IfAW?2S

三、機(jī)械優(yōu)化設(shè)計(jì)工程實(shí)例

①連桿機(jī)構(gòu)問題

(1)連桿機(jī)構(gòu)問題描述

設(shè)計(jì)一曲柄連桿搖桿機(jī)構(gòu),規(guī)定曲柄從%=%+90°時(shí),搖桿,3的轉(zhuǎn)角最佳再現(xiàn)已知的運(yùn)

動(dòng)規(guī)律:“F二%+丁(8-四)2且/尸1,/4二5,%為極位角,其傳動(dòng)角允許在45°4/0135°范

3兀

圍內(nèi)變化。

(2)數(shù)學(xué)模型的建立

設(shè)計(jì)變量:這里有兩個(gè)獨(dú)立參數(shù)’2和’3。因此設(shè)計(jì)變量為入=[%出F二[/2/31

目的函數(shù):將輸入角提成30等分,并用近似公式計(jì)算,可得目的函數(shù)的表達(dá)式

30

J血-%)]

/=1

約束條件:

GX(1)=-X(l)^0

GX(2)=-X(2)<0

<JX(3)=-(X(1)+X(2))+6.0^0

<;X(4)=-(X(2)+4.0)+X(1)<0

0Gx(5)=-(4.0+X(l))+X(2)<0

oGX(6)=-(l.4I42*X(1)*X(2)-X(1)**2-X(2)**2)-16.0^0

GX(7)=-(X(1)**2+X(2)**2+1.4142*X(l)*X(2))+36.0^0

(3)程序編制

C=====================

SUBROUTINEFFX(N,X,FX)

oDIMENSIONX(N)

COMMON/ONE/11,12,13,I4,NFX,I6

oNFX=NFX+1

P0=ACOS(((1,0+X(1))**2-X(2)**2+25.0)/(10.0*(1,0+X(l))))

oQOACOS(((1.0+X(l))**2-X(2)**2-25.0)/(10.0*X(2)))

T=90.0*3.1415926/(180.0*30.0)

FX=0.0

oDO10K=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))

oAL=ACOS((D*D+X(2)*X(2)-X(l)*X(l))/(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

ENDIF

IF(K.NE.0.OR.K.NE.30)THEN

FX=FX+(QI-QE)**2*T

ELSE

FX=FX+(QLQE)**2*T/2.0

ENDIF

12CONTINUE

RETURN

,END

L---------———----------------------------———

6UBROUTINEGGX(N,KG,X,GX)

C?=========================

*DIMENSIONX(N),GX(KG)

GX(1)=-X(1)

GX(2)=-X(2)

<JX(3)=-(X(l)+X(2))+6.0

GX(4)=-(X(2)+4.O)+X(l)

<JX(5)=-(4.0+X(l))+X(2)

?GX(6)=-(1.4142*X(1)*X(2)-X⑴**2?X(2)**2)-16.0

GX(7)=-(X(1)**2+X(2)**2+1.4142*X(1)*X(2))+36.0

^RETURN

正ND

C=========================

SUBROUTINEHHX(N,KH,X,HX)

-------------------------------------

DIMENSIONX(N),HX(KII)

X(1)=X(1)

^RETURN

END

輸入數(shù)據(jù)如下:

2.7.0

4.3,3.2

2.,0.2,0.01,0.00001,0.(X)001

0,1,0

3.5,2.8,5.5,4.5

(4)可執(zhí)行程序的生成

13將程序文本保存成文獻(xiàn)tOO1.txt,存放在OPT_EXAM\FORTRAN\0-fortran目錄

To

14使用口05操作界面,(^1_£X人乂正01^11<人1\1\0401「@11目錄下,輸入命令

asumt.for4-t001.txttOO1.for回車。生成tOOl.for文獻(xiàn)。

15fori1001;回車;

@for2回車;

⑤linktO01;回車,即生成可執(zhí)行程序l001.exe。

⑥從t001.dat文獻(xiàn)中加載數(shù)據(jù),運(yùn)營tO01.exe。

t001<t001.dat>t00l.rtf回車得到結(jié)果。

操作過程如圖:

S9C:\windows\system32\cmdexe

MicrosoftWindows[????6.1.76013

????????<c>2009MicrosoftCorporation????????????????

C:\Users\ChenXJ>cd\

C:\>cdopt_exam\fortran\0-fortran

C:\OPT_£XAM\FORTRAN\0-fortran>copyasunt.£or+t001.txtt001.for

ftSUMT.FOR

t001.txt

C:\OPTJEXAM\FORTRAN\0-fortran>forlt001;

MicrosoftFORTRAN??U3.31August1985

<C>CopyrightMicrosoftCorp1982,1983,1984,1985

PassOneNoErrorsDetected

575SourceLines

:\OPT_BXAM\FORTRAN\0-FORT~1>for2

CodeAreaSize-U4412<17426)

ConsAreaSize=tt0198<408>

DataAreaSize=R3BEC<15340?

PassTwoNoErrorsDetected.

C:\OPTJEXAM\FORTRAN\0-FORT~l>linkt001;

Microsoft<R>8086ObjectLinkerVersion3.04

Copyright<C>MicrosoftCorp1983,1984,1985.Allrightsreserved.

C:\OPT_EXAM\FORTRAN\0-FORT~lX00Kt001.datX001.rtf

C:\OPTJEXAM\FORTRAN\0-FORT~1>

操作環(huán)節(jié)

(5)結(jié)果與分析

結(jié)果顯示如下:

:=============PRIMARYDATA==============

N=2KG=7KH=0

X:

.4300000E+01.3202300E+01

FX:

.7847605E-02

GX:

-.4300000E+01-.3202300E+01-.1500000E+01—.290000()E+01

-.5100000E+01

-.6729390E+01-.1218939E+02

X:

.4300000E+01.32O23OOE+01

FX:

.7847605E-02

GX:

-.4300000E+013202300E+01-.1500000E+0I-.2900000E+01-.5

1OOOOOE+Ol

-.672939OE+Ol-.1218939E+02

HX:

PEN=.3974390E+01

R—.20230OOE+O1C=.2023000E+00TO=.100(X)00E-01

EPS1=.1OOOiDOOE-04EPS2=.1000000E-04

==============ITERATIONCOMPUTE==============

*****IRC=1R=.2023000E+0IPEN=.3974390E+01

*****IRC=2R=.40000(X)E+00PEN=.3119361E+01

*****IRC=3R=.8000001E-01PEN=.6407908E+00

*****IRC=4R=.1600000E-01PEN=.1439420E+00

*****IRC=5R=.3202300E-02PEN=.3733451E-01

*****IRC=6R=.6400000E-03PEN=.8986510E-02

*****IRC=7R=.128OOOOE-03PEN=.2346609E-02

*****IRC=8R=.2560000E-04PEN=,9042178E-03

*****IRC=9R=.5120231E-05PEN=.5396702E-03

*****IRC=|0R=.1024000E-05PEN=.4410887E-03

*****IRC=11.20480OOE-06PEN=.412806IE-03

*****IRC=12R=.4096(X)1E-07PEN=4071001E-03

*****IRC=13R=.8192023E-08PEN=.4014154E-03

*****IRC=14R=.163?401E-OSPEN=.399279E-03

*****IRC=15R=.32768O1E-09PEN=.3987240E-03

*****IRC=16R=.6553602E-I0PEN=.3984505E-03

*****

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論