單級(jí)直齒圓柱齒輪減速器的優(yōu)化設(shè)計(jì)_第1頁
單級(jí)直齒圓柱齒輪減速器的優(yōu)化設(shè)計(jì)_第2頁
單級(jí)直齒圓柱齒輪減速器的優(yōu)化設(shè)計(jì)_第3頁
單級(jí)直齒圓柱齒輪減速器的優(yōu)化設(shè)計(jì)_第4頁
單級(jí)直齒圓柱齒輪減速器的優(yōu)化設(shè)計(jì)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上廣東石油化工學(xué)院課程設(shè)計(jì)單級(jí)直齒圓柱齒輪減速器的優(yōu)化設(shè)計(jì)single stage straightens tooth column gear reducer optimal design學(xué)院 機(jī)電工程學(xué)院 專業(yè) 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 班級(jí) 機(jī)電08-1 學(xué)生 張占新 指導(dǎo)教師(職稱) 徐正岡 完成時(shí)間 2011年 12月 12日至 2011 年 12 月 30日專業(yè)負(fù)責(zé)人批準(zhǔn)日期廣東石油化工學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書院(系): 機(jī)電工程系 專業(yè) 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 班 級(jí): 機(jī)電081班 學(xué)生: 張占新 學(xué)號(hào): 一、課程設(shè)計(jì)課題 單級(jí)直齒圓柱齒輪減速器的優(yōu)化

2、設(shè)計(jì) 二、課程設(shè)計(jì)工作自 2011 年 12 月 12 日起至 2012 年 12 月 30 日止三、課程設(shè)計(jì)進(jìn)行地點(diǎn) 廣東石油化工學(xué)院 四、課程設(shè)計(jì)的內(nèi)容要求 1資料數(shù)據(jù) (1)單級(jí)直齒圓柱齒輪減速器傳動(dòng)簡(jiǎn)圖和齒輪結(jié)構(gòu)圖; (2)傳動(dòng)比u=5、輸入功率輸入軸轉(zhuǎn)速n=980rpm。 2設(shè)計(jì)內(nèi)容 (1)綜述圓柱齒輪減速器及其優(yōu)化設(shè)計(jì); (2)建立單級(jí)直齒圓柱齒輪減速器的優(yōu)化模型; (3)運(yùn)用Matlab的優(yōu)化工具箱,編寫程序解優(yōu)化模型。 3設(shè)計(jì)要求 (1)編寫設(shè)計(jì)說明書; (2)繪制所設(shè)計(jì)的齒輪的零件圖。 (3) (4) (5) 注:設(shè)計(jì)說明書不少于1萬字,用打印機(jī)輸出。 4主要參考資料 (1)

3、徐錦康. 機(jī)械優(yōu)化設(shè)計(jì)M. 北京:機(jī)械工業(yè)出版社,1996. (2)濮良貴. 機(jī)械設(shè)計(jì)(第六版)M. 北京:高等教育出版社,1996. 指導(dǎo)教師 徐正岡 接受設(shè)計(jì)任務(wù)開始執(zhí)行日期 2011 年 12 月 12 日學(xué)生簽名 題目:?jiǎn)渭?jí)直齒圓柱齒輪減速器的優(yōu)化設(shè)計(jì)設(shè)計(jì)如圖所示的單級(jí)圓柱齒輪減速器。減速器的傳動(dòng)比,輸入功率,輸入軸轉(zhuǎn)速。要求在保證齒輪承載能力的條件下,使減速器的質(zhì)量最小。 x1 b x2 z1 x3 m X=x1 x2 x3 x4 x5 x6T =x4 l1 X5 d1 X6 d2 第一章 圓柱齒輪減速器及其優(yōu)化設(shè)計(jì)概述1.1圓柱齒輪減速器概述: 圓柱齒輪減速機(jī),是一種動(dòng)力傳達(dá)機(jī)構(gòu),

