資源描述:
《基于matlab的傳動(dòng)軸優(yōu)化設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、30引 言機(jī)械優(yōu)化設(shè)計(jì),就是在給定的載荷或環(huán)境條件下,在對機(jī)械產(chǎn)品的性態(tài)、幾何尺寸關(guān)系或其它因素的限制(約束)范圍內(nèi),選取設(shè)計(jì)變量,建立目標(biāo)函數(shù)并使其獲得最優(yōu)值的一種設(shè)計(jì)方法。目前,已有很多成熟的優(yōu)化方法程序可供選擇,但它們各有自己的特點(diǎn)和適用范圍。實(shí)際應(yīng)用時(shí)必須注意因?yàn)閮?yōu)化方法或初始參數(shù)選擇而帶來的收斂性問題及機(jī)時(shí)問題。而MATLAB語言的優(yōu)化工具箱則選用最佳方法求解,初始參數(shù)輸入簡單,語法符合工程設(shè)計(jì)語言要求,編程工作量小,優(yōu)越性明顯。1MATLAB優(yōu)化設(shè)計(jì)工具箱MATLAB語言是由美國Mathworks公司開發(fā)的集科學(xué)計(jì)算、數(shù)據(jù)可視化和程序設(shè)計(jì)為一體的
2、工程應(yīng)用軟件,現(xiàn)已成為工程學(xué)科計(jì)算機(jī)輔助分析、設(shè)計(jì)、仿真以至教學(xué)等不可缺少的基礎(chǔ)軟件,它由MATLAB主包、Simulink組件以及功能各異的工具箱組成。MATLAB優(yōu)化工具箱的應(yīng)用包括:線性規(guī)劃和二次規(guī)劃,求函數(shù)的最大值和最小值,多目標(biāo)優(yōu)化,約束優(yōu)化,離散動(dòng)態(tài)規(guī)劃等,其簡潔的表達(dá)式、多種優(yōu)化算法的任意選擇、對算法參數(shù)的自由設(shè)置,可使用戶方便地使用優(yōu)化方法。在MATLB主包和優(yōu)化工具箱中都包含與優(yōu)化有關(guān)的函數(shù)。下面簡單介紹應(yīng)用最廣泛的約束非線性規(guī)劃問題。數(shù)學(xué)模型為:3MATLAB內(nèi)置函數(shù)fmincon的具體用法如下:調(diào)用格式:[x,fval]=fmincon
3、(@f,x0,A,b)[x,fval]=fmincon(@f,x0,A,b,Aeq,beq)[x,fval]=fmincon(@f,x0,A,b,Aeq,beq,lb,ub)[x,fval]=fmincon(@f,x0,A,b,Aeq,beq,lb,ub,@nonlcon)輸入變量說明:@f表示目標(biāo)函數(shù),通??捎?m文件定義,也可用inline函數(shù)定義,此時(shí)去掉變量前的@。為解的初始估計(jì)值。A,b為線性不等式約束;如果不需要此約束時(shí),此變量用[]代替。:線性等式約束;不需要是用[]代替。設(shè)計(jì)變量的上下限,使,無限制時(shí)用[]代替。@nonlcon:用.m文件定
4、義的非線性約束函數(shù)。該函數(shù)返回兩個(gè)輸出值,一個(gè)為不等式約束,另一個(gè)為等式約束;若不符合此類約束,用[]代替。1MATLAB語言在傳動(dòng)軸設(shè)計(jì)中的應(yīng)用1.1數(shù)學(xué)模型的建立例:設(shè)計(jì)一重量最輕的空心傳動(dòng)軸,其截面形狀如圖一所示,其中D,d分別為軸的外徑和內(nèi)徑。軸的長度不小于3m。軸的材料為45號鋼,密度,彈性模量,許用切應(yīng)力3,軸所受的扭矩為。圖1空心傳動(dòng)軸截面示意圖空心傳動(dòng)軸的質(zhì)量W的計(jì)算式為(單位統(tǒng)一為):(1)所設(shè)計(jì)的空心傳動(dòng)軸應(yīng)受到扭轉(zhuǎn)強(qiáng)度和扭皺穩(wěn)定性的性能約束和結(jié)構(gòu)尺寸的約束。(1)扭轉(zhuǎn)強(qiáng)度空心傳動(dòng)軸的扭轉(zhuǎn)切應(yīng)力不得超過許用值,即代入相關(guān)數(shù)據(jù)可得:(2)(
5、2)扭皺穩(wěn)定性扭轉(zhuǎn)切應(yīng)力不得超過扭轉(zhuǎn)穩(wěn)定的臨界切應(yīng)力,即空心傳動(dòng)軸的扭轉(zhuǎn)穩(wěn)定的臨界切應(yīng)力為將相關(guān)數(shù)據(jù)代入可得(3)結(jié)構(gòu)尺寸空心軸的長度不小于給定值,即;為了使設(shè)計(jì)有意義,必須;設(shè),則數(shù)學(xué)模型為:目標(biāo)函數(shù)31.1優(yōu)化的MATLAB實(shí)現(xiàn)首先編寫自定義函數(shù)ff1.m,用來輸出非線性約束:function[c,ceq]=ff1(x)c(1)=x(2)^4-x(1)^4+12700;c(2)=154.34*x(1)/(x(1)^4-x(2)^4)-((x(1)-x(2))/x(1))^1.5;ceq=[];在MATLAB命令窗口里調(diào)用ff1.mA=[0,0,-1;0,
6、-1,0;-1,1,0];b=[-3000;0;0];f=inline('6.12e-6*(x(1)^2-x(2)^2)*x(3)','x');x0=[12,10,3000];[x,fval]=fmincon(f,x0,A,b,[],[],[],[],'ff1')經(jīng)運(yùn)行,得到結(jié)果如下:x=1.0e+003*0.01150.00843.0000fval=1.1420可得:傳動(dòng)軸的外徑D=11.5mm,內(nèi)徑d=8.4mm,長度l=3000mm此時(shí)傳動(dòng)軸的質(zhì)量取得最小值1.142kg。