




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1.3MATLAB的控制語句
MATLAB是一個功能極強的高度集成化程序設計語言,它具備一般程序設計語言的基本語句結(jié)構,并且它的功能更強,由它編寫出來的程序結(jié)構簡單,可讀性強。和其它高級語言一樣,MATLAB也提供了條件轉(zhuǎn)移語句、循環(huán)語句等一些常用的控制語句,從而使得MATLAB語言的編程顯得十分靈活。11.3.1循環(huán)語句
在實際計算中,經(jīng)常會遇到許多有規(guī)律的重復計算,此時就要根據(jù)循環(huán)條件對某些語句重復執(zhí)行。MATLAB中可以使用兩種循環(huán)語句:for語句和while語句2for循環(huán)語句for語句的基本格式為:
for循環(huán)變量=表達式1:表達式3:表達式2
循環(huán)語句組
end其中,循環(huán)變量可以取做任何MATLAB變量。首先將循環(huán)變量的初值賦成表達式1的值,判斷若循環(huán)變量的值介于表達式1和表達式2的值之間,則執(zhí)行循環(huán)體中的語句,否則結(jié)束循環(huán)語句的執(zhí)行。執(zhí)行完一次循環(huán)體中的語句之后,則會將循環(huán)變量自增一個表達式3的值,然后再判斷循環(huán)變量是否介于表達式1和表達式2之間,如果滿足就再執(zhí)行循環(huán)體語句直至不滿足為止。這時將結(jié)束循環(huán)語句的執(zhí)行,而繼續(xù)執(zhí)行后面的語句。如果表達式3的值為1,則可省略表達式3。3例1-3求的值。解MABLAB程序如下:%ex1_3.mmysum=0;fori=1:100
mysum=mysum+i;endmysum運行結(jié)果顯示:mysun=50504例:利用for循環(huán)求1!+2!+3!+
+5!的值解MABLAB程序如下:sum=0;fori=1:5pdr=1;fork=1:i
pdr=pdr*k;end
sum=sum+pdr;endsum運行結(jié)果顯示:sum=1535
while循環(huán)語句將循環(huán)體中的語句循環(huán)執(zhí)行不定次數(shù)。其基本格式為:
while表達式循環(huán)體語句
end其中,表達式一般是由邏輯運算和關系運算組成的,以判斷循環(huán)的進行和停止。若表達式的值非0(邏輯為真),則執(zhí)行循環(huán)體語句;執(zhí)行后再判斷表達式是否仍然成立,若不成立,則跳出循環(huán),向下繼續(xù)執(zhí)行。While循環(huán)語句6例:用while循環(huán)語句求1~100間整數(shù)的和。
sum=0;i=1;whilei<=100sum=sum+i;i=i+1;endsum
運行結(jié)果顯示:
sum=50507
MATLAB提供的循環(huán)語句for和while是允許多級嵌套的,而且它們之間也允許相互嵌套,這和C語言等高級程序設計語言是一致的。81.3.2程序流控制語句
在程序設計語言中,經(jīng)常會遇到提前終止循環(huán)、跳出子程序、顯示執(zhí)行過程等,此時就要用到以下控制程序流命令。1.echo命令:顯示其后執(zhí)行的M文件的指令。一般來說當一個M文件運行時,文件中的命令不在屏幕上顯示出來;而利用echo命令可以使M文件在運行時把其中的命令顯示在工作空間中,這對于調(diào)試、演示等很有用。9程序流控制語句
2.break命令:中斷for,while循環(huán)語句的執(zhí)行、強行跳出,在嵌套循環(huán)結(jié)構中,當滿足某種條件時,break從最里層循環(huán)退出??煞乐顾姥h(huán)。(跳一層)
3.continue命令:中斷for,while循環(huán)語句的執(zhí)行,進行下一次循環(huán)判斷。(跳一次)4.pause命令:暫停,等待用戶響應??闪頜文件執(zhí)行暫停,并在按任一鍵后繼續(xù)執(zhí)行。5.return命令:返回調(diào)用它的函數(shù)處繼續(xù)運行。101.3.3條件轉(zhuǎn)移語句
MATLAB提供的條件轉(zhuǎn)移語句是由if引導的,其基本格式分為以下幾種:
1、if條件式條件塊語句組
end其中,
條件式一般是由邏輯運算和關系運算組成的。當給出的條件式成立時,則執(zhí)行該條件塊結(jié)構中的語句內(nèi)容,執(zhí)行完之后繼續(xù)向下執(zhí)行,若條件不成立,則跳出條件塊而直接向下執(zhí)行。11例1-4:求滿足的最小m值。解:MATLAB程序如下:%ex1_4.mmysum=0;form=1:1000
mysum=mysum+m;ifmysum>1000break;endendm運行結(jié)果顯示:m=45122、if表達式語句1else
語句2end其中,表達式一般是由邏輯運算和關系運算式組成的。133、多分支結(jié)構
if表達式1
語句1elseif表達式2
語句2elseif表達式3
語句3
···
else
語句nend14例:寫賦值程序:
fori=1:5
x=input('pleaseinputx=');ifx>=1y=10
elseifx>-1&x<1y=0elsey=-10endend154、switch語句(開關結(jié)構)其語句格式為:
switch開關表達式
case表達式1
語句組1case表達式2
語句組2……case表達式m
語句組motherwise
語句組m+1end當開關表達式的值等于表達式1時,執(zhí)行語句組1,執(zhí)行完后跳出,…,否則執(zhí)行語句組m+1。在執(zhí)行過程中,只有一個case命令被執(zhí)行。當執(zhí)行完命令后,程序就跳出分支結(jié)構,執(zhí)行end后面的命令。16例:t=-pi:0.1:pi;trigname=input('Inputtrigfunctionsname:')switchtrignamecase'sin'plot(t,sin(t))case'cos'plot(t,cos(t))otherwisebreak%終止,跳出switch語句end注意,這里使用了break命令,其作用就是中止并跳出上一級的過程。171.4MATLAB的繪圖功能
MATLAB被控制界廣泛接受的另一個重要原因是,它提供了十分方便的一系列繪圖命令。例如,線性坐標、對數(shù)坐標、半對數(shù)坐標及極坐標等命令,它還允許用戶同時打開若干圖形窗口,對圖形標注文字說明等,它使得圖形繪制和處理等復雜工作變得簡單得令人難以置信。181.4.1
二維圖形1.基本形式
MATLAB最基本的繪圖函數(shù)為plot()。如果y是一個n維向量,那么plot(y)繪制一個y元素和y元素排列序號1,2,…,n之間關系的線性坐標圖。例如>>y=[00.480.8410.910.60.14];>>plot(y)則顯示如圖1-2所示曲線。19如果x和y是兩個等長向量,那么plot(x,y)將繪制一條x和y的之間關系的線性坐標圖。例如>>x=0:0.1:2*pi;y=sin(x);plot(x,y)則顯示如圖1-3所示曲線。
圖1-2圖1-3202.多重線型在同一圖形中可以繪制多重線型,基本命令格式為
plot(x1,y1,x2,y2,…,xn,yn)
以上命令可將x1對y1,x2對y2,…,xn對yn的圖形繪制在一個圖形中,而且分別采用不同的顏色或線型。例如以下命令可顯示如圖1-4所示曲線。21圖1-4>>x=0:0.1:2*pi;plot(x,sin(x),x,cos(x))223.圖形修飾及文本標注
MATLAB中對于同一圖形中的多重線,不僅可分別定義其線型,而且可分別選擇其顏色,帶有選項的曲線繪制命令的調(diào)用格式為plot(x1,y1,選項,x2,y2,選項2,…,xn,yn,選項n)其中x1,x2,…,xn為x軸變量,y1,y2,…,yn為y軸變量,選項如下表1-6所示。23選項意義選項意義-實線.用點號繪制各數(shù)據(jù)點--虛線x叉號線繪制各數(shù)據(jù)點-.點劃線。圓圈線繪制各數(shù)據(jù)點:點線*星號線繪制各數(shù)據(jù)點y黃色g綠m洋紅色b藍c青色w白r紅k黑表1-6MATLAB的繪圖命令的各種選項24上表中的線型和顏色選項可以同時使用,例如>>x=0:0.1:2*pi;>>plot(x,sin(x),'-g',x,cos(x),'-.r')
25繪制完曲線后,MATLAB還允許用戶使用它提供的特殊繪圖函數(shù)來對屏幕上已有的圖形加注釋、題頭或坐標網(wǎng)格。這些函數(shù)為:
title——給圖形加標題
xlable——給x軸加標注
ylable——給y軸加標注
text——在圖形指定位置加標注
gtext——將標注加到圖形任意位置
gridon(off)——打開、關閉坐標網(wǎng)格線
legend——添加圖例
axis——控制坐標軸的刻度26例:t=0:0.1:10;y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');x=[1.7*pi;1.6*pi];y=[-0.3;0.8];s=['sin(t)';'cos(t)'];text(x,y,s);title('正弦和余弦曲線');legend('正弦','余弦')xlabel('時間t'),ylabel('正弦、余弦')gridaxissquare2728盡管MATLAB可以自動根據(jù)要繪制曲線數(shù)據(jù)的范圍選擇合適的坐標系,使得曲線能夠盡可能清晰地顯示出來,但是,如果覺得自動選擇的坐標還不合適時,還可以用手動的方式來選擇新的坐標系。axis的用法有:
axis([xmin
xmax
ymin
ymax])——用行向量中給出的值設定坐標軸的最小值和最大值。如:axis([-2205])
axison(off)
———顯示和關閉坐標軸的標記、標志。
axissquare——將坐標軸設置為橫:縱=1:129用gtext()命令可以在圖形中的任意位置加上文本說明,可以用鼠標來對要添加的文本字符串定位。如:在MATLAB的工作空間中鍵入下列命令>>gtext('sin(x)')
那么在圖中,將會出現(xiàn)一個十字叉,用鼠標拖動它到添加文本的位置,單擊鼠標,gtext()命令中的文本字符串sin(x)就自動添加到指定的位置。304.圖形控制
MATLAB允許將一個圖形窗口分割成n×m部分,對每一部分可以用不同的坐標系單獨繪制圖形,窗口分割命令的調(diào)用格式為
subplot(n,m,k)其中:n,m分別表示將這個圖形窗口分割的行列數(shù),k表示繪圖序號,按從左至右,從上至下排列。例如想將窗口分割成4×3個部分,則右下角的代號為12,MATLAB最多允許9×9的分割。
31t=0:pi/100:2*pi;y=sin(t);y1=cos(t);y2=sin(t+0.5);subplot(3,1,1);plot(t,y)subplot(3,1,2);plot(t,y1)subplot(3,1,3);plot(t,y2)32另外,MATLAB還提供了清除圖形窗口命令clg、保持當前窗口的圖形命令hold、放大和縮小窗口命令zoom等。335.特殊坐標圖形除了基本的繪圖命令plot()外,MATLAB還允許繪制極坐標曲線、對數(shù)坐標曲線、條形圖和階梯圖等。極坐標曲線繪制函數(shù)的調(diào)用格式:polar(theta,rho,選項)其中:theta和rho分別為長度相同的角度向量和幅值向量。選項的內(nèi)容和plot()函數(shù)的基本一致,是字符串,用來控制圖形的線型。
34例:繪制半徑為
2的漸開線。
rhe=2;theta=0:pi/20:4*pi;rho=rhe+theta*rhe;polar(theta,rho,'r')35對數(shù)和半對數(shù)曲線繪制函數(shù)的調(diào)用格式分別為:semilogx(x,y,選項)semilogy(x,y,選項)loglog(x,y,選項)即:semilogx()僅對橫坐標進行對數(shù)變換,而縱坐標仍保持線性坐標;而semilogy()只對縱坐標進行對數(shù)變換,而橫坐標仍保持線性坐標;loglog()則分別對橫縱坐標都進行對數(shù)變換(最終得出全對數(shù)坐標的曲線來)。選項的定義與plot()函數(shù)的完全一致。對數(shù)坐標是指以10為底的對數(shù)坐標。36例:繪制正弦函數(shù)的對數(shù)坐標曲線。
t=0.1:0.1:3*pi;y=sin(t);figure(1)semilogx(t,y)gridon%為圖形窗口添加網(wǎng)格
figure(2)semilogy(t,y)figure(3)loglog(t,y)gridon37例:將一個周期內(nèi)的正弦值利用bar()函數(shù)繪制出來。解:
MATLAB程序:
t=0:0.2:2*pi;y=sin(t);bar(t,y);axis([0,2*pi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 應急疏散系統(tǒng)施工方案
- 肇慶教資考試試題及答案
- 2025年江西職考數(shù)學試題及答案
- 5年級下冊的字
- 5s建設新聞通稿
- 礦山交叉作業(yè)施工方案
- amh低調(diào)理成功案例
- 2025年內(nèi)蒙古機電職業(yè)技術學院單招職業(yè)傾向性測試題庫學生專用
- 2025年重慶應用技術職業(yè)學院單招職業(yè)技能考試題庫必考題
- 2025年湖南安全技術職業(yè)學院單招職業(yè)技能測試題庫完美版
- 《藝術概論(專升本)》復習考試題庫(含答案)
- 安全周例會匯報模板、安全匯報模板
- 化學核心素養(yǎng)的課堂教學-基于核心素養(yǎng)的高中化學教學 課件
- DB31T 1137-2019 畜禽糞便生態(tài)還田技術規(guī)范
- 張居正改革-完整精講版課件
- excel-操作技巧培訓課件
- 腹膜透析的原理和應用講課課件
- 中北大學火炮概論終極版
- 2022年CAD快捷鍵-CAD常用快捷鍵命令大全
- 流感病人的護理ppt課件
評論
0/150
提交評論