4、其利用齒輪的速度轉(zhuǎn)換器,將電機(jī)的回轉(zhuǎn)數(shù)減速到所要的回轉(zhuǎn)數(shù),并得到較大轉(zhuǎn)矩的裝置。圓柱齒輪減速機(jī)是一種相對(duì)精密的機(jī)械,使用它的目的是降低轉(zhuǎn)速,增加轉(zhuǎn)矩。 圓柱齒輪減速機(jī)的齒輪采用滲碳、淬火、磨齒加工,承載能力高、噪聲低;主要用于帶式輸送機(jī)及各種運(yùn)輸機(jī)械,也可用于其它通用機(jī)械的傳動(dòng)機(jī)構(gòu)中。它具有承載能力高、壽命長(zhǎng)、體積小、效率高、重量輕等優(yōu)點(diǎn),用于輸入軸與輸出軸呈垂直方向布置的傳動(dòng)裝置中。圓柱齒輪減速器廣泛應(yīng)用于冶金、礦山、起重、運(yùn)輸、水泥、建筑、化工、紡織、印染、制藥等領(lǐng)域。1.2單級(jí)直齒圓柱齒輪減速器的優(yōu)化設(shè)計(jì)概述 圓柱齒輪減速器是各類機(jī)械設(shè)備中廣泛應(yīng)用的傳動(dòng)裝置,因此,如何設(shè)計(jì)出體積小、質(zhì)量

5、輕、成本低但卻承載能力強(qiáng)、使用壽命長(zhǎng)的圓柱齒輪減速器,一直是設(shè)計(jì)人員關(guān)注的重要課題。實(shí)踐表明,傳統(tǒng)的減速器設(shè)計(jì)一般通過反復(fù)的試湊、校核確定設(shè)計(jì)方案,是一種以經(jīng)驗(yàn)類比為基礎(chǔ)的設(shè)計(jì)方法,帶有極大的主觀隨意性,雖然也能獲得滿足給定條件的可用的設(shè)計(jì)方案,但一般不是最佳的。只有采用優(yōu)化設(shè)計(jì)的方法,才是解決上述設(shè)計(jì)課題的有效途徑。 減速器的優(yōu)化設(shè)計(jì),一般是指在給定功率P、齒數(shù)比u、輸入轉(zhuǎn)速以及其他技術(shù)條件和要求下,找出一組使減速器的某項(xiàng)經(jīng)濟(jì)技術(shù)指標(biāo)打到最優(yōu)的設(shè)計(jì)參數(shù)。圓柱齒輪減速器的類型與結(jié)構(gòu)形式有很多種,工作條件和設(shè)計(jì)要求也各種各樣,難以用統(tǒng)一的數(shù)學(xué)模型描述不同類型、不同結(jié)構(gòu)及不同條件與設(shè)計(jì)要求的減速器

6、的優(yōu)化設(shè)計(jì)問題。通常,對(duì)不同類型的減速器,選取的設(shè)計(jì)變量是不同的。例如,對(duì)于展開式圓柱齒輪減速器,可取齒輪齒數(shù)、模數(shù)、齒寬、螺旋角及變位系數(shù)等為設(shè)計(jì)變量;對(duì)于行星齒輪減速器,設(shè)計(jì)變量除上述參數(shù)外,還可以加上行星輪個(gè)數(shù)。根據(jù)減速器工作條件和設(shè)計(jì)要求的不同, 目標(biāo)函數(shù)也不同。例如,對(duì)中心距沒有嚴(yán)格要求的減速器,可取減速器最大尺寸最小、體積最小或總質(zhì)量最小為設(shè)計(jì)目標(biāo);對(duì)給定中心距的減速器,則可取承載能力最大為設(shè)計(jì)目標(biāo),減速器的類型、結(jié)構(gòu)形式不同,約束函數(shù)也不完全一樣。設(shè)計(jì)約束一般包括邊界約束和性能約束兩類。邊界約束有最小模數(shù)、不根切 的最小齒數(shù)、螺旋角、變位系數(shù)、齒寬系數(shù)等的約束;性能約束則有接觸強(qiáng)

