控制系統(tǒng)CAD-基于MATLAB語言第2章-M課件_第1頁
控制系統(tǒng)CAD-基于MATLAB語言第2章-M課件_第2頁
控制系統(tǒng)CAD-基于MATLAB語言第2章-M課件_第3頁
控制系統(tǒng)CAD-基于MATLAB語言第2章-M課件_第4頁
控制系統(tǒng)CAD-基于MATLAB語言第2章-M課件_第5頁
已閱讀5頁,還剩153頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章MATLAB與Simulink簡(jiǎn)介第2章MATLAB與Simulink簡(jiǎn)介2.1MATLAB的基礎(chǔ)知識(shí)2.1.1MATLAB語言系統(tǒng)1.MATLAB簡(jiǎn)介MATLAB(MATrixLABoratory,即矩陣實(shí)驗(yàn)室)是美國的CleveMoler教授利用自己研制的基于特征值計(jì)算和線性代數(shù)軟件包開發(fā)的一種高級(jí)語言。

1990年推出的MATLAB3.5i是第一個(gè)可以運(yùn)行于MicrosoftWindows下的版本,它可以在兩個(gè)窗口上分別顯示命令行計(jì)算結(jié)果和圖形結(jié)果。稍后推出的SimuLAB環(huán)境首次引入基于框圖的仿真功能,該環(huán)境就是我們現(xiàn)在所知的Simulink,其模型輸入的方式使得一個(gè)復(fù)雜的控制系統(tǒng)的數(shù)字仿真問題變得十分直觀而且相當(dāng)容易。

2.1MATLAB的基礎(chǔ)知識(shí)2.1.1MATLAB語經(jīng)過多年來版本的不斷更新,新版本的MATLAB功能已經(jīng)十分強(qiáng)大,其應(yīng)用領(lǐng)域日益廣泛,速度更快,數(shù)值性能更好;用戶圖形界面設(shè)計(jì)更趨合理;與C語言接口及轉(zhuǎn)換的兼容性更強(qiáng);新的虛擬現(xiàn)實(shí)工具箱更給仿真結(jié)果三維視景下顯示帶來了新的解決方案。經(jīng)過多年來版本的不斷更新,新版本的MATLAB功能已經(jīng)十分強(qiáng)MATLAB具有以下主要特點(diǎn):(1)超強(qiáng)的數(shù)值運(yùn)算功能。(2)語法限制不嚴(yán)格,程序設(shè)計(jì)自由度大。(3)程序的可移植性很好。

(4)強(qiáng)大的數(shù)據(jù)可視化功能。

(5)豐富的工具箱。

MATLAB具有以下主要特點(diǎn):(1)超強(qiáng)的數(shù)值運(yùn)算功能。(22.MATLAB工作環(huán)境2.MATLAB工作環(huán)境圖形窗口“Figure”

圖形窗口“Figure”M文件窗口

M文件窗口3.MATLAB的M文件所謂M文件,就是用戶把要實(shí)現(xiàn)的命令寫在一個(gè)以.m為擴(kuò)展名的文件中M文件有兩種格式(統(tǒng)稱為M文件)函數(shù)式M文件程序式M文件程序式M文件用于把很多需要在命令窗口輸入的命令放在一起,就是命令的簡(jiǎn)單疊加函數(shù)式M文件用于把重復(fù)的程序段封裝成函數(shù)供用戶調(diào)用。3.MATLAB的M文件所謂M文件,就是用戶把要實(shí)現(xiàn)的命令寫(1)程序式M文件(1)程序式M文件運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:(2)函數(shù)式M文件函數(shù)式M文件首行總是以關(guān)鍵字“function”開頭,并在首行中列出全部輸入、輸出參數(shù)以及函數(shù)名。函數(shù)名應(yīng)置于等號(hào)右側(cè)并與對(duì)應(yīng)的M文件名相同,輸出參數(shù)緊跟在“function”之后,常用中括號(hào)括起來(若僅有一個(gè)輸出參數(shù)則無需中括號(hào));輸入?yún)?shù)緊跟在函數(shù)名之后,常用小括號(hào)括起來。如果函數(shù)有多個(gè)輸入或輸出參數(shù),則多個(gè)參數(shù)之間用英文狀態(tài)下的逗號(hào)加以分隔。(2)函數(shù)式M文件函數(shù)式M文件首行總是以關(guān)鍵字“functic=5運(yùn)行程序,得到結(jié)果:c=運(yùn)行程序,4.MATLAB的幫助系統(tǒng)MATLAB具有完善的幫助系統(tǒng),幫助內(nèi)容豐富,獲取幫助的形式多樣。幫助系統(tǒng)包括:命令行幫助聯(lián)機(jī)幫助演示幫助充分利用幫助系統(tǒng),可以更快更準(zhǔn)確地掌握MATLAB的使用方法。

4.MATLAB的幫助系統(tǒng)MATLAB具有完善的幫助系統(tǒng),命令行幫助命令行幫助help工具箱或命令名

help工具箱或命令名聯(lián)機(jī)幫助聯(lián)機(jī)幫助演示幫助演示幫助2.1.2MATLAB的基本運(yùn)算1.MATLAB的基本語句結(jié)構(gòu)(1)變量變量命名的規(guī)則為:1)變量的名稱必須以字母開頭,其后可以為字母、數(shù)字或者下劃線。2)變量名長(zhǎng)度不超過63個(gè)字符,超過的部分將會(huì)被忽略。3)變量名區(qū)分字母的大小寫;2.1.2MATLAB的基本運(yùn)算1.MATLAB的基本語MATLAB中還設(shè)置了如下一些特殊變量:MATLAB中還設(shè)置了如下一些特殊變量:

MATAB語言的賦值語句有兩種:

·變量名=運(yùn)算表達(dá)式·[返回變量列表]=函數(shù)名(輸入變量列表)例如

>>T=0:pi/50:2*pi;>>[m,p]=bode(a,b,c,d,w)(2)賦值語句例如(2)賦值語句說明等號(hào)右邊的表達(dá)式可以由分號(hào)結(jié)束,也可以由逗號(hào)或換行號(hào)結(jié)束,但它們的含義是不同的。如果用分號(hào)結(jié)束,則左邊的變量結(jié)果將不在屏幕上顯示出來;由逗號(hào)或換行號(hào)結(jié)束,則將把左邊的返回值內(nèi)容全部顯示出來。

