matlab及機(jī)電系統(tǒng)仿真講稿20150425_第1頁(yè)
matlab及機(jī)電系統(tǒng)仿真講稿20150425_第2頁(yè)
matlab及機(jī)電系統(tǒng)仿真講稿20150425_第3頁(yè)
matlab及機(jī)電系統(tǒng)仿真講稿20150425_第4頁(yè)
matlab及機(jī)電系統(tǒng)仿真講稿20150425_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、講稿第一章 MATLAB基礎(chǔ)1.1 MATLAB環(huán)境1.2 MATLAB主菜單:1. File1)New 主要:M-file,function M-file 默認(rèn)存放路徑:c:2)open 默認(rèn)路徑:c: ,可以改變當(dāng)前路徑:Current Direcory 右邊小點(diǎn),上層文件夾返回上層文件夾3) close command window 慎用 如果某個(gè)窗口不慎關(guān)閉,菜單項(xiàng)desktop layout-default可恢復(fù)默認(rèn)設(shè)置4) Import Data 少用5) Save workspace As 保存工作空間中的數(shù)據(jù)6) Set path 少用 7) Prefence 少用8) Pag

2、e setup 頁(yè)面設(shè)置9) Print 打印2. Edit 恢復(fù)/重做;copy,cut,paste;選擇,刪除;尋找;清除窗口及工作空間內(nèi)容。3. Debug 調(diào)試4. Desktop MATLAB桌面。包括命令窗口操作;桌面布置;選擇要打開的窗口;5. Window 6. Help1.3 工具欄MATLAB工具欄,提供常用命令的快捷方式。其中: 進(jìn)入Simulink模擬環(huán)境。1.3.3 命令窗口(command)是MATLAB的主要工作區(qū),人機(jī)對(duì)話的主要環(huán)境。在此運(yùn)行各種命令,可以得到相應(yīng)結(jié)果。如窗口右上角符號(hào):undock,使命令窗口成為一個(gè)獨(dú)立窗口,在獨(dú)立窗口右上角有一個(gè),可以使命令

3、窗口回到主界面:最小化命令窗口:最大化命令窗口:關(guān)閉命令窗口,要重新顯示,菜單desktop下打開在>>后逐行輸入命令,按回車鍵后就可立即得到執(zhí)行??梢酝ㄟ^反復(fù)按鍵盤的箭頭鍵,實(shí)現(xiàn)指令回調(diào)和編輯,進(jìn)行新的計(jì)算y2=2*cos(0.3*pi)/(1+sqrt(5);1.4 工作空間(workspace)暫時(shí)存放命令或程序運(yùn)行的結(jié)果以及程序或命令中出現(xiàn)的常數(shù)和變量的一個(gè)空間。1. 查看工作空間:WhoWhos2. 清除空間中的變量和數(shù)據(jù)Clear3. 保存空間中的數(shù)據(jù)和變量File菜單中 save workspace as 命令保存也可以通過工作空間瀏覽器進(jìn)行操作:(1) 刪除部分內(nèi)存

4、變量(2) 刪除全部?jī)?nèi)存變量(3) 選中變量,進(jìn)行顯示。可以選擇多種顯示方法。例:輸入以下指令,觀察運(yùn)算結(jié)果 clear;x=-8:0.5:8;y=x'X=ones(size(y)*x;Y=y*ones(size(x);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;mesh(X,Y,Z);%建立三維網(wǎng)格colormap(hot)% colormap著色,hot從黑到紅到黃到白xlabel('x');ylabel('y');zlabel('z') 1.5 MATLAB常用命令表格 1 MATLAB常用命令命令命令說明命令命

5、令說明cd顯示或改變當(dāng)前工作目錄Load加載指定文件的變量dir顯示當(dāng)前目錄或指定目錄下的文件Diary日志文件命令clc清除命令窗口中的所有顯示內(nèi)容!調(diào)用DOS命令home將光標(biāo)移至命令窗口的最左上角exit退出MATLAB 70clf清除圖形窗口quit退出MATLAB 70type顯示文件內(nèi)容pack收存內(nèi)存碎片clear清理當(dāng)前工作空間變量,慎用!hold圖形保持開關(guān)echo工作窗信息顯示開關(guān)path顯示搜索目錄disp顯示變量或文字內(nèi)容save保存內(nèi)存變量到指定文件1.6 快捷鍵1. 在命令窗口(Command Window)中:1) 【上、下鍵】切換到之前、之后的命令,可以重復(fù)按多

6、次來(lái)達(dá)到你想要的命令2) clc清除命令窗口顯示的語(yǔ)句,此命令并不清空當(dāng)前工作區(qū)的變量,僅僅是把屏幕上顯示出來(lái)的語(yǔ)句清除掉3) clear這個(gè)才是清空當(dāng)前工作區(qū)的變量命令,常用語(yǔ)句clear all來(lái)完成4) 【Tab】鍵在command窗口,輸入一個(gè)命令的前幾個(gè)字符,然后按tab鍵,會(huì)彈出前面含這幾個(gè)字符的所有命令,找到你要的命令,回車,就可以自動(dòng)完成。目前討論結(jié)果是:matlab6.5版本中,如果候選命令超過100個(gè),則不顯示。而在matlab7以后版本中,則沒有這個(gè)限制,均可正常提示5) 【Ctrl+C】(或【CtrlBreak】)在matlab程序運(yùn)行過程中,可能由于程序編寫的失誤,導(dǎo)