7、度、彎曲強(qiáng)度、總速比誤差、過渡曲線不發(fā)生干涉、重合度、齒頂厚等的約束。而對(duì)于行星齒輪減速器來說,還應(yīng)增加裝配條件、同心條件和鄰接條件等的限制。 本節(jié)介紹單級(jí)圓柱齒輪減速器以體積最小火質(zhì)量最輕為設(shè)計(jì)目標(biāo)的優(yōu)化設(shè)計(jì),其方法同樣適用于以體積最小火重量最輕為設(shè)計(jì)目標(biāo)的多級(jí)圓柱齒輪減速器的優(yōu)化設(shè)計(jì),并可作為圓錐齒輪傳動(dòng)和蝸桿傳動(dòng)最優(yōu)化設(shè)計(jì)的參考。第二章建立數(shù)模型2.1確定設(shè)計(jì)變量如圖(題目)所示,減速器的體積主要決定于箱體內(nèi)齒輪和軸的尺寸,根據(jù)齒輪幾何尺寸及結(jié)構(gòu)尺寸的計(jì)算公式,單極圓柱齒輪減速器箱體內(nèi)齒輪和軸的總體積可近似的表示為 (2-1)由上式克制,單極標(biāo)準(zhǔn)直齒圓柱齒輪減速器優(yōu)化設(shè)計(jì)的設(shè)計(jì)變量可取為

8、這里近似取2.2確定目標(biāo)函數(shù)參照?qǐng)D7-5及根據(jù)有關(guān)結(jié)構(gòu)設(shè)計(jì)的經(jīng)驗(yàn)公式將這些經(jīng)驗(yàn)公式有、,并取、將這些經(jīng)驗(yàn)公式及數(shù)據(jù)代入式(2-1)且用設(shè)計(jì)變量來表示,整理得目標(biāo)函數(shù)的表達(dá)式為 (2-2)3.3 確定約束函數(shù)1)為避免發(fā)生根切,應(yīng)有應(yīng)有于是得約束函數(shù) (2-3)2)根據(jù)工藝裝備條件,跟制大齒輪直徑不超過故小齒輪直徑不應(yīng)超過即于是有約束函數(shù) (2-4)3)為保證齒輪承載能力同時(shí)又避免載荷沿齒寬分布嚴(yán)重不均,要求齒寬系數(shù)滿足,由此得 (2-5)及 (2-6)4)對(duì)傳遞動(dòng)力的齒輪,模數(shù)不能過小,一般mm,且取標(biāo)準(zhǔn)系列值,故有 (2-7)5)按經(jīng)驗(yàn),主、從動(dòng)軸直徑的取值范圍為,故有 (2-8) (2-9

9、) (2-10) (2-11)6)按結(jié)構(gòu)關(guān)系,軸的支承跨距滿足:,其中為箱體內(nèi)壁到軸承中心線的距離,現(xiàn)取,則有約束函數(shù) (2-12)7)按齒輪的接觸疲勞強(qiáng)度和彎曲疲勞強(qiáng)度條件,應(yīng)有: (2-13) (2-14) (2-15)式中,為齒輪傳動(dòng)的標(biāo)準(zhǔn)中心距,單位為cm,;為載荷系數(shù),這里?。粸樾↓X輪傳遞扭矩,單位為,;為齒輪的許用接觸應(yīng)力,單位為,這里取;、分別為小齒輪與大齒輪的許用彎曲應(yīng)力,單位為,這里取、;、分別為小齒輪、大齒輪的齒形系數(shù),對(duì)標(biāo)準(zhǔn)齒輪: (2-16) (2-17)對(duì)以上公式進(jìn)行代入、運(yùn)算及整理,得到滿足齒輪接觸強(qiáng)度與彎曲強(qiáng)度條件的約束函數(shù): (2-18) (2-19) (2-2

10、0)根據(jù)主動(dòng)軸(本例即小齒輪軸)剛度條件,軸的最大彎曲撓度應(yīng)小于許用值,即 (2-21)其中?。粍t由下式計(jì)算: (2-22)式中,為作用在小齒輪齒面上的法相載荷,單位為,為齒輪壓力角,;E為軸的材料的彈性模數(shù),;為軸的慣性矩,單位為,對(duì)圓形截面,。同理,對(duì)以上公式進(jìn)行代入、運(yùn)算及整理,可得到滿足軸的彎曲剛度條件的約束函數(shù) (2-23)8)按軸的彎曲強(qiáng)度條件,有 (2-24)式中,為軸受的扭矩,;為軸所受的彎矩,單位為,;為考慮扭矩和彎矩作用性質(zhì)詫異的系數(shù),這里??;為軸的許用彎曲應(yīng)力,;為軸的抗彎剖面模數(shù),對(duì)實(shí)心軸,。由此,對(duì)小齒輪和大齒輪軸,可分別寫出滿足彎曲強(qiáng)度條件的約束函數(shù) (2-25)及