在調(diào)用函數(shù)時(shí),MATLAB允許一次返回多個(gè)結(jié)果,當(dāng)函數(shù)的輸出參數(shù)不只一個(gè)時(shí),用中括號(hào)“[]”把輸出參數(shù)括起來,參數(shù)之間用逗號(hào)分開;輸入變量用小括號(hào)“()”括起來,當(dāng)個(gè)數(shù)不只一個(gè)時(shí),用逗號(hào)分開。

說明在調(diào)用函數(shù)時(shí),MATLAB允許一次返回多個(gè)結(jié)果,在MATLAB中,冒號(hào)“:”是很有用的算子,經(jīng)常用它來生成向量。語句>>a=i:k:j;它生成一個(gè)從i到j(luò)步長(zhǎng)為k的行向量a。如果增量為負(fù)值,可以得一個(gè)遞減順序的向量,增量為l時(shí)可以忽略。MATLAB用通常的十進(jìn)制數(shù)表示常數(shù)、小數(shù)和負(fù)數(shù)。與通常的數(shù)學(xué)表示一樣,還可以使用以10為冪的常數(shù)以及虛數(shù),MATLAB接受各種合法的數(shù)據(jù)輸入。

(3)數(shù)據(jù)的輸入輸出格式在MATLAB中,冒號(hào)“:”是很有用的算子,經(jīng)常用它來生成向(4)常用操作命令(4)常用操作命令2.MATLAB的基本運(yùn)算加(+)、減(-)、乘(*)、除(/)、冪(^)等運(yùn)算操作

MATLAB還提供幾乎所有的運(yùn)算函數(shù)

初等運(yùn)算函數(shù)

2.MATLAB的基本運(yùn)算加(+)、減(-)、乘(*)、除三角函數(shù)

三角函數(shù)數(shù)據(jù)統(tǒng)計(jì)分析函數(shù)

數(shù)據(jù)統(tǒng)計(jì)分析函數(shù)例2-1某二階欠阻尼系統(tǒng)的單位階躍響應(yīng)為試?yán)L制響應(yīng)曲線。MATLAB程序如下:t=0:0.1:15;c=1-1.15*exp(-0.5*t).*sin(0.866*t+pi/3);plot(t,c);grid;

%繪制曲線由max函數(shù)可求出響應(yīng)的最大值(峰值)

MATLAB程序如下:

mp=max(c)

運(yùn)行程序,得到結(jié)果:mp=1.1623例2-1某二階欠阻尼系統(tǒng)的單位階躍響應(yīng)為試?yán)L制響應(yīng)曲線。M運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:3.矩陣運(yùn)算MATLAB中所有的計(jì)算都是以矩陣為基本單元進(jìn)行的,MATLAB對(duì)矩陣的運(yùn)算功能最齊全,也最強(qiáng)大。(1)矩陣輸入矩陣輸入時(shí)一行中各元素間用逗號(hào)“,”或空格,行間用分號(hào)“;”或直接回車,整個(gè)矩陣以括號(hào)“[”和“]”表示開始和結(jié)束。3.矩陣運(yùn)算MATLAB中所有的計(jì)算都是以矩陣為基本單元進(jìn)例2-2輸入以下MATLAB語句a=[123;456;789]b=[1,1+2i;2+3i,exp(-1)]

