




已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1 第三章之Matlab軟件的程序設(shè)計(jì) 2 概述 主要介紹如下幾個(gè)方面的內(nèi)容 1 M文件的功能和特點(diǎn) 2 編制M文件和M函數(shù)文件的基本方法和重要步驟 3 Matlab軟件中流程的控制方法 語(yǔ)句格式和應(yīng)用方法 4 典型編程實(shí)例的分析與講解 5 導(dǎo)入與導(dǎo)出數(shù)據(jù)的基本方法 經(jīng)過(guò)本章的學(xué)習(xí) 讀者將能夠較為容易地使用Matlab語(yǔ)言編程 同時(shí) 也為以后各章的深入學(xué)習(xí)和理解打下基礎(chǔ) 3 3 1M文件介紹 從形式上講 Matlab程序文件是一個(gè)ASCII碼文件 標(biāo)準(zhǔn)的文本文件 擴(kuò)展名為 m 它包括了Matlab語(yǔ)言代碼 因此被稱(chēng)為M文件 從特征上講 Matlab與Basic語(yǔ)言一樣 都是解釋性編程語(yǔ)言 從功能上講 M文件大大擴(kuò)展了Matlab的能力 Mathworks公司推出的一系列工具箱 Toolbox 就是明證 4 求解三元函數(shù)的極值舉例 functionf solve 1 v 求解三元函數(shù)的極值x v 1 y v 2 z v 3 首先定義起始點(diǎn) x y zf x 2 2 5 sin y z 2 x 2 y 2 v 0 6 1 2 0 135 a fminsearch solve 1 v f a 1 2 2 5 sin a 2 a 3 2 a 2 2 a 1 2 5 M函數(shù)文件的構(gòu)成與特點(diǎn) 圓周率 函數(shù)定義行 Functiondefineline 函數(shù)定義行 它表明該M文件包含一個(gè)函數(shù) 并且定義函數(shù)名 輸入和輸出參數(shù) 本例的第一句為 functionf solve 1 v 就是函數(shù)solve 1的定義行 其中function為關(guān)鍵字 f為輸出參數(shù) solve 1為函數(shù)名 v為輸入?yún)?shù) 6 H1行 H1Line 顧名思義 H1行就是指幫助信息的第 行 在文件中的位置是第二行 這一行應(yīng)該反映該M文件概括性的信息 是該M文件非常重要的信息 在Matlab命令窗口中鍵入lookfor 查找 命令語(yǔ)句時(shí) 便搜索和顯示該行內(nèi)容 7 幫助正文 HelpText 從H1行到第一個(gè)非注釋性之間的注釋為幫助正文 對(duì)文件查詢(xún)幫助信息時(shí) 將顯示H1行和幫助正文 例如 在Matlab命令窗口中鍵入以下語(yǔ)句 helpsolve 1屏幕上顯示為 求解三元函數(shù)的極值首先定義起始點(diǎn) x y z 8 函數(shù)體 FunctionBody 函數(shù)體包含了所有執(zhí)行計(jì)算和賦值輸出參數(shù)的Matlab代碼 它可以是調(diào)用函數(shù) 流程控制 交互式輸入 輸出 計(jì)算 賦值 注釋等內(nèi)容 9 注釋 Comments 注釋語(yǔ)句以百分號(hào) 開(kāi)頭 它可以出現(xiàn)在M文件的任何地方 用戶(hù)也可以在一行代碼的后面加注解語(yǔ)句 10 M函數(shù)文件的命名規(guī)則 1 Matlab對(duì)函數(shù)名的限制和對(duì)變量名的限制相同 Matlab只識(shí)別名字的前31個(gè)字符 2 函數(shù)名必須以字母開(kāi)頭 其余的字符可以是字母 數(shù)字和下劃線 有些操作系統(tǒng)可能會(huì)限制函數(shù)名的長(zhǎng)度 3 函數(shù)的文件名一般應(yīng)該與函數(shù)名相同 即由函數(shù)名加上后綴 m 組成 4 當(dāng)函數(shù)的文件名和函數(shù)定義行的函數(shù)名不一樣時(shí) Matlab將忽略函數(shù)名而確認(rèn)文件名 不過(guò)最好將它們統(tǒng)一 以免出錯(cuò) 11 3 2Matlab的流程控制語(yǔ)句 在Matlab里面一共有8種流程控制語(yǔ)句 1 if語(yǔ)句 條件選擇結(jié)構(gòu) 其關(guān)鍵字包括if else和elseif 2 switch語(yǔ)句 也是條件選擇結(jié)構(gòu) 其關(guān)鍵字包括switch case和otherwise 3 while語(yǔ)句 循環(huán)執(zhí)行 組語(yǔ)句 執(zhí)行次數(shù)不確定 而是決定于一些邏輯條件 4 for語(yǔ)句 循環(huán)執(zhí)行一組語(yǔ)句 執(zhí)行次數(shù)確定 5 continue語(yǔ)句 直接進(jìn)行下一次循環(huán) 不執(zhí)行本次循環(huán)體余下的語(yǔ)句 6 break語(yǔ)句 結(jié)束循環(huán) 7 try和catch語(yǔ)句 運(yùn)行過(guò)程中遇到錯(cuò)誤則改變流程控制 8 return語(yǔ)句 中斷當(dāng)前函數(shù)的運(yùn)行 返回到上級(jí)調(diào)用函數(shù) 12 if語(yǔ)句 if語(yǔ)句 if else end 用于選擇結(jié)構(gòu) 最簡(jiǎn)單的調(diào)用格式為 ifexpressionstatementselseifexpressionstatementselsestatementsend 13 for循環(huán)語(yǔ)句 for語(yǔ)句 般用于循環(huán)次數(shù)確定的循環(huán)結(jié)構(gòu) 它的調(diào)用格式如下 forvariable expr statement statementendforindex start incresement endstatementend 14 while循環(huán)語(yǔ)句 while一般用于事先不能確定循環(huán)次數(shù)的循環(huán)結(jié)構(gòu) 它將循環(huán)到控制表達(dá)式為真時(shí) 它的調(diào)用格式為 whileexpressionstatementsend 15 switch case結(jié)構(gòu) switch case結(jié)構(gòu)的使用格式為 switchswitch exprcasecase expr statement statementcase case expr1 case expr2 case expr3 statement statement otherwise statement statementend 16 編程提醒 1 計(jì)算過(guò)程中 當(dāng)有些中間變量 或不重要的變量 的值我們不想顯示時(shí) 就在命令后面加上分號(hào) 來(lái)禁止顯示 2 多條命令可以寫(xiě)在同一行 只需要用逗號(hào)或分號(hào)將它們隔開(kāi) 3 有時(shí)某些命令或者數(shù)據(jù)在一行不能全部顯示 或者是為了形式上的美觀 我們可以在必要的地方加上續(xù)行符 當(dāng)然一個(gè)數(shù)字或者字符串 變量名或者函數(shù)名等 不能斷成兩行 4 有時(shí)在我們編寫(xiě)的程序中 需要加上某些注釋或者文檔 一般是便于閱讀程序 只需在文檔前面加上注釋符 即可 注意一點(diǎn)的是 新的注釋行前不能用續(xù)行符 只能用注釋符 17 舉例1 繪制磁路的電感曲線 18 19 程序 clear clc close mu0 pi 4 e 7 真空磁導(dǎo)率Ac 9e 4 鐵心橫截面面積Ag 9e 4 空氣隙橫截面面積lc 0 3 鐵心平均長(zhǎng)度N 500 鐵心線圈匝數(shù)mur 7e4 鐵心相對(duì)磁導(dǎo)率Rc lc mur mu0 Ac 鐵心磁阻forn 1 101g n 0 01 n 1 0 01 Rg n g n mu0 Ag Rtot Rg n Rc L n N 2 Rtot endplot g L ylabel 磁路電感L H xlabel 空氣隙長(zhǎng)度g cm title 磁路的電感隨著空氣隙長(zhǎng)度變化的函數(shù)曲線 20 21 舉例2繪制電機(jī)機(jī)械轉(zhuǎn)矩與轉(zhuǎn)速函數(shù)曲線 一臺(tái)三相感應(yīng)電動(dòng)機(jī) 參數(shù)分別為 230V 60Hz 12kW 4極繞線式轉(zhuǎn)子 定子有效電阻R1 0 095 定子漏電抗X1 0 680 轉(zhuǎn)子漏電抗X2 0 672 磁化電抗X2 18 7 在轉(zhuǎn)子有效電阻R2 0 1 0 2 0 5 1 0 1 5和2時(shí) 利用Matlab軟件繪制電機(jī)的機(jī)械轉(zhuǎn)矩Tmech作以r min為單位的轉(zhuǎn)子轉(zhuǎn)速的函數(shù)時(shí)的變化曲線 22 clear clc close V1 230 sqrt 3 nph 3 poles 4 fe 60 R1 0 095 X1 0 680 X2 0 672 Xm 18 7 omegas 4 pi fe poles ns 120 fe poles Z1eq j Xm R1 j X1 R1 j X1 Xm R1eq real Z1eq X1eq imag Z1eq Vleq abs V1 j Xm R1 j X1 Xm 轉(zhuǎn)子電阻的影響R2form 1 6ifm 1R2 0 1 elseifm 2 23 R2 0 2 elseifm 3R2 0 5 elseifm 4R2 1 0 elseifm 5R2 1 5 elseifm 6R2 2 end 轉(zhuǎn)差率s的影響forn 1 200s n n 200 rpm n ns 1 s n 24 I2 abs Vleq Z1eq j X2 R2 s n Tmech n nph I2 2 R2 s n omegas end 繪制曲線plot rpm Tmech ifm 1holdendendholdxlabel 轉(zhuǎn)速r rpm ylabel 機(jī)械轉(zhuǎn)矩Tmech N title 電機(jī)的機(jī)械轉(zhuǎn)矩Tmech作以r min為單位的轉(zhuǎn)子轉(zhuǎn)速的函數(shù)時(shí)變化曲線 在Matlab命令窗口中鍵入下面的命令語(yǔ)句 25 26 Matlab工具箱的查看方法 放入一個(gè)目錄中的為某種目的專(zhuān)門(mén)編寫(xiě)的一組Matlab函數(shù)就可以組成一個(gè)工具箱 從某種意義上說(shuō) 任何一個(gè)Matlab語(yǔ)言的使用者都可以是工具箱的作者 在一個(gè)工具箱中 應(yīng)該有一個(gè)名為contents m的文件 用來(lái)描述工具箱中所有Matlab函數(shù)的名稱(chēng)和意義 在該文件中第一行應(yīng)該給出該工具箱的名稱(chēng) 在最后一行中給出該工具箱的版本與修改時(shí)間等信息 然后分類(lèi)給出該工具箱中各類(lèi)函數(shù)的最基本功能 27 舉例 察看work目錄下的內(nèi)容 鍵入以下命令語(yǔ)句 typecontents m或者typecontents解釋 便會(huì)看到 work目錄下的所有用來(lái)描述工具箱中所有Matlab函數(shù)的名稱(chēng)和意義 28 舉例 察看D Matlab6p5 toolbox matlab elfun目錄下的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 泉州復(fù)工復(fù)產(chǎn)活動(dòng)方案
- 武都區(qū)文聯(lián)活動(dòng)方案
- 模板美容活動(dòng)策劃方案
- 民調(diào)宣傳活動(dòng)方案
- 梅山武術(shù)進(jìn)校園活動(dòng)方案
- 氣球守夜活動(dòng)方案
- 檳榔特價(jià)活動(dòng)方案
- 江湖俱樂(lè)部活動(dòng)方案
- 武漢公司春游活動(dòng)方案
- 母子工程活動(dòng)方案
- 2025安全生產(chǎn)月一把手講安全公開(kāi)課主題宣講三十三(60P)
- 2025至2030中國(guó)二甲醚汽車(chē)行業(yè)市場(chǎng)分析及競(jìng)爭(zhēng)形勢(shì)與發(fā)展前景預(yù)測(cè)報(bào)告
- 統(tǒng)編版七年級(jí)歷史上冊(cè)期末復(fù)習(xí)課件
- 2025春季學(xué)期國(guó)開(kāi)電大本科《人文英語(yǔ)4》一平臺(tái)機(jī)考真題及答案(第五套)
- 2025至2030中國(guó)匹克球市場(chǎng)前景預(yù)判與未來(lái)發(fā)展形勢(shì)分析報(bào)告
- 2025三明市三元區(qū)輔警考試試卷真題
- 新生兒高膽紅素血癥護(hù)理措施
- 防護(hù)窗拆除合同范本
- 關(guān)于問(wèn)責(zé)的工作報(bào)告
- 2025春季學(xué)期國(guó)開(kāi)電大專(zhuān)科《中級(jí)財(cái)務(wù)會(huì)計(jì)(二)》一平臺(tái)在線形考(第二次形考任務(wù))試題及答案
- 污水處理工程設(shè)計(jì)投標(biāo)文件技術(shù)方案
評(píng)論
0/150
提交評(píng)論