11、 (2-26)綜上所述,單級(jí)標(biāo)準(zhǔn)直齒圓柱齒輪減速器以體積最小為優(yōu)化目標(biāo)的優(yōu)化設(shè)計(jì)問題,是個(gè)具有十六個(gè)不等式約束的六維優(yōu)化問題,其數(shù)學(xué)模型可簡(jiǎn)記為 第三章 優(yōu)化工具3.1 Matlab背景介紹 MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱,是美國(guó)MathWorks公司出品的商業(yè),用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。20世紀(jì)70年代,美國(guó)新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任Cleve Moler為了減輕學(xué)生編程的負(fù)擔(dān),用FORTRAN編寫了最早的MATLAB。1984年由Little、Mole

12、r、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市場(chǎng)。到20世紀(jì)90年代,MATLAB已成為國(guó)際控制界的標(biāo)準(zhǔn)計(jì)算軟件。時(shí)至今日,經(jīng)過Math Works公司的不斷完善,MATLAB已經(jīng)發(fā)展成為適合多學(xué)科、多種工作平臺(tái)的功能強(qiáng)勁的大型軟件。在國(guó)外,MATLAB已經(jīng)經(jīng)受了多年考驗(yàn)。在歐美等高校,MATLAB已經(jīng)成為線性代數(shù)、自動(dòng)控制理論、數(shù)理統(tǒng)計(jì)、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真等高級(jí)課程的基本教學(xué)工具;成為攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本技能。在設(shè)計(jì)研究單位和工業(yè)部門,MATLAB被廣泛用于科學(xué)研究和解決各種具體問題14。3.2 Mat

13、lab語言介紹3.2.1 Matlab語言的特點(diǎn) 一種語言之所以能如此迅速地普及,顯示出如此旺盛的生命力,是由于它有著不同于其他語言的特點(diǎn)。正如同F(xiàn)ORTRAN和C等高級(jí)語言使人們擺脫了需要直接對(duì)計(jì)算機(jī)硬件資源進(jìn)行操作一樣,被稱作為第四代計(jì)算機(jī)語言的MATLAB,利用其豐富的函數(shù)資源,使編程人員從繁瑣的程序代碼中解放出來。MATLAB的最突出的特點(diǎn)就是簡(jiǎn)潔。MATLAB用更直觀的、符合人們思維習(xí)慣的代碼,代替了C和FORTRAN語言的冗長(zhǎng)代碼。MATLAB給用戶帶來的是最直觀、最簡(jiǎn)潔的程序開發(fā)環(huán)境。以下簡(jiǎn)單介紹一下MATLAB的主要特點(diǎn)。(1) 語言簡(jiǎn)潔緊湊,使用方便靈活,庫(kù)函數(shù)極其豐富。MA

14、TLAB程序書寫形式自由,利用其豐富的庫(kù)函數(shù)避開繁雜的子程序編程任務(wù),壓縮了一切不必要的編程工作。由于庫(kù)函數(shù)都由本領(lǐng)域的專家編寫,用戶不必?fù)?dān)心函數(shù)的可靠性。可以說,用MATLAB進(jìn)行科技開發(fā)是站在專家的肩膀上。具有FORTRAN和C等高級(jí)計(jì)算機(jī)語言知識(shí)的讀者可能已經(jīng)注意到,如果用FORTRAN或C語言去編寫程序,尤其當(dāng)涉及矩陣運(yùn)算和畫圖時(shí),編程會(huì)很麻煩。例如,如果用戶想求解一個(gè)線性代數(shù)方程,就得編寫一個(gè)程序塊讀入數(shù)據(jù),然后再使用一種求解線性方程的算法(例如追趕法)編寫一個(gè)程序塊來求解方程,最后再輸出計(jì)算結(jié)果。在求解過程中,最麻煩的要算第二部分。解線性方程的麻煩在于要對(duì)矩陣的元素作循環(huán),選擇穩(wěn)定