運(yùn)行程序,得到結(jié)果:a=123456789b=1.00001.0000+2.0000i2.0000+3.0000i0.3679例2-2輸入以下MATLAB語句a=[123;45常用的初等矩陣

常用的初等矩陣(2)矩陣的常規(guī)運(yùn)算注意矩陣的四則運(yùn)算必須復(fù)合矩陣的維數(shù)要求,否則會(huì)給出矩陣維數(shù)錯(cuò)誤提示。

(2)矩陣的常規(guī)運(yùn)算注意矩陣的四則運(yùn)算必須復(fù)合矩陣的維數(shù)要例2-3矩陣加法與乘法。輸入以下MATLAB語句a=[121;221;312];b=[331;321;143];c=a+bd=a*b運(yùn)行程序,得到結(jié)果:c=452542455d=1011613147141910例2-3矩陣加法與乘法。輸入以下MATLAB語句a=[1例2-4矩陣的點(diǎn)運(yùn)算。輸入以下MATLAB語句運(yùn)行程序,得到結(jié)果:a=[121;221;312];b=[331;321;143];c=a.*bd=a.^b

c=361641346d=181841318例2-4矩陣的點(diǎn)運(yùn)算。輸入以下MATLAB語句運(yùn)行程序,得例2-5矩陣右除與左除。輸入以下MATLAB語句a=[121;221;212];b=[1;2;3];a/b

%矩陣右除運(yùn)行程序,得到結(jié)果:???Errorusing==>mrdivideMatrixdimensionsmustagree.a\b

%矩陣左除重新輸入語句ans=1.0000-0.33330.6667a=[121;221;212];b=[1;2;3];a/b

%矩陣右除運(yùn)行程序,得到結(jié)果:例2-5矩陣右除與左除。輸入以下MATLAB語句a=[1例2-6矩陣轉(zhuǎn)置與逆矩陣。輸入以下MATLAB語句a=[010;001;-6-11-6];az=a‘a(chǎn)i=inv(a)運(yùn)行程序,得到結(jié)果:az=00-610-1101-6ai=-1.8333-1.0000-0.16671.00000001.00000例2-6矩陣轉(zhuǎn)置與逆矩陣。輸入以下MATLAB語句a=[0(3)矩陣特征值運(yùn)算(3)矩陣特征值運(yùn)算例2-7分別計(jì)算矩陣a的有關(guān)特征參數(shù)。輸入以下MATLAB語句a=[123;456;780][cond(a),norm(a),rank(a)]

運(yùn)行程序,得到結(jié)果:ans=35.105913.20153.0000例2-7分別計(jì)算矩陣a的有關(guān)特征參數(shù)。輸入以下MATLAB4.關(guān)系運(yùn)算和邏輯運(yùn)算MATLAB的關(guān)系運(yùn)算符

說明

a和b可以都是矩陣或數(shù)組,它們的大小完全相同。對(duì)于關(guān)系和邏輯表達(dá)式的輸出來說,1表示“真”,而0則表示“假”。關(guān)系操作是對(duì)矩陣或數(shù)組各自相對(duì)應(yīng)的元素進(jìn)行比較,返回的結(jié)果與兩相比較的矩陣或數(shù)組的大小相同的0、1陣。4.關(guān)系運(yùn)算和邏輯運(yùn)算MATLAB的關(guān)系運(yùn)算符說明a和例2-8比較矩陣的大小。輸入以下MATLAB語句a=[1612;3327];b=[234;678];c=gt(a,b)運(yùn)行程序,得到結(jié)果:c=011010說明對(duì)于復(fù)數(shù)運(yùn)算,“==”與“~=”運(yùn)算,既比較實(shí)部,又比較虛部。而其他運(yùn)算僅比較實(shí)部。關(guān)系運(yùn)算同樣也可用于常量與矩陣的比較,在這種情況下,該常量與矩陣的每一個(gè)元素進(jìn)行比較,其結(jié)果是一個(gè)與矩陣同維數(shù)的0、1矩陣。例2-8比較矩陣的大小。輸入以下MATLAB語句a=[1

邏輯操作符

邏輯操作符例2-9矩陣的邏輯與、或、非運(yùn)算。輸入以下MATLAB語句x=[01;10];y=[00;10];x&yx|ynot(x)運(yùn)行程序,得到結(jié)果:ans=0010ans=0110ans=1001例2-9矩陣的邏輯與、或、非運(yùn)算。輸入以下MATLAB語句5.多項(xiàng)式運(yùn)算5.多項(xiàng)式運(yùn)算例2-10輸入以下MATLAB語句p=[10-2-4];%輸入多項(xiàng)式r=roots(p)%求多項(xiàng)式P(x)=-2x–4的根運(yùn)行程序,得到結(jié)果:r=2.0000-1.0000+1.0000i-1.0000-1.0000i例2-10輸入以下MATLAB語句p=[10-2-4例2-11輸入以下MATLAB語句a=[1.2350.9;51.756;3901;1234];%輸入矩陣poly(a)%求矩陣a的特征多項(xiàng)式polyval(ans,20)%求特征多項(xiàng)式中未知數(shù)為20時(shí)的值

運(yùn)行程序,得到結(jié)果:ans=1.0000-6.9000-77.2600-86.1300604.5500ans=7.2778e+004說明矩陣a的特征多項(xiàng)式為

當(dāng)x=20時(shí),多項(xiàng)式的值為72778。例2-11輸入以下MATLAB語句a=[1.2350例2-12已知控制系統(tǒng)的開環(huán)傳遞函數(shù)為求系統(tǒng)的閉環(huán)特征方程并計(jì)算系統(tǒng)的閉環(huán)特征根。p0=conv([1,2],[1,3])+conv([1,0],[1,1])%求特征方程p0=266>>p1=rref(p0)%行系數(shù)化簡(jiǎn)p1=133>>r=roots(p1)%求特征根r=-1.5000+0.8660i-1.5000-0.8660i輸入語句說明系統(tǒng)閉環(huán)特征方程特征根-1.5000+0.8660i,-1.5000-0.8660i例2-12已知控制系統(tǒng)的開環(huán)傳遞函數(shù)為求系統(tǒng)的閉環(huán)特征方程2.1.3MATLAB的繪圖強(qiáng)大的圖形功能是MATLAB受到人們廣泛歡迎的一個(gè)重要原因。MATLAB軟件提供了豐富的用于繪制圖形、標(biāo)注圖形以及輸出圖形的基本命令。常用的有

二維圖形三維圖形2.1.3MATLAB的繪圖強(qiáng)大的圖形功能是MATLAB1.二維圖形(1)曲線繪圖函數(shù)格式:plot(x)plot(x1,y1,x2,y2…)plot(x1,y1,’plotstyle’…)

1.二維圖形(1)曲線繪圖函數(shù)格式:plot(x)plot函數(shù)是MATLAB中繪制基本二維曲線圖形的函數(shù),它的基本功能是打開一個(gè)新的圖形窗口繪制曲線。

若已經(jīng)存在一個(gè)圖形窗口,則自動(dòng)將該窗口的原內(nèi)容清除,然后再繪制新的圖形。

·plot(x1,y1,x2,y2…)

繪制以(x1,y1),(x2,y2)…確定的多條曲線。·plot(x1,y1,’plotstyle’…)

繪制由字符串“plotstyle”定義的顏色、線型的多條曲線。其中“plotstyle”選項(xiàng)的部分表示如表2-4所示。plot函數(shù)是MATLAB中繪制基本二維曲線圖形的函數(shù),它的MATLAB繪圖命令選項(xiàng)

MATLAB繪圖命令選項(xiàng)·title(‘字符串’)用于給圖形添加標(biāo)題,將字符串添加在圖形上方的中部?!label(‘字符串’)用于對(duì)圖形的x軸進(jìn)行說明,將字符串添加在圖形x軸下方?!label(‘字符串’)用于對(duì)圖形的y軸進(jìn)行說明,將字符串添加在圖形y軸左方。

·text(x,y,‘字符串’)用于在圖形指定位置(x,y)添加字符串對(duì)圖形進(jìn)行說明?!ぃ?)繪圖輔助函數(shù)(2)繪圖輔助函數(shù)gtext(‘字符串’)與text功能類似,只是在執(zhí)行命令后會(huì)在圖形中出現(xiàn)一個(gè)十字線,可用鼠標(biāo)來指定添加字符串的位置。

·grid

用于給圖形添加?xùn)鸥瘢?種格式:

>>gridon;

給圖形添加?xùn)鸥?/p>

>>gridoff;

去除柵格

>>grid;

在添加?xùn)鸥窈腿コ龞鸥駜煞N狀態(tài)中切換·axis()

用于對(duì)繪圖坐標(biāo)系進(jìn)行控制和修飾。常用格式:

>>axis(‘equal’)

得到一個(gè)方正的坐標(biāo)系

>>axis(‘square’)

得到相同比例的坐標(biāo)系

>>axis([x1,x2,y1,y2])

指定x坐標(biāo)軸和y坐標(biāo)軸的范圍gtext(‘字符串’)·figure

創(chuàng)造新的圖形窗口?!old

用于進(jìn)行圖形保持。想在已經(jīng)存在的圖形上添加曲線時(shí),需用hold函數(shù)。調(diào)用格式與grid類似?!ubplot(mnp)

用于在指定位置建立坐標(biāo),可實(shí)現(xiàn)在一個(gè)圖形窗口內(nèi)繪制多個(gè)坐標(biāo)系。subplot(mnp)表示將屏幕分割成m×n個(gè)區(qū)域(m和n均小于4),p代表當(dāng)前繪圖區(qū)域的序號(hào),序號(hào)以從左到右,從上到下的順序編號(hào)?!igure例2-13單窗口多曲線子圖繪制。輸入以下MATLAB語句MATLAB程序如下:x=pi*(0:0.05:2);y1=sin(2*x);y2=cos(2*x);y3=y1+y2;y4=y1-y2;subplot(221);plot(x,y1,'o');xlabel('(a)');grid;subplot(222);plot(x,y2,'*');xlabel('(b)');grid;subplot(223);plot(x,y3,'-.');xlabel('(c)');grid;subplot(224);plot(x,y4);xlabel('(d)');grid;例2-13單窗口多曲線子圖繪制。輸入以下MATLAB語句M運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:除了plot函數(shù)外,MATLAB中還設(shè)置了一些其它的二維繪圖函數(shù),以繪制一些特定的圖形。(3)其它二維繪圖函數(shù)下表給出了幾個(gè)常用函數(shù)除了plot函數(shù)外,MATLAB中還設(shè)置了一些其它的二維繪圖二維繪圖函數(shù)

二維繪圖函數(shù)例2-14繪制極坐標(biāo)曲線。輸入以下MATLAB語句t=0:0.01:2*pi;r=sin(2*t).*cos(2*t);polar(t,r,'r')MATLAB程序如下:例2-14繪制極坐標(biāo)曲線。輸入以下MATLAB語句t=0:運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:2.三維圖形MATLAB提供了各種各樣的命令用于繪制三維圖形。這里主要討論三維繪圖的基本方法和基本命令。繪制三維曲線圖的基本命令是plot3

繪制三維曲面網(wǎng)線圖的命令是mesh

曲面繪圖函數(shù)是surf

2.三維圖形繪制三維曲線圖的基本命令是plot3plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’,x3,y3,z3,‘s3’,…)用于三維多曲線繪圖,其中xn,yn,zn是向量或矩陣,sn是可選的字符串,用來指定顏色和線形。mesh(X,Y,Z)

根據(jù)矩陣X,Y和Z繪制彩色的空間三維網(wǎng)線圖。X,Y和Z中對(duì)應(yīng)的元素映射為三維空間上的點(diǎn),點(diǎn)與點(diǎn)之間用線段連接。其中網(wǎng)線的顏色隨著網(wǎng)點(diǎn)高度的改變而改變。曲面繪圖函數(shù)surf的調(diào)用格式與mesh完全一樣plot3(x1,y1,z1,’s1’,x2,y2,z2,’例2-15作三維柱面螺旋線。輸入以下MATLAB語句t=0:pi/50:10*pi;plot3(sin(t),cos(t),t);xlabel('sin(t)')ylabel('cos(t)')zlabel('t')gridMATLAB程序如下:例2-15作三維柱面螺旋線。輸入以下MATLAB語句t=運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:例2-16闊邊帽三維網(wǎng)線圖。輸入以下MATLAB語句x=-8:0.5:8;y=x;[X,Y]=meshgrid(x,y);r=sqrt(X.^2+Y.^2)+eps;Z=sin(r)./r;mesh(X,Y,Z)MATLAB程序如下:例2-16闊邊帽三維網(wǎng)線圖。輸入以下MATLAB語句x=-運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:例2-17繪制三維陀螺椎面。輸入以下MATLAB語句t1=0:0.1:0.9;t2=1:0.1:2;r=[t1,-t2+2];[X,Y,Z]=cylinder(r,30);surf(X,Y,Z);colormap(jet)grid;MATLAB程序如下:例2-17繪制三維陀螺椎面。輸入以下MATLAB語句t1=運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:2.1.4MATLAB循環(huán)與轉(zhuǎn)移控制大部分的求解問題都要受到一定條件的控制,和其它高級(jí)語言一樣,MATLAB也提供了一些常用的控制語句.從而使得MATLAB語言的編程顯得十分靈活。MATTAB支持的控制語句和C語言中的控制語句結(jié)構(gòu)很相似,有循環(huán)控制語句和條件轉(zhuǎn)移控制語句。2.1.4MATLAB循環(huán)與轉(zhuǎn)移控制大部分的求解問題都要1.條件控制語句(1)if語句if語句是MATLAB提供的最基本的條件轉(zhuǎn)移語句,它用于根據(jù)一定的邏輯條件執(zhí)行相應(yīng)的一組語句。

格式ifexpressionstatementsendifexpression1statements1elseifexpression2statements2elseifexpression3statements3elsestatements4end1.條件控制語句(1)if語句if語句是MATLAB提供的最例2-18根據(jù)一個(gè)整數(shù)的符號(hào)和奇偶性,分成三種情況作不同的處理。ifn<0

%如果n是負(fù)數(shù),顯示錯(cuò)誤信息

disp(‘Inputmustbepositive’);

elseifrem(n,2)==0

%如果n是正偶數(shù),則除以2

A=n/2else

%如果n為正奇數(shù),則加1再除以2

A=(n+1)/2

end例2-18根據(jù)一個(gè)整數(shù)的符號(hào)和奇偶性,分成三種情況作不同switch語句是MATLAB特別讓熟悉C等高級(jí)語言的用戶方便地編寫程序而專門添加的。其調(diào)用格式為:(2)switch語句switchexpressioncasevalue1statements1casevalue2statements2 …otherwisestatementsend其中expression的值可以是標(biāo)量和字符串。switch語句是MATLAB特別讓熟悉C等高級(jí)語言的用戶方trystatement,…statement,catch,statements…statementsend(3)try和tatch語句try和catch語句為試探式語句,其調(diào)用格式為:

這種語句結(jié)構(gòu)先試探執(zhí)行try和catch之間的語句,如果在執(zhí)行的過程中遇到錯(cuò)誤,則把錯(cuò)誤信息賦值給lasterr變量,并放棄執(zhí)行這一段語句,轉(zhuǎn)而執(zhí)行catch和end之間的語句。try(3)try和tatch語句try和catch語句為試2.循環(huán)控制語句(1)for語句如果要反復(fù)執(zhí)行的一組語句的循環(huán)次數(shù)是已知或預(yù)定義的,就可以使用for循環(huán)語句。它的基本格式為:fori=is:id:ie;

statementsend其中:

is是循環(huán)變量的初值;

id是循環(huán)變量的增量;

ie是循環(huán)變量的終值。

2.循環(huán)控制語句(1)for語句如果要反復(fù)執(zhí)行的一組語句的循例2-19輸入以下MATLAB語句a=zeros(1,10);n=10;fori=1:na(i)=iend運(yùn)行程序,得到結(jié)果:a=12345678910例2-19輸入以下MATLAB語句a=zeros(1,1for語句可以嵌套使用,例如:m=10;n=5;fori=1:mforj=1:nF(i,j)=1/(i+j-1);endendF運(yùn)行程序,得到結(jié)果:F=1.00000.50000.33330.25000.20000.50000.33330.25000.20000.16670.33330.25000.20000.16670.14290.25000.20000.16670.14290.12500.20000.16670.14290.12500.11110.16670.14290.12500.11110.10000.14290.12500.11110.10000.09090.12500.11110.10000.09090.08330.11110.10000.09090.08330.07690.10000.09090.08330.07690.0714for語句可以嵌套使用,例如:m=10;n=5;運(yùn)行程序,得值得注意的是:每一個(gè)for必須與end配對(duì)使用。for命令輸入后,MATLAB將繼續(xù)等待循環(huán)體的輸入,直至遇到end結(jié)束循環(huán)體時(shí),才開始執(zhí)行for語句。值得注意的是:(2)while語句while循環(huán)控制語句的作用是在一定的邏輯條件控制下,不斷地循環(huán)執(zhí)行一條或一組語句,直到邏輯條件不再滿足時(shí)為止。它的基本格式為:

whileexpressionstatementsend(2)while語句while循環(huán)控制語句的作用是在一定例2-20找出使階乘n!小于10的100次方的最小整數(shù)nn=1whileprod(1:n)<1e100n=n+1endnMATLAB程序如下:運(yùn)行程序,得到結(jié)果:n=70其中,prod(1:n)是計(jì)算向量1:n各元素之積。當(dāng)然.MATLAB提供的循環(huán)結(jié)構(gòu)for和while是允許多級(jí)嵌套的,而且它們之間也允許相互嵌套,這和C語言等高級(jí)程序設(shè)計(jì)語言是一致的。例2-20找出使階乘n!小于10的100次方的最小整數(shù)n在程序設(shè)計(jì)中,經(jīng)常會(huì)碰到提前終止循環(huán)的操作。MATLAB中終止循環(huán)的命令有continue和break,它們的功能分別是:·continue命令continue命令的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中下面還未執(zhí)行的語句,直接進(jìn)行下一次循環(huán)?!reak命令使用break命令,可以在條件成立的情況下終止循環(huán)(從循環(huán)體跳出),接著執(zhí)行循環(huán)外面的語句。(3)循環(huán)終止語句在程序設(shè)計(jì)中,經(jīng)常會(huì)碰到提前終止循環(huán)的操作。MATLAB中終第2章MATLAB與Simulink簡(jiǎn)介第2章MATLAB與Simulink簡(jiǎn)介2.1MATLAB的基礎(chǔ)知識(shí)2.1.1MATLAB語言系統(tǒng)1.MATLAB簡(jiǎn)介MATLAB(MATrixLABoratory,即矩陣實(shí)驗(yàn)室)是美國的CleveMoler教授利用自己研制的基于特征值計(jì)算和線性代數(shù)軟件包開發(fā)的一種高級(jí)語言。

1990年推出的MATLAB3.5i是第一個(gè)可以運(yùn)行于MicrosoftWindows下的版本,它可以在兩個(gè)窗口上分別顯示命令行計(jì)算結(jié)果和圖形結(jié)果。稍后推出的SimuLAB環(huán)境首次引入基于框圖的仿真功能,該環(huán)境就是我們現(xiàn)在所知的Simulink,其模型輸入的方式使得一個(gè)復(fù)雜的控制系統(tǒng)的數(shù)字仿真問題變得十分直觀而且相當(dāng)容易。

2.1MATLAB的基礎(chǔ)知識(shí)2.1.1MATLAB語經(jīng)過多年來版本的不斷更新,新版本的MATLAB功能已經(jīng)十分強(qiáng)大,其應(yīng)用領(lǐng)域日益廣泛,速度更快,數(shù)值性能更好;用戶圖形界面設(shè)計(jì)更趨合理;與C語言接口及轉(zhuǎn)換的兼容性更強(qiáng);新的虛擬現(xiàn)實(shí)工具箱更給仿真結(jié)果三維視景下顯示帶來了新的解決方案。經(jīng)過多年來版本的不斷更新,新版本的MATLAB功能已經(jīng)十分強(qiáng)MATLAB具有以下主要特點(diǎn):(1)超強(qiáng)的數(shù)值運(yùn)算功能。(2)語法限制不嚴(yán)格,程序設(shè)計(jì)自由度大。(3)程序的可移植性很好。

(4)強(qiáng)大的數(shù)據(jù)可視化功能。

(5)豐富的工具箱。

MATLAB具有以下主要特點(diǎn):(1)超強(qiáng)的數(shù)值運(yùn)算功能。(22.MATLAB工作環(huán)境2.MATLAB工作環(huán)境圖形窗口“Figure”

圖形窗口“Figure”M文件窗口

M文件窗口3.MATLAB的M文件所謂M文件,就是用戶把要實(shí)現(xiàn)的命令寫在一個(gè)以.m為擴(kuò)展名的文件中M文件有兩種格式(統(tǒng)稱為M文件)函數(shù)式M文件程序式M文件程序式M文件用于把很多需要在命令窗口輸入的命令放在一起,就是命令的簡(jiǎn)單疊加函數(shù)式M文件用于把重復(fù)的程序段封裝成函數(shù)供用戶調(diào)用。3.MATLAB的M文件所謂M文件,就是用戶把要實(shí)現(xiàn)的命令寫(1)程序式M文件(1)程序式M文件運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:(2)函數(shù)式M文件函數(shù)式M文件首行總是以關(guān)鍵字“function”開頭,并在首行中列出全部輸入、輸出參數(shù)以及函數(shù)名。函數(shù)名應(yīng)置于等號(hào)右側(cè)并與對(duì)應(yīng)的M文件名相同,輸出參數(shù)緊跟在“function”之后,常用中括號(hào)括起來(若僅有一個(gè)輸出參數(shù)則無需中括號(hào));輸入?yún)?shù)緊跟在函數(shù)名之后,常用小括號(hào)括起來。如果函數(shù)有多個(gè)輸入或輸出參數(shù),則多個(gè)參數(shù)之間用英文狀態(tài)下的逗號(hào)加以分隔。(2)函數(shù)式M文件函數(shù)式M文件首行總是以關(guān)鍵字“functic=5運(yùn)行程序,得到結(jié)果:c=運(yùn)行程序,4.MATLAB的幫助系統(tǒng)MATLAB具有完善的幫助系統(tǒng),幫助內(nèi)容豐富,獲取幫助的形式多樣。幫助系統(tǒng)包括:命令行幫助聯(lián)機(jī)幫助演示幫助充分利用幫助系統(tǒng),可以更快更準(zhǔn)確地掌握MATLAB的使用方法。

4.MATLAB的幫助系統(tǒng)MATLAB具有完善的幫助系統(tǒng),命令行幫助命令行幫助help工具箱或命令名

help工具箱或命令名聯(lián)機(jī)幫助聯(lián)機(jī)幫助演示幫助演示幫助2.1.2MATLAB的基本運(yùn)算1.MATLAB的基本語句結(jié)構(gòu)(1)變量變量命名的規(guī)則為:1)變量的名稱必須以字母開頭,其后可以為字母、數(shù)字或者下劃線。2)變量名長(zhǎng)度不超過63個(gè)字符,超過的部分將會(huì)被忽略。3)變量名區(qū)分字母的大小寫;2.1.2MATLAB的基本運(yùn)算1.MATLAB的基本語MATLAB中還設(shè)置了如下一些特殊變量:MATLAB中還設(shè)置了如下一些特殊變量:

MATAB語言的賦值語句有兩種:

·變量名=運(yùn)算表達(dá)式·[返回變量列表]=函數(shù)名(輸入變量列表)例如

>>T=0:pi/50:2*pi;>>[m,p]=bode(a,b,c,d,w)(2)賦值語句例如(2)賦值語句說明等號(hào)右邊的表達(dá)式可以由分號(hào)結(jié)束,也可以由逗號(hào)或換行號(hào)結(jié)束,但它們的含義是不同的。如果用分號(hào)結(jié)束,則左邊的變量結(jié)果將不在屏幕上顯示出來;由逗號(hào)或換行號(hào)結(jié)束,則將把左邊的返回值內(nèi)容全部顯示出來。

在調(diào)用函數(shù)時(shí),MATLAB允許一次返回多個(gè)結(jié)果,當(dāng)函數(shù)的輸出參數(shù)不只一個(gè)時(shí),用中括號(hào)“[]”把輸出參數(shù)括起來,參數(shù)之間用逗號(hào)分開;輸入變量用小括號(hào)“()”括起來,當(dāng)個(gè)數(shù)不只一個(gè)時(shí),用逗號(hào)分開。

說明在調(diào)用函數(shù)時(shí),MATLAB允許一次返回多個(gè)結(jié)果,在MATLAB中,冒號(hào)“:”是很有用的算子,經(jīng)常用它來生成向量。語句>>a=i:k:j;它生成一個(gè)從i到j(luò)步長(zhǎng)為k的行向量a。如果增量為負(fù)值,可以得一個(gè)遞減順序的向量,增量為l時(shí)可以忽略。MATLAB用通常的十進(jìn)制數(shù)表示常數(shù)、小數(shù)和負(fù)數(shù)。與通常的數(shù)學(xué)表示一樣,還可以使用以10為冪的常數(shù)以及虛數(shù),MATLAB接受各種合法的數(shù)據(jù)輸入。