7、致程序不停的運(yùn)行,在命令窗口輸入“Ctrl+C”可以將運(yùn)行的程序停下來(lái),而不需要將整個(gè)Matlab程序關(guān)掉。不過進(jìn)行此操作的前提是能夠激活切換到命令窗口才行,1.7 交互輸入 Input 提示用戶輸入Keyboard像底稿文件一樣使用鍵盤輸入menu產(chǎn)生由用戶輸入選擇的菜單pause等待用戶響應(yīng)uimenu建立用戶界面菜單uicontrol建立用戶界面控制Input指令格式user_entry = input('prompt') 提示輸入數(shù)值例子:p=input('輸入極對(duì)數(shù)p=')運(yùn)行結(jié)果:輸入極對(duì)數(shù)p=3p = 3例2 user_entry = input(

8、'prompt', 's') 提示輸入字符串reply = input('Do you want more? Y/N Y: ', 's');if isempty(reply) reply = 'Y'End若鍵入“Y”,則reply =字符串“Y"。若鍵入“N”,則reply =字符串“N"。若直接回車,則reply =空字符串” “,然后reply =字符串“Y”。Pause 注意這里沒有任何提示1.8調(diào)試: 斷點(diǎn)等設(shè)置斷點(diǎn)刪除斷點(diǎn)繼續(xù)執(zhí)行改變局部工作空間的內(nèi)容列出調(diào)用者列出所有斷點(diǎn)執(zhí)行一條或多

9、條語(yǔ)句帶行號(hào)列出M文件改變局部工作空間的內(nèi)容退出調(diào)試狀態(tài)第二章MATLAB計(jì)算基礎(chǔ)MATLAB的計(jì)算主要是數(shù)組和矩陣的計(jì)算,并且定義的數(shù)值元素是復(fù)數(shù),這是MATLAB的重要特點(diǎn)。2.1 常量和變量(1) 常量 實(shí)數(shù)和復(fù)數(shù),1. 常量可以是十進(jìn)制數(shù),也可以是其他數(shù)制。2. 復(fù)數(shù) 虛數(shù)的單位為i或j,復(fù)數(shù)生成語(yǔ)句為Z=a+bi,如z=3+4j;z=r*exp(q*i),其中r為復(fù)數(shù)的模,q為復(fù)數(shù)的幅角(弧度) a=53*pi/180,z=5*exp(a*i)3. MATLAB常數(shù)的存儲(chǔ)格式為16位長(zhǎng)型格式,數(shù)值的有效范圍為10-30810308(2) 變量MATLAB變量的命名規(guī)則:1) 以英文字

10、母開始,即首字符必須是英文的26個(gè)字母之一2) 可以由英文字母、數(shù)字和下劃線組成,MATLAB區(qū)分大小寫3) 變量名長(zhǎng)度不超過31個(gè)字符長(zhǎng)度4) 如果在變量名前添加了關(guān)鍵詞“global”該變量就變成了全局變量。全局變量不僅在主程序中起作用,而且在函數(shù)和子程序中起作用。定義全局變量必須在主程序的首行。表格 2 MATLAB預(yù)定義變量表變量名預(yù)定義ans默認(rèn)變量名。分配最新計(jì)算的而又沒有給定名稱的表達(dá)式的值。當(dāng)在命令窗口中輸入表達(dá)式而不賦值給任何變量時(shí),在命令窗口中會(huì)自動(dòng)創(chuàng)建變量ans,并將表達(dá)式的運(yùn)算結(jié)果賦給該變量。但是變量ans僅保留最近一次的計(jì)算結(jié)果eps相對(duì)誤差。返回機(jī)器精度,定義了1與

11、最接近可代表的浮點(diǎn)數(shù)之間的差,在一些命令中也用做偏差。可重新定義,但不能由clear命令恢復(fù)。MATLAB70為22204e016realmax最大正實(shí)數(shù)。返回計(jì)算機(jī)能處理的最大浮點(diǎn)數(shù)。MATLAB7.0為1.7977e+308。realmin最小正實(shí)數(shù)。返回計(jì)算機(jī)能處理的最小的非零浮點(diǎn)數(shù)。MATLAB7.0為2.22e-308pi即。若eps足夠小,則用16位十進(jìn)制數(shù)表達(dá)其精度Inf/inf無(wú)窮大。定義為,即當(dāng)分母或除數(shù)為0時(shí)返回inf,不中斷執(zhí)行而繼續(xù)運(yùn)算Nan(NaN)不定值。定義為“Not a number”,即未定式0/0或¥/¥。i/j虛數(shù)單位??梢詾閕和j定義

12、其他值但不再是預(yù)定義常數(shù)nargin給出一個(gè)函數(shù)調(diào)用過程中實(shí)際輸入的參數(shù)的個(gè)數(shù)nargout給出一個(gè)函數(shù)調(diào)用過程中實(shí)際輸出的參數(shù)的個(gè)數(shù)computer給出本臺(tái)計(jì)算機(jī)的基本信息version給出MATLAB的版本信息2.2 數(shù)值顯示格式缺省情況下,當(dāng)結(jié)果是整數(shù),將它作為整數(shù)顯示;當(dāng)是實(shí)數(shù),以帶4位小數(shù)的浮點(diǎn)格式精度近似顯示;當(dāng)結(jié)果中的有效數(shù)字超出了這一范圍,以類似于科學(xué)計(jì)算器的科學(xué)計(jì)數(shù)法近似顯示。輸出格式不影響計(jì)算的精度。2.3 注釋和標(biāo)點(diǎn) 同一行多個(gè)命令用逗號(hào)分開,%號(hào)后所有文字為注釋(綠色)。2.4 簡(jiǎn)單數(shù)組、矩陣的表示和賦值數(shù)組:按一定次序排列的數(shù)矩陣:m*n個(gè)數(shù),按m行和n列排列而成的表