15、的算法以及代碼的調(diào)試都不容易。即使有部分源代碼,用戶也會(huì)感到麻煩,且不能保證運(yùn)算的穩(wěn)定性。解線性方程的程序用FORTRAN和C這樣的高級(jí)語言編寫至少需要好幾十行。再如用雙步QR方法求解矩陣特征值,如果用FORTRAN編寫,至少需要四百多行,調(diào)試這種幾百行的計(jì)算程序可以說很困難。以下為用MATLAB編寫以上兩個(gè)小程序的具體過程。用MATLAB求解下列方程,并求矩陣A的特征值。 其中:解為:x=Ab;設(shè)A的特征值組成的向量為e,e=eig(A)??梢?,MATLAB的程序極其簡(jiǎn)短。更為難能可貴的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB會(huì)根據(jù)矩陣的特性選擇方程的求解方法,

16、所以用戶根本不用懷疑MATLAB的準(zhǔn)確性。(2) 運(yùn)算符豐富。由于MATLAB是用C語言編寫的,MATLAB提供了和C語言幾乎一樣多的運(yùn)算符,靈活使用MATLAB的運(yùn)算符將使程序變得極為簡(jiǎn)短。(3) MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán)、while循環(huán)、break語句和if語句),又有面向?qū)ο缶幊痰奶匦浴?4) 語法限制不嚴(yán)格,程序設(shè)計(jì)自由度大。例如,在MATLAB里,用戶無需對(duì)矩陣預(yù)定義就可使用。(5) 程序的可移植性很好,基本上不做修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)行。(6) MATLAB的圖形功能強(qiáng)大。在FORTRAN和C語言里,繪圖都很不容易,但在MATLAB里,數(shù)

17、據(jù)的可視化非常簡(jiǎn)單。MATLAB還具有較強(qiáng)的編輯圖形界面的能力。(7) MATLAB的缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。(8) 功能強(qiáng)勁的工具箱是MATLAB的另一重大特色。MATLAB包含兩個(gè)部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個(gè)核心內(nèi)部函數(shù)。其工具箱又可分為兩類:功能性工具箱和學(xué)科性工具箱。功能性工具箱主要用來擴(kuò)充其符號(hào)計(jì)算功能、圖示建模仿真功能、文字處理功能以及與硬件實(shí)時(shí)交互功能。功能性工具箱能用于多種學(xué)科。而學(xué)科性工具箱是專業(yè)性比較強(qiáng)的,如control、toolbo

18、x、signal processing toolbox、communication toolbox等。這些工具箱都是由該領(lǐng)域內(nèi)的學(xué)術(shù)水平很高的專家編寫的,所以用戶無需編寫自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而直接進(jìn)行高、精、尖的研究。(9) 源程序的開放性。開放性也許是MATLAB最受人們歡迎的特點(diǎn)。除內(nèi)部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過對(duì)源文件的修改以及加入自己的文件構(gòu)成新的工具箱。3.2.2 Matlab語句的基本功能 進(jìn)入MATLAB之后,會(huì)看到一個(gè)MATLAB Command Window,稱為命令窗,它是最主要的窗口,既是鍵入命令也是顯示計(jì)算結(jié)果

19、的地方。另外還有一個(gè)編程窗,專門用來編輯應(yīng)用程序。還有一個(gè)主窗口,用來記錄已使用過的歷史命令和已打開的目錄,方便使用者查找。如果繪圖還會(huì)自動(dòng)彈出一個(gè)繪圖窗,專門用來顯示繪制的圖形。MATLAB一般有3種進(jìn)行計(jì)算的方法,第1種就如同使用計(jì)算器,直接輸入數(shù)值和運(yùn)算符,立即從屏幕上獲得結(jié)果。第2種先對(duì)變量賦值,然后再輸入由變量構(gòu)成的表達(dá)式,也可立即獲得結(jié)果。第3種,就是采用編程的方法來解決較復(fù)雜的,諸如含有判斷、循環(huán)、迭代、遞歸等算法的較復(fù)雜的問題。上述方法中,第2和第3包括了數(shù)組和矩陣運(yùn)算,只要定義了數(shù)組和矩陣變量,就可以如同普通代數(shù)運(yùn)算一樣直接用變量進(jìn)行數(shù)學(xué)運(yùn)算,十分方便。MATLAB提供的基本