(3)數(shù)據(jù)的輸入輸出格式在MATLAB中,冒號(hào)“:”是很有用的算子,經(jīng)常用它來生成向(4)常用操作命令(4)常用操作命令2.MATLAB的基本運(yùn)算加(+)、減(-)、乘(*)、除(/)、冪(^)等運(yùn)算操作

MATLAB還提供幾乎所有的運(yùn)算函數(shù)

初等運(yùn)算函數(shù)

2.MATLAB的基本運(yùn)算加(+)、減(-)、乘(*)、除三角函數(shù)

三角函數(shù)數(shù)據(jù)統(tǒng)計(jì)分析函數(shù)

數(shù)據(jù)統(tǒng)計(jì)分析函數(shù)例2-1某二階欠阻尼系統(tǒng)的單位階躍響應(yīng)為試?yán)L制響應(yīng)曲線。MATLAB程序如下:t=0:0.1:15;c=1-1.15*exp(-0.5*t).*sin(0.866*t+pi/3);plot(t,c);grid;

%繪制曲線由max函數(shù)可求出響應(yīng)的最大值(峰值)

MATLAB程序如下:

mp=max(c)

運(yùn)行程序,得到結(jié)果:mp=1.1623例2-1某二階欠阻尼系統(tǒng)的單位階躍響應(yīng)為試?yán)L制響應(yīng)曲線。M運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:3.矩陣運(yùn)算MATLAB中所有的計(jì)算都是以矩陣為基本單元進(jìn)行的,MATLAB對(duì)矩陣的運(yùn)算功能最齊全,也最強(qiáng)大。(1)矩陣輸入矩陣輸入時(shí)一行中各元素間用逗號(hào)“,”或空格,行間用分號(hào)“;”或直接回車,整個(gè)矩陣以括號(hào)“[”和“]”表示開始和結(jié)束。3.矩陣運(yùn)算MATLAB中所有的計(jì)算都是以矩陣為基本單元進(jìn)例2-2輸入以下MATLAB語句a=[123;456;789]b=[1,1+2i;2+3i,exp(-1)]