13、數(shù)組可以是一維的,也可以是n維的所以一維數(shù)組可以看成1行多列的矩陣,n維數(shù)組就是矩陣了。單個(gè)的數(shù)和標(biāo)量可看成是1*1的矩陣,所以數(shù)和數(shù)組都可以看成矩陣。1. 一維數(shù)組的表示和賦值。元素之間用空格或逗號(hào)分隔都可。X=1 2 3 4 5Y=7 8 9 1+2i 3+4iZ=1,2,3,a,b,c,變量名需先賦值P=pi,2*pi,1.3*sqrt(3),(1+2)/5*42. n維數(shù)組的表示和賦值 洪乃剛每行的元素之間用空格或逗號(hào)分隔;行與行之間用分號(hào)或回車鍵分隔。1 A=1 2 3;4 5 6;7 8 92 A=1 2 3 4 5 6 7 8 9結(jié)果都是 A = 1 2 3 4 5 6 7 8

14、9數(shù)組元素可以是表達(dá)式:B=1,2,3;a,b (a+b)/2,需先賦值a=5,b=6,B=1,2,3;a,b (a+b)/2a = 5b = 6B = 1.0000 2.0000 3.00005.0000 6.0000 5.50002.5 MATLAB算術(shù)運(yùn)算表格 3 MATLAB算術(shù)運(yùn)算符算術(shù)運(yùn)算符說明算術(shù)運(yùn)算符說明+加-減*矩陣乘*數(shù)組乘矩陣乘方數(shù)組乘方矩陣左除或反斜杠/矩陣右除或斜杠或數(shù)組左除/數(shù)組右除矩陣轉(zhuǎn)置。數(shù)組轉(zhuǎn)置kron張量積1. 矩陣轉(zhuǎn)置a=1 2 3;4 5 6;7 8 9b=a運(yùn)行結(jié)果a = 1 2 3 4 5 6 7 8 9b = 1 4 7 2 5 8 3 6 9對(duì)實(shí)

15、數(shù)矩陣,符號(hào)實(shí)現(xiàn)轉(zhuǎn)置,對(duì)復(fù)數(shù)矩陣,完成共軛轉(zhuǎn)置a=1+2j 2-3j ; 4+5j 5-6jb=a運(yùn)行結(jié)果a = 1.0000 + 2.0000i 2.0000 - 3.0000i 4.0000 + 5.0000i 5.0000 - 6.0000ib = 1.0000 - 2.0000i 4.0000 - 5.0000i 2.0000 + 3.0000i 5.0000 + 6.0000i2. 矩陣加減(1) 兩矩陣加減 對(duì)應(yīng)元素進(jìn)行加減A=1 2 3;4 5 6;7 8 9B=1,4,7;8 9 10;11 12 13C=a+b a=1,b=2,c=a+b(2) 矩陣與標(biāo)量加減X=-1 0 2

16、Y=X-1運(yùn)行結(jié)果X = -1 0 2Y = -2 -1 13. 矩陣乘法(1) 兩矩陣相乘,內(nèi)維要相同 X=2 3 4 5 1 2 2 1Y=0 1 1 1 1 0 0 0 1 1 0 0 Z=X*Y運(yùn)行結(jié)果X = 2 3 4 5 1 2 2 1Y = 0 1 1 1 1 0 0 0 1 1 0 0Z = 8 5 6 3 3 3數(shù)值可以看成是1*1矩陣:X=23;Y=33;Z=X*YThe resultZ = 759(2) 矩陣與標(biāo)量相乘,矩陣數(shù)乘A=2 3 4 5 1 2 2 1B=A*2The resultB = 4 6 8 10 2 4 4 2(3) 向量積(數(shù)積)X=-1 0 2 %

17、 轉(zhuǎn)置后為列向量Y=-2 -1 1 %Z=X*Y4. 矩陣除法Ab=inv(a)*b inv-矩陣求逆B/a=b*inv(a)。一般情況下,x=ab(左除)是方程a*x=b的解;x=a/b(右除)是x*a=b的解A=1 2 3;4 2 6;7 4 9B=4;1;2C=ab(左除)The resultC = -1.5000 2.00000.5000單個(gè)數(shù)據(jù)相除A=3,b=2C=AbD=a/bA =3,b = 2, C = 0.6667, D =1.5000矩陣和數(shù)組的區(qū)別:數(shù)值運(yùn)算強(qiáng)調(diào)的是元素對(duì)元素運(yùn)算,而矩陣運(yùn)算則采用線性代數(shù)的運(yùn)算方式表格 4 常用數(shù)組運(yùn)算和矩陣操作運(yùn)算數(shù)組運(yùn)算矩陣運(yùn)算操作功