20、算術(shù)運(yùn)算有:加(+)、減()、乘(*)、除(/)、冪次方()。MATLAB的關(guān)系和邏輯運(yùn)算符與其他軟件基本相同,僅列表加以說明:表1 MATLAB的邏輯運(yùn)算符符 號(hào)功 能符 號(hào)功 能=賦值運(yùn)算&邏輯與運(yùn)算= =關(guān)系運(yùn)算,相等|邏輯或運(yùn)算 不等于-邏輯非運(yùn)算<小于xor邏輯異或運(yùn)算<=小于等于續(xù)行標(biāo)志>大于,分行符,結(jié)果不顯示>=大于等于;分行符,結(jié)果顯示%注釋標(biāo)志矩陣轉(zhuǎn)置.向量轉(zhuǎn)量MATLAB可以將計(jì)算結(jié)果以不同的精度輸出,列表說明如下:表2 MATLAB精度列表命 令說 明format short默認(rèn)顯示,保留小數(shù)點(diǎn)后4位format long有效數(shù)字16位f

21、ormat long e有效數(shù)字16位加3位指數(shù)format short e 有效數(shù)字5位加3位指數(shù)format bank保留兩位小數(shù)位format +只給出正、負(fù)format rational以分?jǐn)?shù)形式表示format hex16進(jìn)制數(shù)format long g15位有效數(shù)format short g5位有效數(shù)MATLAB對(duì)使用變量名稱的規(guī)定:(1)變量名稱的英文大小寫是有區(qū)別的(apple、Apple、AppLe三個(gè)變量不同)。(2)變量的長(zhǎng)度上限為19個(gè)字母。(3)變量名的第一個(gè)字母必須是英文,隨后可以摻雜英文字、數(shù)字或是下劃線。下表給出MATLAB所定義的特殊變量及其意義。表3 MAT

22、LAB的特殊變量變量名意 義help在線幫助,如help quitwho列出所有定義過的變量名稱ans默認(rèn)的用來表示計(jì)算結(jié)果的變量名eps極小值=2.2204e-16pi值inf無窮大的數(shù)nan非數(shù)值3 .3 Matlab編程3.3.1 控制語句MATLAB也有控制流語句,用于控制程序的流程。主要有for循環(huán)、while循環(huán)、if和break三種控制語句。雖然語句很少,但功能很強(qiáng)。(1) for循環(huán)語句for循環(huán)語句的一般表達(dá)形式為:for i=表達(dá)式 可執(zhí)行語句1 可執(zhí)行語句nend(2) while循環(huán) while循環(huán)語句用來控制一個(gè)或一組語句在某邏輯條件下重復(fù)預(yù)先確定或不確定的次數(shù)。wh

23、ile循環(huán)語句的一般表達(dá)形式為:while 表達(dá)式 循環(huán)體語句end(3) if和break語句MATLAB中if和break語句的作用與使用方式同其它編程語言一樣,用來將控制流程進(jìn)行分流與中斷退出。(4) if else end分支結(jié)構(gòu)分支結(jié)構(gòu)有三種形式:if 表達(dá)式 執(zhí)行語句 end如果表達(dá)式的值非0,則執(zhí)行下面的語句.否則執(zhí)行end后面的語句。if 表達(dá)式 執(zhí)行語句1 else 執(zhí)行語句2 endif 表達(dá)式1 執(zhí)行語句1 elseif 表達(dá)式2 執(zhí)行語句2 elseif 表達(dá)式3 執(zhí)行語句3 else (此句可以省略) 執(zhí)行語句n end3.3.2 創(chuàng)建M文件創(chuàng)建M文件是MATLAB中