運(yùn)行程序,得到結(jié)果:a=123456789b=1.00001.0000+2.0000i2.0000+3.0000i0.3679例2-2輸入以下MATLAB語句a=[123;45常用的初等矩陣

常用的初等矩陣(2)矩陣的常規(guī)運(yùn)算注意矩陣的四則運(yùn)算必須復(fù)合矩陣的維數(shù)要求,否則會(huì)給出矩陣維數(shù)錯(cuò)誤提示。

(2)矩陣的常規(guī)運(yùn)算注意矩陣的四則運(yùn)算必須復(fù)合矩陣的維數(shù)要例2-3矩陣加法與乘法。輸入以下MATLAB語句a=[121;221;312];b=[331;321;143];c=a+bd=a*b運(yùn)行程序,得到結(jié)果:c=452542455d=1011613147141910例2-3矩陣加法與乘法。輸入以下MATLAB語句a=[1例2-4矩陣的點(diǎn)運(yùn)算。輸入以下MATLAB語句運(yùn)行程序,得到結(jié)果:a=[121;221;312];b=[331;321;143];c=a.*bd=a.^b

c=361641346d=181841318例2-4矩陣的點(diǎn)運(yùn)算。輸入以下MATLAB語句運(yùn)行程序,得例2-5矩陣右除與左除。輸入以下MATLAB語句a=[121;221;212];b=[1;2;3];a/b

%矩陣右除運(yùn)行程序,得到結(jié)果:???Errorusing==>mrdivideMatrixdimensionsmustagree.a\b

%矩陣左除重新輸入語句ans=1.0000-0.33330.6667a=[121;221;212];b=[1;2;3];a/b

%矩陣右除運(yùn)行程序,得到結(jié)果:例2-5矩陣右除與左除。輸入以下MATLAB語句a=[1例2-6矩陣轉(zhuǎn)置與逆矩陣。輸入以下MATLAB語句a=[010;001;-6-11-6];az=a‘a(chǎn)i=inv(a)運(yùn)行程序,得到結(jié)果:az=00-610-1101-6ai=-1.8333-1.0000-0.16671.00000001.00000例2-6矩陣轉(zhuǎn)置與逆矩陣。輸入以下MATLAB語句a=[0(3)矩陣特征值運(yùn)算(3)矩陣特征值運(yùn)算例2-7分別計(jì)算矩陣a的有關(guān)特征參數(shù)。輸入以下MATLAB語句a=[123;456;780][cond(a),norm(a),rank(a)]

運(yùn)行程序,得到結(jié)果:ans=35.105913.20153.0000例2-7分別計(jì)算矩陣a的有關(guān)特征參數(shù)。輸入以下MATLAB4.關(guān)系運(yùn)算和邏輯運(yùn)算MATLAB的關(guān)系運(yùn)算符

說明

a和b可以都是矩陣或數(shù)組,它們的大小完全相同。對(duì)于關(guān)系和邏輯表達(dá)式的輸出來說,1表示“真”,而0則表示“假”。關(guān)系操作是對(duì)矩陣或數(shù)組各自相對(duì)應(yīng)的元素進(jìn)行比較,返回的結(jié)果與兩相比較的矩陣或數(shù)組的大小相同的0、1陣。4.關(guān)系運(yùn)算和邏輯運(yùn)算MATLAB的關(guān)系運(yùn)算符說明a和例2-8比較矩陣的大小。輸入以下MATLAB語句a=[1612;3327];b=[234;678];c=gt(a,b)運(yùn)行程序,得到結(jié)果:c=011010說明對(duì)于復(fù)數(shù)運(yùn)算,“==”與“~=”運(yùn)算,既比較實(shí)部,又比較虛部。而其他運(yùn)算僅比較實(shí)部。關(guān)系運(yùn)算同樣也可用于常量與矩陣的比較,在這種情況下,該常量與矩陣的每一個(gè)元素進(jìn)行比較,其結(jié)果是一個(gè)與矩陣同維數(shù)的0、1矩陣。例2-8比較矩陣的大小。輸入以下MATLAB語句a=[1

邏輯操作符

邏輯操作符例2-9矩陣的邏輯與、或、非運(yùn)算。輸入以下MATLAB語句x=[01;10];y=[00;10];x&yx|ynot(x)運(yùn)行程序,得到結(jié)果:ans=0010ans=0110ans=1001例2-9矩陣的邏輯與、或、非運(yùn)算。輸入以下MATLAB語句5.多項(xiàng)式運(yùn)算5.多項(xiàng)式運(yùn)算例2-10輸入以下MATLAB語句p=[10-2-4];%輸入多項(xiàng)式r=roots(p)%求多項(xiàng)式P(x)=-2x–4的根運(yùn)行程序,得到結(jié)果:r=2.0000-1.0000+1.0000i-1.0000-1.0000i例2-10輸入以下MATLAB語句p=[10-2-4例2-11輸入以下MATLAB語句a=[1.2350.9;51.756;3901;1234];%輸入矩陣poly(a)%求矩陣a的特征多項(xiàng)式polyval(ans,20)%求特征多項(xiàng)式中未知數(shù)為20時(shí)的值

運(yùn)行程序,得到結(jié)果:ans=1.0000-6.9000-77.2600-86.1300604.5500ans=7.2778e+004說明矩陣a的特征多項(xiàng)式為

當(dāng)x=20時(shí),多項(xiàng)式的值為72778。例2-11輸入以下MATLAB語句a=[1.2350例2-12已知控制系統(tǒng)的開環(huán)傳遞函數(shù)為求系統(tǒng)的閉環(huán)特征方程并計(jì)算系統(tǒng)的閉環(huán)特征根。p0=conv([1,2],[1,3])+conv([1,0],[1,1])%求特征方程p0=266>>p1=rref(p0)%行系數(shù)化簡(jiǎn)p1=133>>r=roots(p1)%求特征根r=-1.5000+0.8660i-1.5000-0.8660i輸入語句說明系統(tǒng)閉環(huán)特征方程特征根-1.5000+0.8660i,-1.5000-0.8660i例2-12已知控制系統(tǒng)的開環(huán)傳遞函數(shù)為求系統(tǒng)的閉環(huán)特征方程2.1.3MATLAB的繪圖強(qiáng)大的圖形功能是MATLAB受到人們廣泛歡迎的一個(gè)重要原因。MATLAB軟件提供了豐富的用于繪制圖形、標(biāo)注圖形以及輸出圖形的基本命令。常用的有

二維圖形三維圖形2.1.3MATLAB的繪圖強(qiáng)大的圖形功能是MATLAB1.二維圖形(1)曲線繪圖函數(shù)格式:plot(x)plot(x1,y1,x2,y2…)plot(x1,y1,’plotstyle’…)

1.二維圖形(1)曲線繪圖函數(shù)格式:plot(x)plot函數(shù)是MATLAB中繪制基本二維曲線圖形的函數(shù),它的基本功能是打開一個(gè)新的圖形窗口繪制曲線。

若已經(jīng)存在一個(gè)圖形窗口,則自動(dòng)將該窗口的原內(nèi)容清除,然后再繪制新的圖形。

·plot(x1,y1,x2,y2…)

繪制以(x1,y1),(x2,y2)…確定的多條曲線?!lot(x1,y1,’plotstyle’…)

繪制由字符串“plotstyle”定義的顏色、線型的多條曲線。其中“plotstyle”選項(xiàng)的部分表示如表2-4所示。plot函數(shù)是MATLAB中繪制基本二維曲線圖形的函數(shù),它的MATLAB繪圖命令選項(xiàng)

MATLAB繪圖命令選項(xiàng)·title(‘字符串’)用于給圖形添加標(biāo)題,將字符串添加在圖形上方的中部。·xlabel(‘字符串’)用于對(duì)圖形的x軸進(jìn)行說明,將字符串添加在圖形x軸下方?!label(‘字符串’)用于對(duì)圖形的y軸進(jìn)行說明,將字符串添加在圖形y軸左方。

·text(x,y,‘字符串’)用于在圖形指定位置(x,y)添加字符串對(duì)圖形進(jìn)行說明?!ぃ?)繪圖輔助函數(shù)(2)繪圖輔助函數(shù)gtext(‘字符串’)與text功能類似,只是在執(zhí)行命令后會(huì)在圖形中出現(xiàn)一個(gè)十字線,可用鼠標(biāo)來指定添加字符串的位置。

·grid

用于給圖形添加?xùn)鸥瘢?種格式:

>>gridon;

給圖形添加?xùn)鸥?/p>

>>gridoff;

去除柵格

>>grid;

在添加?xùn)鸥窈腿コ龞鸥駜煞N狀態(tài)中切換·axis()

用于對(duì)繪圖坐標(biāo)系進(jìn)行控制和修飾。常用格式:

>>axis(‘equal’)

得到一個(gè)方正的坐標(biāo)系

>>axis(‘square’)

得到相同比例的坐標(biāo)系

>>axis([x1,x2,y1,y2])

指定x坐標(biāo)軸和y坐標(biāo)軸的范圍gtext(‘字符串’)·figure

創(chuàng)造新的圖形窗口。·hold

用于進(jìn)行圖形保持。想在已經(jīng)存在的圖形上添加曲線時(shí),需用hold函數(shù)。調(diào)用格式與grid類似。·subplot(mnp)

用于在指定位置建立坐標(biāo),可實(shí)現(xiàn)在一個(gè)圖形窗口內(nèi)繪制多個(gè)坐標(biāo)系。subplot(mnp)表示將屏幕分割成m×n個(gè)區(qū)域(m和n均小于4),p代表當(dāng)前繪圖區(qū)域的序號(hào),序號(hào)以從左到右,從上到下的順序編號(hào)?!igure例2-13單窗口多曲線子圖繪制。輸入以下MATLAB語句MATLAB程序如下:x=pi*(0:0.05:2);y1=sin(2*x);y2=cos(2*x);y3=y1+y2;y4=y1-y2;subplot(221);plot(x,y1,'o');xlabel('(a)');grid;subplot(222);plot(x,y2,'*');xlabel('(b)');grid;subplot(223);plot(x,y3,'-.');xlabel('(c)');grid;subplot(224);plot(x,y4);xlabel('(d)');grid;例2-13單窗口多曲線子圖繪制。輸入以下MATLAB語句M運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:除了plot函數(shù)外,MATLAB中還設(shè)置了一些其它的二維繪圖函數(shù),以繪制一些特定的圖形。(3)其它二維繪圖函數(shù)下表給出了幾個(gè)常用函數(shù)除了plot函數(shù)外,MATLAB中還設(shè)置了一些其它的二維繪圖二維繪圖函數(shù)

二維繪圖函數(shù)例2-14繪制極坐標(biāo)曲線。輸入以下MATLAB語句t=0:0.01:2*pi;r=sin(2*t).*cos(2*t);polar(t,r,'r')MATLAB程序如下:例2-14繪制極坐標(biāo)曲線。輸入以下MATLAB語句t=0:運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:2.三維圖形MATLAB提供了各種各樣的命令用于繪制三維圖形。這里主要討論三維繪圖的基本方法和基本命令。繪制三維曲線圖的基本命令是plot3

繪制三維曲面網(wǎng)線圖的命令是mesh

曲面繪圖函數(shù)是surf

2.三維圖形繪制三維曲線圖的基本命令是plot3plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’,x3,y3,z3,‘s3’,…)用于三維多曲線繪圖,其中xn,yn,zn是向量或矩陣,sn是可選的字符串,用來指定顏色和線形。mesh(X,Y,Z)

根據(jù)矩陣X,Y和Z繪制彩色的空間三維網(wǎng)線圖。X,Y和Z中對(duì)應(yīng)的元素映射為三維空間上的點(diǎn),點(diǎn)與點(diǎn)之間用線段連接。其中網(wǎng)線的顏色隨著網(wǎng)點(diǎn)高度的改變而改變。曲面繪圖函數(shù)surf的調(diào)用格式與mesh完全一樣plot3(x1,y1,z1,’s1’,x2,y2,z2,’例2-15作三維柱面螺旋線。輸入以下MATLAB語句t=0:pi/50:10*pi;plot3(sin(t),cos(t),t);xlabel('sin(t)')ylabel('cos(t)')zlabel('t')gridMATLAB程序如下:例2-15作三維柱面螺旋線。輸入以下MATLAB語句t=運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:例2-16闊邊帽三維網(wǎng)線圖。輸入以下MATLAB語句x=-8:0.5:8;y=x;[X,Y]=meshgrid(x,y);r=sqrt(X.^2+Y.^2)+eps;Z=sin(r)./r;mesh(X,Y,Z)MATLAB程序如下:例2-16闊邊帽三維網(wǎng)線圖。輸入以下MATLAB語句x=-運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:例2-17繪制三維陀螺椎面。輸入以下MATLAB語句t1=0:0.1:0.9;t2=1:0.1:2;r=[t1,-t2+2];[X,Y,Z]=cylinder(r,30);surf(X,Y,Z);colormap(jet)grid;MATLAB程序如下:例2-17繪制三維陀螺椎面。輸入以下MATLAB語句t1=運(yùn)行程序,得到結(jié)果:運(yùn)行程序,得到結(jié)果:2.1.4MATLAB循環(huán)與轉(zhuǎn)移控制大部分的求解問題都要受到一定條件的控制,和其它高級(jí)語言一樣,MATLAB也提供了一些常用的控制語句.從而使得MATLAB語言的編程顯得十分靈活。MATTAB支持的控制語句和C語言中的控制語句結(jié)構(gòu)很相似,有循環(huán)控制語句和條件轉(zhuǎn)移控制語句。2.1.4MATLAB循環(huán)與轉(zhuǎn)移控制大部分的求解問題都要1.條件控制語句(1)if語句if語句是MATLAB提供的最基本的條件轉(zhuǎn)移語句,它用于根據(jù)一定的邏輯條件執(zhí)行相應(yīng)的一組語句。

格式ifexpressionstatementsendifexpression1statements1elseifexpression2statements2elseifexpression3statements3elsestatements4end1.條件控制語句(1)if語句if語句是MATLAB提供的最例2-18根據(jù)一個(gè)整數(shù)的符號(hào)和奇偶性,分成三種情況作不同的處理。ifn<0

%如果n是負(fù)數(shù),顯示錯(cuò)誤信息

disp(‘Inputmustbe

溫馨提示

  • 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)論