18、能描述操作功能描述A+B對(duì)應(yīng)元素相加A+B同數(shù)組運(yùn)算A-B對(duì)應(yīng)元素相減A-B同數(shù)組運(yùn)算S.*B標(biāo)量s分別與B中元素的積S*B同數(shù)組運(yùn)算A.*B對(duì)應(yīng)元素相乘A*B內(nèi)維相同的矩陣相乘S./AA中元素左除sS/A矩陣左除sA./BB中元素左除A中元素A/B矩陣A右除矩陣BB.A上行A的另一種表達(dá)式BA矩陣B右除矩陣A,(與上一行意義不同)A.SS為整數(shù)時(shí),A中元素自乘s次ASS為整數(shù)時(shí),且A為方陣時(shí),A自乘s次A.非共軛轉(zhuǎn)置A共軛轉(zhuǎn)置2.6 關(guān)系運(yùn)算兩個(gè)元素之間的比較,關(guān)系運(yùn)算結(jié)果只可能是0,0表示該關(guān)系式不成立,1表示該關(guān)系式成立關(guān)系運(yùn)算符說明關(guān)系運(yùn)算符說明=等于=不等于小于大于=小于或等于=大于

19、或等于例A = 2 7 6;9 0 5;3 0.5 6B = 8 7 0;3 2 5;4 -1 7A = Bans = 0 1 0 0 0 1 0 0 0注意=和=的不同比較結(jié)果也能用在數(shù)學(xué)運(yùn)算中A=1 2 3 4 5 6 7 8 9B=8 7 6 5 4 3 2 1 0Tf=(A=B)Tf=B-(A>2)The resultA = 1 2 3 4 5 6 7 8 9B = 8 7 6 5 4 3 2 1 0Tf = 0 0 0 0 0 0 0 0 0Tf = 8 7 5 4 3 2 1 0 -12.7 邏輯運(yùn)算邏輯運(yùn)算A=0A=1B=0B=1B=0B=1A&B0001A|B01

20、11A1100xor(A,B)01102.8 向量和矩陣操作向量是組成矩陣的基本元素之一。我們可以把它看成是一維數(shù)組1 向量的產(chǎn)生A1=1 2 3 4 5 得 A1=1 2 3 4 5A2=7;8;9 A2=789A3=A2 %轉(zhuǎn)置,行向量和列向量之間的轉(zhuǎn)換。A3=7 8 9冒號(hào):用于產(chǎn)生等差元素的向量,其格式為n:s:m表示產(chǎn)生從n到m,步長(zhǎng)為s的一系列值。當(dāng)s缺省時(shí),步長(zhǎng)為1。步長(zhǎng)既可為正也可為負(fù),也可以是小數(shù)。例,x=1:5,y=6:-1:2, z=-pi:pi/2:pi運(yùn)行結(jié)果:>> x=1:5,y=6:-1:2,z=-pi:pi/2:pix = 1 2 3 4 5y =

21、6 5 4 3 2z = -3.1416 -1.5708 0 1.5708 3.1416MATLAB還提供兩個(gè)產(chǎn)生向量的函數(shù):Linspace:產(chǎn)生一個(gè)線性增長(zhǎng)的向量Logspace:產(chǎn)生一個(gè)等對(duì)數(shù)增量的向量二 向量的四則運(yùn)算(1) 向量與常數(shù)的運(yùn)算 向量中每一個(gè)元素與常數(shù)做加減乘除B2=linspace(0,10,5) %在0和10之間生成5個(gè)數(shù)B3=(b2*5+2)/5(2) 向量之間的加減法運(yùn)算 向量中每一個(gè)元素與另一個(gè)元素中對(duì)應(yīng)的元素進(jìn)行加減運(yùn)算>> A1=1 2 3 4 5B1=0:2:20C1=A1+B1A1 = 1 2 3 4 5B1 = 0 2 4 6 8 10 1

22、2 14 16 18 20? Error using => plusMatrix dimensions must agree.>> a1=1 2 3 4 5 6,b2=2:2:12,c1=b2+a1a1 = 1 2 3 4 5 6b2 = 2 4 6 8 10 12c1 = 3 6 9 12 15 18Matlab7.0中也提供了向量的點(diǎn)積dot和矢積運(yùn)算cross>> x1=2 9 8 7,x2=6 5 1 4,y=dot(x1,x2)x1 = 2 9 8 7x2 = 6 5 1 4y =93>> x3=12 20 30 18 5,y=dot(x1,

23、x3)x3 = 12 20 30 18 5? Error using => dot at 30A and B must be same size.> x1=2 9 8 7,x2=6 5 1 4,y1=cross(x1,x2)x1 = 2 9 8 7x2 = 6 5 1 4? Error using => cross at 37A and B must have at least one dimension of length 3.不僅維數(shù)相同,而且要是三維。>> x1=2 9 8,x2=6 5 1,y1=cross(x1,x2)x1 = 2 9 8x2 = 6 5