24、的非常重要的內(nèi)容.事實(shí)上,正是由于在MATLAB 工具箱中存放著大量的M文件,使得MATLAB在應(yīng)用起來顯得簡(jiǎn)單、方便,且功能強(qiáng)大。如果用戶根據(jù)自己的需要,開發(fā)出適用于自己的M文件,不僅能使MATLAB更加貼近用戶自己,而且能使MATLAB的功能得到擴(kuò)展。M文件有兩種形式:命令文件和函數(shù)文件當(dāng)用戶要運(yùn)行的命令較多時(shí),如果直接在命令窗口中逐條輸入和運(yùn)行,有諸多不便。此時(shí)可通過編寫命令文件來解決這個(gè)問題。另外,從前面的許多例子可以看到:MATLAB的許多命令,需要用戶通過編寫函數(shù)文件來執(zhí)行。(1) 命令文件的創(chuàng)立進(jìn)入MATLAB命令窗口后,選擇“file”下拉式菜單中的“new”進(jìn)入編輯/調(diào)試器(

25、Editer/Debugger),在編輯/調(diào)試器中,編寫符合語法規(guī)則的命令。編寫完命令文件后,選擇“file”下拉式菜單中的“save”項(xiàng),然后依提示輸入一個(gè)文件名。至此,完成了命令文件的創(chuàng)建。(2) 函數(shù)文件的創(chuàng)立函數(shù)文件的創(chuàng)立方法與命令文件的創(chuàng)立方法完全一樣,只是函數(shù)文件的第一句可執(zhí)行語句是以function引導(dǎo)的定義語句,并且輸入文件名時(shí)要與定義語句中的函數(shù)名相同。建立了函數(shù)文件或命令文件后,只要在命令窗口鍵入命令文件名或函數(shù)名,就可執(zhí)行M文件中所包含的所有命令。下面分別創(chuàng)建并運(yùn)行一個(gè)命令文件和一個(gè)函數(shù)文件,以了解M文件的創(chuàng)建和運(yùn)行的全過程。計(jì)算所有小于1000的Fibonnaci數(shù)。3

26、.3.3命令文件的創(chuàng)建和運(yùn)行:(1) 在MATLAB的命令窗口點(diǎn)擊“新建”工具欄或在“file”下拉菜單中選“New”中的“M-file”項(xiàng),進(jìn)入編輯/調(diào)試器。(2) 在編輯/調(diào)試器中,輸入以下命令:% 計(jì)算小于1000的Fibonnaci數(shù) f=1,1; i=1; while f(i)+f(i+1)<1000 f(i+2)=f(i)+f(i+1); i=i+1; end f,i(3) 在“file”下拉菜單中選“Save”項(xiàng),依提示輸入文件名“fibno”至此,完成了命令文件fibno.m的創(chuàng)建。(4) 執(zhí)行fibno在MATLAB窗口中輸入fibno并敲回車鍵,計(jì)算機(jī)依次執(zhí)行fibn

27、o中的各條命令后顯示如下的結(jié)果:ans = Columns 1 through 12 1 1 2 3 5 8 13 21 34 55 89 144Columns 13 through 16 233 377 610 987函數(shù)文件的創(chuàng)建和運(yùn)行:(1) 在MATLAB的命令窗口點(diǎn)擊“新建” 工具欄或在“file” 下拉菜單中選“New”中的“M-file”項(xiàng),進(jìn)入編輯/調(diào)試器。(2) 在編輯/調(diào)試器中,輸入以下命令:function f=ffibno(n)f=1,1;i=1;while f(i)+f(i+1)<nf(i+2)=f(i)+f(i+1);i=i+1;endf(3) 在“ffile

28、”下拉菜單中選“Save”項(xiàng),依提示輸入文件名“ffibno”至此,完成了函數(shù)文件ffibno.m的創(chuàng)建。(4) 執(zhí)行ffibno。在MATLAB窗口中輸入ffibno(1000)并敲回車鍵即可。3.4 fmincon函數(shù)優(yōu)化工具箱提供fmincon函數(shù)用于對(duì)有約束優(yōu)化問題進(jìn)行求解,其語法格式如下:x = fmincon(fun,x0,A,b)x = fmincon(fun,x0,A,b,Aeq,beq)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fmincon(fu

29、n,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2, .)x,fval = fmincon(.)x,fval,exitflag = fmincon(.)x,fval,exitflag,output = fmincon(.)其中,x, b, beq, lb,和ub為線性不等式約束的上、下界向量, A 和 Aeq 為線性不等式約束和等式約束的系數(shù)矩陣矩陣,fun為目標(biāo)函數(shù),nonlcon為非線性約束函數(shù)。顯然,其調(diào)用語法中有很多和無約束函數(shù)fminunc的

30、格式是一樣的,其意義也相同,在此不在重復(fù)介紹。對(duì)應(yīng)上述調(diào)用格式的解釋如下:x = fmincon(fun,x0,A,b) 給定初值x0,求解fun函數(shù)的最小值x。fun函數(shù)的約束條件為A*x <= b,x0可以是標(biāo)量或向量。x = fmincon(fun,x0,A,b,Aeq,beq) 最小化fun函數(shù),約束條件為Aeq*x = beq 和 A*x <= b。若沒有不等式線性約束存在,則設(shè)置A=、b=。x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub) 定義設(shè)計(jì)變量x的線性不等式約束下界lb和上界ub,使得總是有l(wèi)b <= x <= ub。若無等

31、式線性約束存在,則令A(yù)eq=、beq=。x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) 在上面的基礎(chǔ)上,在nonlcon參數(shù)中提供非線性不等式c(x)或等式ceq(x)。 fmincon函數(shù)要求c(x) <= 0且ceq(x) = 0。x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 用options參數(shù)指定的參數(shù)進(jìn)行最小化。x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,.) 將問題參數(shù)P1, P2等直接傳遞給函數(shù)f

32、un和nonlin。若不需要這些變量,則傳遞空矩陣到A, b, Aeq, beq, lb, ub, nonlcon和 options。x,fval = fmincon(.) 返回解x處的目標(biāo)函數(shù)值到fval。x,fval,exitflag = fmincon(.) 返回exitflag參數(shù),描述函數(shù)計(jì)算的有效性,意義同無約束調(diào)用。x,fval,exitflag,output = fmincon(.) 返回包含優(yōu)化信息的輸出參數(shù)output。非線性不等式約束nonlcon的定義方法該參數(shù)計(jì)算非線性不等式約束c(x)<=0 和非線性等式約束ceq(x)=0。 nonlcon 參數(shù)是一個(gè)包含函

33、數(shù)名的字符串。該函數(shù)可以是M文件、內(nèi)部文件或MEX文件。它要求輸入一個(gè)向量x,返回兩個(gè)變量解x處的非線性不等式向量c和非線性等式向量ceq。例如,若nonlcon='mycon',則M文件mycon.m須具有下面的形式:function c,ceq = mycon(x)c = . % 計(jì)算x處的非線性不等式。ceq = . % 計(jì)算x處的非線性等式。若還計(jì)算了約束的梯度,即options = optimset('GradConstr','on')則nonlcon函數(shù)必須在第三個(gè)和第四個(gè)輸出變量中返回c(x)的梯度GC和ceq(x)的梯度Gceq。

34、function c,ceq,GC,GCeq = mycon(x) c = . % 解x處的非線性不等式。 ceq = . % 解x處的非線性等式。 if nargout > 2 % 被調(diào)用的nonlcon函數(shù),要求有4個(gè)輸出變量。 GC = . % 不等式的梯度。 GCeq = . % 等式的梯度。 end第四章 編程求解與優(yōu)化結(jié)果4.1目標(biāo)函數(shù)文件function f=myfun(x)f=0.*(4.75*x(1)*x(2)2*x(3)2+85*x(1)*x(2)*x(3)2-85*x(1)*x(3)2+0.92*x(1)*x(6)2-x(1)*x(5)2+0.8*x(1)*x(2)

35、*x(3)*x(6)-1.6*x(1)*x(3)*x(6)+x(4)*x(5)2+x(4)*x(6)2+28*x(5)2+32*x(6)2)4.2 不等式約束函數(shù)文件functionc,ceq=myobj(x)c=x(2)*x(3)-30;x(1)*x(3)(-1)-35;16-x(1)*x(3)(-1);x(1)+0.5*x(6)+4-x(4);41840*x(2)(-1)*x(3)(-1)*sqrt(x(1)(-1)-855; 6461*1/(x(1)*x(2)*x(3)(2)*(0.169+0.6666*10(-2)*x(2)-0.854*10(-4)*x(2)(2)-261; 6461*1/(x(1)*x(2)*x(3)(2)*(0.2824+0.177*10(-2)*x(2)-0.394*10(-4)*x(2)(2)-213;0.01229*x(2)(-1)*x(3)(-1)*x(4)(3)*x(5)(-4)-0.003*x(4); 26444*1/(x(2)*x(3)*x(4)*x(5)(-3)*sqrt(1+0.29709*x(2)2*x(3)2*x(4)(-2)-55; 26444*1/(x(2)*x(3)*x(4)*x(6

溫馨提示

  • 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論