24、 1y1 = -31 46 -44三 下標(biāo)利用下標(biāo)可訪問矩陣中的元素,例:A=1 2 3;4 5 6;7 8 9B=1 2 C=A(3,2) %取A矩陣中3行2列的元素d=A(2:3,1:2) %取A矩陣中2-3行,1-2列中的元素構(gòu)成d矩陣運(yùn)行結(jié)果A = 1 2 3 4 5 6 7 8 9B = 1 2C = 8d = 4 5 7 8如果在某下標(biāo)位置只有一個(gè):號(hào),則表示取對(duì)應(yīng)的所有行或列。例, 在上述計(jì)算的基礎(chǔ)上,執(zhí)行 e=A(1:2,:) %取1-2行,所有列構(gòu)成e矩陣。e = 1 2 3 4 5 62.9 MATLAB特殊運(yùn)算符標(biāo)點(diǎn)說明標(biāo)點(diǎn)說明:冒號(hào),具有多種應(yīng)用功能%百分號(hào),注釋標(biāo)記;

25、分號(hào),區(qū)分行及取消運(yùn)行結(jié)果顯示!感嘆號(hào),調(diào)用操作系統(tǒng)運(yùn)算,逗號(hào),區(qū)分列及函數(shù)分隔符=等號(hào),賦值標(biāo)記()括號(hào),指定運(yùn)算優(yōu)先級(jí)單引號(hào),字符串的標(biāo)識(shí)符方括號(hào),定義矩陣.小數(shù)點(diǎn)及對(duì)象域訪問大括號(hào),構(gòu)造單元數(shù)組續(xù)行符號(hào)以下洪乃剛第三章 程序設(shè)計(jì)基礎(chǔ)MATLAB程序的基本結(jié)構(gòu)% 說明清除命令定義變量逐行執(zhí)行的命令。 循環(huán)和轉(zhuǎn)移 逐行執(zhí)行的命令 End逐行執(zhí)行的命令。3.1 表達(dá)式、表達(dá)式語(yǔ)句和賦值語(yǔ)句1. 表達(dá)式由運(yùn)算符連接的常量、變量和函數(shù)就構(gòu)成了MATLAB的表達(dá)式算術(shù)表達(dá)式,函數(shù),關(guān)系,邏輯等2. 表達(dá)式語(yǔ)句單個(gè)表達(dá)式就是表達(dá)式語(yǔ)句。一行可以只有一個(gè)表達(dá)式語(yǔ)句,可以有多個(gè)表達(dá)式語(yǔ)句,這時(shí)語(yǔ)句間用分號(hào)

26、和逗號(hào)分隔。語(yǔ)句以回車行結(jié)束。以分號(hào);結(jié)束的語(yǔ)句結(jié)束后不顯示運(yùn)行結(jié)果,以逗號(hào)和回車鍵結(jié)束的語(yǔ)句執(zhí)行后即顯示運(yùn)行結(jié)果。如果一條語(yǔ)句需要占用多行,這時(shí)需要使用連續(xù)符“.”3. 賦值語(yǔ)句將表達(dá)式賦予變量就是賦值語(yǔ)句。例如A=3+7*8X=10*sin(2*pi*f*t)3.2 MATLAB常用函數(shù)絕對(duì)值,三角函數(shù),指數(shù)函數(shù),對(duì)數(shù),復(fù)數(shù),取整函數(shù)數(shù)學(xué)含義函數(shù)數(shù)學(xué)含義abs(x)求x的絕對(duì)值,即x,若x是復(fù)數(shù),即求x的模csc(x)求x的余割函數(shù),x為弧度sign(x)求x的符號(hào),x為正得1,x為負(fù)得-1,x為零得0asin(x)求x的反正弦數(shù),即sixsqrt(x)求x的平方根,即acos(x)求x的

27、反余切函數(shù),coxexp(x)求x的指數(shù)函數(shù),即atan(x)求x的反正切函數(shù),taxlog(x)求x的自然對(duì)數(shù),即lnxacot(x)求x的反余切函數(shù),coxlog10(x)求x的常用對(duì)數(shù),即lgxasec(x)求x的反正割函數(shù),sexlog2(x)求x的以2為底的對(duì)數(shù),即loxacsc(x)求x的反余割函數(shù),csxsin(x)求x的正弦函數(shù),x為弧度Round(x)求最接近x的整數(shù)cos(x)求x的余弦函數(shù),x為弧度rem(x,y)求整除x/y的余數(shù)tan(x)求x的正切函數(shù),x為弧度real(z)求復(fù)數(shù)z的實(shí)部cot(x)求x的余切函數(shù),x為弧度Imag(z)求復(fù)數(shù)z的虛部sec(x)求

28、x的正割函數(shù),x為弧度conj(z)求復(fù)數(shù)z的共軛,即求括號(hào)中可以是表達(dá)式更復(fù)雜的函數(shù)可以編程實(shí)現(xiàn),稱為函數(shù)文件3.3 流程控制語(yǔ)句If(表達(dá)式),語(yǔ)句組A, else 語(yǔ)句組B,endIf(表達(dá)式),語(yǔ)句組A, end1. if語(yǔ)句表達(dá)式語(yǔ)句組AIf假(0)真(1)表達(dá)式語(yǔ)句組AIf假(0)else真(1)語(yǔ)句組BIf(表達(dá)式1),語(yǔ)句組A, elseif(表達(dá)式2),語(yǔ)句組B,else 語(yǔ)句組C, end表達(dá)式1語(yǔ)句組AIf假(0)elseif真(1)語(yǔ)句組B語(yǔ)句組C表達(dá)式2假(0)else真(1)2. While循環(huán)語(yǔ)句表達(dá)式語(yǔ)句組AWhile假(0)真(1)循環(huán)結(jié)束While (表達(dá)式

29、),語(yǔ)句組,end3. For循環(huán)語(yǔ)句For k=初值:增量:終止值語(yǔ)句組endK達(dá)終值否?語(yǔ)句組A否(0)是(1)循環(huán)結(jié)束K=初值K+增量-KFor語(yǔ)句將循環(huán)體中的語(yǔ)句組循環(huán)執(zhí)行N次,每執(zhí)行一次,k就增加一個(gè)增量,所以循環(huán)次數(shù)為N=1+(終值-初值)/增量當(dāng)k值等于終值后,循環(huán)結(jié)束,程序轉(zhuǎn)向end以后的語(yǔ)句。For語(yǔ)句可以嵌套使用。在循環(huán)執(zhí)行(for,while)中,如果滿足一定條件需要跳出循環(huán),可以使用break命令終止循環(huán)。例for n=1:10X(n)=sin(n*pi/10)end避免使用for循環(huán),用向量化操作n=1:10;x=sin(n*pi/10)可得同樣結(jié)果。4. Switc

30、h-case語(yǔ)句 多分支語(yǔ)句語(yǔ)句格式Switch 表達(dá)式(標(biāo)量或字符串) Case值1語(yǔ)句組ACase值2語(yǔ)句組BCase值3語(yǔ)句組COtherwise語(yǔ)句組NEnd當(dāng)表達(dá)式的值(字符串)與某個(gè)case值相同,就執(zhí)行該case值下的語(yǔ)句組,如果與任何一個(gè)case值都不同,就執(zhí)行otherwise后的語(yǔ)句組N。程序暫停:pause,等待任意鍵3.4 腳本文件和m函數(shù)文件 通過命令窗口難以實(shí)現(xiàn)復(fù)雜功能。這時(shí)可以文件形式完成。它由一系列MATLAB語(yǔ)句構(gòu)成。該文件的后綴為.m。由于M文件是文本文件,可以用各種文本編輯m文件可分為兩類:腳本文件和函數(shù)文件1. 腳本文件腳本(script):由一系列MA

31、TLAB語(yǔ)句構(gòu)成。相當(dāng)于主程序。當(dāng)調(diào)用一個(gè)腳本文件時(shí),MATLAB自動(dòng)執(zhí)行一系列語(yǔ)句,并不交互等待鍵盤的輸入??墒褂霉ぷ骺臻g中的全局變量。腳本文件中的變量都保存在工作區(qū)中。注意容易與其它操作產(chǎn)生的變量混淆執(zhí)行:在命令窗口,鍵入腳本文件名,則自動(dòng)執(zhí)行在編輯editor窗口,點(diǎn)擊執(zhí)行鈕,即可執(zhí)行,在該窗口還可以進(jìn)行程序調(diào)試。在腳本文件中,有一些很有用的交互輸入命令: l Input指令格式user_entry = input('prompt') 提示輸入數(shù)值例子:p=input('輸入極對(duì)數(shù)p=')運(yùn)行結(jié)果:輸入極對(duì)數(shù)p=3p = 3例2 user_entry =

32、input('prompt', 's') 提示輸入字符串reply = input('Do you want more? Y/N Y: ', 's');if isempty(reply) reply = 'Y'End若鍵入“Y”,則reply =字符串“Y"。若鍵入“N”,則reply =字符串“N"。若直接回車,則reply =空字符串” “,然后reply =字符串“Y”。l Pause 注意這里沒有任何提示,直至用戶按任意鍵,程序繼續(xù)執(zhí)行。l Echo可使命令在屏幕上顯示l Keyboar

33、d 與input類似,可等待輸入多行命令,并將鍵盤輸入的內(nèi)容作為一個(gè)腳本文件來(lái)處理,當(dāng)鍵入return命令后,繼續(xù)執(zhí)行腳本文件中的命令。2. 函數(shù)文件函數(shù)文件的第一行必須包含關(guān)鍵字function函數(shù)文件與底稿文件的區(qū)別:函數(shù)文件可以傳遞參數(shù),底稿文件不行函數(shù)文件中定義及使用的變量都是局部變量,只在本函數(shù)的工作區(qū)中有效,一旦退出該函數(shù),即為無(wú)效變量。即函數(shù)文件對(duì)用戶而言是透明的。而底稿文件中定義和使用的都是全局變量,在退出文件后仍為有效變量。函數(shù)文件格式Function x,y,z=sphere(theta,phi,rho),函數(shù)文件可以返回多個(gè)值。函數(shù)文件mean.m文件:function

34、y=mean(x)%MEAN average or meanvalue,取平均值%for vectors,MEAN(x) returns mean value%for matriaces,MEAN(x) returns a row vector%containing the mean value of each columnm,n=size(x);if m=1 m=n;endy=sum(x)/m;這個(gè)文件新定義了一個(gè)函數(shù)mean。與文件名相同函數(shù)文件說明:1 文件第一行說明了該函數(shù)的名稱、輸入?yún)?shù)、輸出參數(shù)。如果沒有這一行的說明該文件就是腳本文件2 %后的是注釋說明,不會(huì)被執(zhí)行。文件前面的幾行

35、構(gòu)成了M文件的幫助信息,當(dāng)鍵入help mean時(shí)就會(huì)顯示。3 變量m, n, y為局部變量,當(dāng)mean執(zhí)行完畢,這些變量也隨之消失(如果這些變量在執(zhí)行mean之前就已經(jīng)存在,則它在mean執(zhí)行之后仍保持原值。4 在調(diào)用函數(shù)文件時(shí),傳遞的參數(shù)名稱不一定與與函數(shù)文件中定義的參數(shù)名稱相同。在上例中,我們使用變量z而不是x來(lái)傳遞參數(shù),這并不會(huì)影響程序的正常運(yùn)行,事實(shí)上,z的值只是被傳遞(或者說被拷貝到了mean函數(shù)的局部變量x中。引用該函數(shù):>> Z=1:99;M=mean(Z)%分號(hào)換成逗號(hào),則顯示整個(gè)Z數(shù)組。M =50 當(dāng)函數(shù)文件到達(dá)文件終點(diǎn),或者碰到return命令,則結(jié)束執(zhí)行和返

36、回。Return命令提供了結(jié)束函數(shù)的一個(gè)簡(jiǎn)單的方法,不必達(dá)到文件的終點(diǎn)。注意:文件名就是函數(shù)名,函數(shù)名不能和函數(shù)文件中的變量名重合。3.5 全局變量一般由M文件定義的變量都為全局變量,這些變量只在該函數(shù)內(nèi)有效,它們與其它函數(shù)內(nèi)的變量,以及基本空間中的變量是相互獨(dú)立的。但是,如果在函數(shù)或基本空間中,表明了某個(gè)變量為全局變量,那么它就可以為其它函數(shù)所共享。Global m, 則m為全局變量。任何時(shí)候都應(yīng)盡量避免使用全局變量。第四章 MATLAB繪圖功能 表1-8 常用的繪圖命令4.1 直角坐標(biāo)中的二維曲線單條曲線1. Plot(A)。A是一維數(shù)組的變量名,例2. Plot(A,B) 畫二維數(shù)組A和

37、B的曲線。,以數(shù)組A為x軸,B為y軸。例,(其中t=0:0.2:6*pi,是對(duì)x進(jìn)行向量化操作。)4.2多條曲線的繪制多條曲線1. plot(x1,y1,x2,y2,x3,y3,.xn,yn)2. plot(x1,y1),hold,plot(x2,y2)在同一張圖上畫上另一條曲線3. plotyyt=0:0.1:4*pi;y1=10*sin(t);y2=8*cos(t);y4=50*y1;%figure (1)plot(t,y1,t,y2,t,y4)%figure(2)plotyy(t,y4,t,y2)4. subplot 利用subplot可在同一窗口中顯示多個(gè)圖形,也可在同一紙上打印出多個(gè)

38、圖形命令格式為Subplot(m,n,p)將圖形窗口分割為m*n個(gè)子窗口,并置第p個(gè)窗口為當(dāng)前圖形窗口。窗口編號(hào)從左到右,從上到下。t=0:0.1:4*pi;y1=10*sin(t);y2=8*cos(t);y4=50*y1;subplot(2,2,1)plot(t,y1)subplot(2,2,2)plot(t,y2)subplot(2,2,3)plot(t,y4)5. fplot 采用該函數(shù),可以繪出更精確的曲線,因?yàn)閒plot能自適應(yīng)的對(duì)函數(shù)進(jìn)行采樣,以更好的表示圖形。前面的polt只是等間隔采樣,而fplot可在最大函數(shù)變化率處集中采樣,從而提高精度。為了采用fplot函數(shù),需先建立一

39、個(gè)函數(shù)文件,如fofx.mfunction y=fofx(x)y=cos(tan(pi*x);Fplot函數(shù)的格式為 Fplot(函數(shù)名,區(qū)間,容差)本例中采用Fplot(fofx,0 1,1e-4)6. figure 可建立多個(gè)圖形窗口。figure 打開一個(gè)新的圖形窗口figure(n) 使第n個(gè)圖形窗口為當(dāng)前窗口4.3 曲線的線型和顏色表1-9t=0:0.1:4*pi;y1=10*sin(t);y2=8*cos(t);plot(t,y1,ok,t,y2,*g)單引號(hào)內(nèi)應(yīng)是紫色。4.4 MATLAB的圖形窗口在圖形窗口可以進(jìn)行下列設(shè)置1. 設(shè)置圖形畫面參數(shù)Edit-Figure Prope

40、rty2. 設(shè)置標(biāo)題和坐標(biāo)軸物理量等 Edit-Axes property3. 在圖形上添加箭頭、線段和文字 Insert-.4.5 電力電子電路波形圖的繪制作為例子 %單相半波不控整流電路,已知交流電源電壓為220V,負(fù)載電阻為2歐姆。%畫出交流電源電壓,整流輸出電壓和電流的波形V=220;R=2;dth=pi/360;th=0:dth:2*pi;vs=V*sqrt(2)*sin(th); % supply voltage waveform%figure(1); %多圖形窗口plot(th,vs)%xlabel('th')%必須在plot之后,%ylabel('vs&

41、#39;)%title('supply voltage')%grid on%hold onud=vs.*(vs>=0);%figure(2);%plot(th,ud)id=ud/R;%figure(3);%plot(th,id)%figure(4);%plot(th,vs,th,ud,th,id)%多條曲線%figure(5)%plotyy(th,ud,th,id)%兩種y軸比例%figure(6)plot(th,vs),hold%保持曲線plot(th,ud,th,id)處理:1. 變成黑色:菜單-edit-Figure Properties-點(diǎn)選要編輯的曲線,進(jìn)行編輯

42、:PlotType圖型(波形,條形圖,階梯圖等)line曲線顏色,粗細(xì),線型,maker數(shù)據(jù)點(diǎn)標(biāo)示等。More Properties出現(xiàn)一個(gè)表格,可以在表格內(nèi)進(jìn)行設(shè)置。2. 加?xùn)鸥瘢翰藛?edit-Figure Properties,點(diǎn)擊坐標(biāo)軸,grid3. 插入文字:菜單-insert4. 加坐標(biāo)軸axes標(biāo)簽label和名稱title: x-:電角度/rad,x limits:0 to 2*pi,auto去勾選。顯示一個(gè)周波,ticks:location:坐標(biāo)值3.14,6.28;label:pi,2pi y-label:us/V ud/V id/A title:?jiǎn)蜗喟氩ú豢卣麟娐穭t顯示

43、圖1-19也可以菜單view-properties editor進(jìn)行編輯。也可以用命令控制,圖形可以分圖顯示4.6 電機(jī)機(jī)械特性圖形的繪制包括復(fù)數(shù)運(yùn)算,for循環(huán),if結(jié)構(gòu),圖形hold,坐標(biāo)標(biāo)簽由電機(jī)學(xué)可知,電磁轉(zhuǎn)矩表達(dá)式為 nph為定子繞組相數(shù),s為轉(zhuǎn)差率,由于轉(zhuǎn)速n的單位為轉(zhuǎn)/每分鐘,程序中n用rpm(r/min)表示。電機(jī)等效電路,轉(zhuǎn)子方參數(shù)已折算到定子方。用戴維南定理簡(jiǎn)化后,得其中,A three-phase, 230V, 12kW, four-pole, wound-rotor, induction motor has the following parameters expres

44、sed in /phase.一臺(tái)3相,230V,12kW,4極,線繞式轉(zhuǎn)子的感應(yīng)電動(dòng)機(jī),具有下列每相參數(shù),單位為W。% R1=0.095, X1=0.680, X2=0.672 ,Xm=18.7% Useing MATLAB plot the eletromechnical mechanical torque Tmech as a function of totor speed in r/min for R2=0.1,0.2,0.5,1.0and 1.5clc %清命令窗口clear %清從內(nèi)存中清除變量和函數(shù)% Here are the motor parametersV1=230/sqrt

45、(3) %line voltagenph =3 %phase numberpoles=4 %polesfe=60 %frequency R1=0.095X1=0.680X2=0.672Xm=18.7 %Calculate the synchronous speedomegas = 4*pi*fe/poles %ns=120*fe/poles %Calculate stator Theven equivalentZ1eq = j*Xm*(R1+j*X1)/(R1+j*(X1+Xm) R1eq =real(Z1eq)X1eq=imag(Z1eq)V1eq=abs(V1+j*Xm/(R1+j*(X1

46、+Xm) % Here is the loop over rotor tesistanceFor m=1:5 %必須用for循環(huán),因?yàn)檫@里不是構(gòu)成向量。 if m=1 R2=0.1 elseif m=2 R2=0.2 elseif m=3 R2 = 0.5 elseif m=4 R2 = 1.0 else R2=1.5 end % Here is the loop over slip for n=1:200 s(n) = n/200; %slip rpm(n)=ns*(1-s(n); I2=abs(V1eq/(Z1eq+j*X2+R2/s(n) ; Tmech(n) = nph*I22*R2/

47、(s(n)*omegas); end% Now plotplot(rpm,Tmech) if m=1 hold end pauseendholdxlabel('rpm')ylabel('Tmech')這里第一個(gè)for循環(huán)是for m=1:5 % if m=1 R2=0.1 elseif m=2 R2=0.2 elseif m=3 R2 = 0.5 elseif m=4 R2 = 1.0 else R2=1.5 end y=R2+2end運(yùn)行結(jié)果R2 = 0.1000y = 2.1000R2 = 0.2000y = 2.2000R2 = 0.5000y = 2.5

48、000R2 = 1y = 3R2 = 1.5000y = 3.5000第5章 Simulink環(huán)境和模型庫(kù)對(duì)照一下5.1 系統(tǒng)仿真環(huán)境特點(diǎn)1) 以調(diào)用模塊代替程序的編寫2) 系統(tǒng)方框圖畫完,設(shè)置了仿真參數(shù),即可啟動(dòng)仿真3) 系統(tǒng)運(yùn)行狀態(tài)和結(jié)果可以通過波形和曲線觀察4) 系統(tǒng)仿真數(shù)據(jù)可以保存5) 如果系統(tǒng)方框圖繪制不完整或仿真過程中出現(xiàn)計(jì)算不收斂的情況,會(huì)給出一定的出錯(cuò)提示信息,但這些提示不一定準(zhǔn)確,這是軟件還不夠完備的地方。6) 以框圖形式仿真控制系統(tǒng)是simulink的最早功能,后來(lái)在simulink的基礎(chǔ)上又開發(fā)了數(shù)字信號(hào)處理,通信系統(tǒng),電力系統(tǒng),模糊控制等許多模型庫(kù),但simulink的窗口界面是其它工具箱共有的平臺(tái)。7) MATLAB6.5以后模塊以電路接口替代了原先的信號(hào)接口,將信號(hào)與電路分開。5.1.1si

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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)論