版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.3MATLAB的控制語句
MATLAB是一個(gè)功能極強(qiáng)的高度集成化程序設(shè)計(jì)語言,它具備一般程序設(shè)計(jì)語言的基本語句結(jié)構(gòu),并且它的功能更強(qiáng),由它編寫出來的程序結(jié)構(gòu)簡(jiǎn)單,可讀性強(qiáng)。和其它高級(jí)語言一樣,MATLAB也提供了條件轉(zhuǎn)移語句、循環(huán)語句等一些常用的控制語句,從而使得MATLAB語言的編程顯得十分靈活。11.3.1循環(huán)語句
在實(shí)際計(jì)算中,經(jīng)常會(huì)遇到許多有規(guī)律的重復(fù)計(jì)算,此時(shí)就要根據(jù)循環(huán)條件對(duì)某些語句重復(fù)執(zhí)行。MATLAB中可以使用兩種循環(huán)語句:for語句和while語句2for循環(huán)語句for語句的基本格式為:
for循環(huán)變量=表達(dá)式1:表達(dá)式3:表達(dá)式2
循環(huán)語句組
end其中,循環(huán)變量可以取做任何MATLAB變量。首先將循環(huán)變量的初值賦成表達(dá)式1的值,判斷若循環(huán)變量的值介于表達(dá)式1和表達(dá)式2的值之間,則執(zhí)行循環(huán)體中的語句,否則結(jié)束循環(huán)語句的執(zhí)行。執(zhí)行完一次循環(huán)體中的語句之后,則會(huì)將循環(huán)變量自增一個(gè)表達(dá)式3的值,然后再判斷循環(huán)變量是否介于表達(dá)式1和表達(dá)式2之間,如果滿足就再執(zhí)行循環(huán)體語句直至不滿足為止。這時(shí)將結(jié)束循環(huán)語句的執(zhí)行,而繼續(xù)執(zhí)行后面的語句。如果表達(dá)式3的值為1,則可省略表達(dá)式3。3例1-3求的值。解MABLAB程序如下:%ex1_3.mmysum=0;fori=1:100
mysum=mysum+i;endmysum運(yùn)行結(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運(yùn)行結(jié)果顯示:sum=1535
while循環(huán)語句將循環(huán)體中的語句循環(huán)執(zhí)行不定次數(shù)。其基本格式為:
while表達(dá)式循環(huán)體語句
end其中,表達(dá)式一般是由邏輯運(yùn)算和關(guān)系運(yùn)算組成的,以判斷循環(huán)的進(jìn)行和停止。若表達(dá)式的值非0(邏輯為真),則執(zhí)行循環(huán)體語句;執(zhí)行后再判斷表達(dá)式是否仍然成立,若不成立,則跳出循環(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
運(yùn)行結(jié)果顯示:
sum=50507
MATLAB提供的循環(huán)語句for和while是允許多級(jí)嵌套的,而且它們之間也允許相互嵌套,這和C語言等高級(jí)程序設(shè)計(jì)語言是一致的。81.3.2程序流控制語句
在程序設(shè)計(jì)語言中,經(jīng)常會(huì)遇到提前終止循環(huán)、跳出子程序、顯示執(zhí)行過程等,此時(shí)就要用到以下控制程序流命令。1.echo命令:顯示其后執(zhí)行的M文件的指令。一般來說當(dāng)一個(gè)M文件運(yùn)行時(shí),文件中的命令不在屏幕上顯示出來;而利用echo命令可以使M文件在運(yùn)行時(shí)把其中的命令顯示在工作空間中,這對(duì)于調(diào)試、演示等很有用。9程序流控制語句
2.break命令:中斷for,while循環(huán)語句的執(zhí)行、強(qiáng)行跳出,在嵌套循環(huán)結(jié)構(gòu)中,當(dāng)滿足某種條件時(shí),break從最里層循環(huán)退出??煞乐顾姥h(huán)。(跳一層)
3.continue命令:中斷for,while循環(huán)語句的執(zhí)行,進(jìn)行下一次循環(huán)判斷。(跳一次)4.pause命令:暫停,等待用戶響應(yīng)??闪頜文件執(zhí)行暫停,并在按任一鍵后繼續(xù)執(zhí)行。5.return命令:返回調(diào)用它的函數(shù)處繼續(xù)運(yùn)行。101.3.3條件轉(zhuǎn)移語句
MATLAB提供的條件轉(zhuǎn)移語句是由if引導(dǎo)的,其基本格式分為以下幾種:
1、if條件式條件塊語句組
end其中,
條件式一般是由邏輯運(yùn)算和關(guān)系運(yùn)算組成的。當(dāng)給出的條件式成立時(shí),則執(zhí)行該條件塊結(jié)構(gòu)中的語句內(nèi)容,執(zhí)行完之后繼續(xù)向下執(zhí)行,若條件不成立,則跳出條件塊而直接向下執(zhí)行。11例1-4:求滿足的最小m值。解:MATLAB程序如下:%ex1_4.mmysum=0;form=1:1000
mysum=mysum+m;ifmysum>1000break;endendm運(yùn)行結(jié)果顯示:m=45122、if表達(dá)式語句1else
語句2end其中,表達(dá)式一般是由邏輯運(yùn)算和關(guān)系運(yùn)算式組成的。133、多分支結(jié)構(gòu)
if表達(dá)式1
語句1elseif表達(dá)式2
語句2elseif表達(dá)式3
語句3
···
else
語句nend14例:寫賦值程序:
fori=1:5
x=input('pleaseinputx=');ifx>=1y=10
elseifx>-1&x<1y=0elsey=-10endend154、switch語句(開關(guān)結(jié)構(gòu))其語句格式為:
switch開關(guān)表達(dá)式
case表達(dá)式1
語句組1case表達(dá)式2
語句組2……case表達(dá)式m
語句組motherwise
語句組m+1end當(dāng)開關(guān)表達(dá)式的值等于表達(dá)式1時(shí),執(zhí)行語句組1,執(zhí)行完后跳出,…,否則執(zhí)行語句組m+1。在執(zhí)行過程中,只有一個(gè)case命令被執(zhí)行。當(dāng)執(zhí)行完命令后,程序就跳出分支結(jié)構(gòu),執(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命令,其作用就是中止并跳出上一級(jí)的過程。171.4MATLAB的繪圖功能
MATLAB被控制界廣泛接受的另一個(gè)重要原因是,它提供了十分方便的一系列繪圖命令。例如,線性坐標(biāo)、對(duì)數(shù)坐標(biāo)、半對(duì)數(shù)坐標(biāo)及極坐標(biāo)等命令,它還允許用戶同時(shí)打開若干圖形窗口,對(duì)圖形標(biāo)注文字說明等,它使得圖形繪制和處理等復(fù)雜工作變得簡(jiǎn)單得令人難以置信。181.4.1
二維圖形1.基本形式
MATLAB最基本的繪圖函數(shù)為plot()。如果y是一個(gè)n維向量,那么plot(y)繪制一個(gè)y元素和y元素排列序號(hào)1,2,…,n之間關(guān)系的線性坐標(biāo)圖。例如>>y=[00.480.8410.910.60.14];>>plot(y)則顯示如圖1-2所示曲線。19如果x和y是兩個(gè)等長(zhǎng)向量,那么plot(x,y)將繪制一條x和y的之間關(guān)系的線性坐標(biāo)圖。例如>>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對(duì)y1,x2對(duì)y2,…,xn對(duì)yn的圖形繪制在一個(gè)圖形中,而且分別采用不同的顏色或線型。例如以下命令可顯示如圖1-4所示曲線。21圖1-4>>x=0:0.1:2*pi;plot(x,sin(x),x,cos(x))223.圖形修飾及文本標(biāo)注
MATLAB中對(duì)于同一圖形中的多重線,不僅可分別定義其線型,而且可分別選擇其顏色,帶有選項(xiàng)的曲線繪制命令的調(diào)用格式為plot(x1,y1,選項(xiàng),x2,y2,選項(xiàng)2,…,xn,yn,選項(xiàng)n)其中x1,x2,…,xn為x軸變量,y1,y2,…,yn為y軸變量,選項(xiàng)如下表1-6所示。23選項(xiàng)意義選項(xiàng)意義-實(shí)線.用點(diǎn)號(hào)繪制各數(shù)據(jù)點(diǎn)--虛線x叉號(hào)線繪制各數(shù)據(jù)點(diǎn)-.點(diǎn)劃線。圓圈線繪制各數(shù)據(jù)點(diǎn):點(diǎn)線*星號(hào)線繪制各數(shù)據(jù)點(diǎn)y黃色g綠m洋紅色b藍(lán)c青色w白r紅k黑表1-6MATLAB的繪圖命令的各種選項(xiàng)24上表中的線型和顏色選項(xiàng)可以同時(shí)使用,例如>>x=0:0.1:2*pi;>>plot(x,sin(x),'-g',x,cos(x),'-.r')
25繪制完曲線后,MATLAB還允許用戶使用它提供的特殊繪圖函數(shù)來對(duì)屏幕上已有的圖形加注釋、題頭或坐標(biāo)網(wǎng)格。這些函數(shù)為:
title——給圖形加標(biāo)題
xlable——給x軸加標(biāo)注
ylable——給y軸加標(biāo)注
text——在圖形指定位置加標(biāo)注
gtext——將標(biāo)注加到圖形任意位置
gridon(off)——打開、關(guān)閉坐標(biāo)網(wǎng)格線
legend——添加圖例
axis——控制坐標(biāo)軸的刻度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('時(shí)間t'),ylabel('正弦、余弦')gridaxissquare2728盡管MATLAB可以自動(dòng)根據(jù)要繪制曲線數(shù)據(jù)的范圍選擇合適的坐標(biāo)系,使得曲線能夠盡可能清晰地顯示出來,但是,如果覺得自動(dòng)選擇的坐標(biāo)還不合適時(shí),還可以用手動(dòng)的方式來選擇新的坐標(biāo)系。axis的用法有:
axis([xmin
xmax
ymin
ymax])——用行向量中給出的值設(shè)定坐標(biāo)軸的最小值和最大值。如:axis([-2205])
axison(off)
———顯示和關(guān)閉坐標(biāo)軸的標(biāo)記、標(biāo)志。
axissquare——將坐標(biāo)軸設(shè)置為橫:縱=1:129用gtext()命令可以在圖形中的任意位置加上文本說明,可以用鼠標(biāo)來對(duì)要添加的文本字符串定位。如:在MATLAB的工作空間中鍵入下列命令>>gtext('sin(x)')
那么在圖中,將會(huì)出現(xiàn)一個(gè)十字叉,用鼠標(biāo)拖動(dòng)它到添加文本的位置,單擊鼠標(biāo),gtext()命令中的文本字符串sin(x)就自動(dòng)添加到指定的位置。304.圖形控制
MATLAB允許將一個(gè)圖形窗口分割成n×m部分,對(duì)每一部分可以用不同的坐標(biāo)系單獨(dú)繪制圖形,窗口分割命令的調(diào)用格式為
subplot(n,m,k)其中:n,m分別表示將這個(gè)圖形窗口分割的行列數(shù),k表示繪圖序號(hào),按從左至右,從上至下排列。例如想將窗口分割成4×3個(gè)部分,則右下角的代號(hào)為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、保持當(dāng)前窗口的圖形命令hold、放大和縮小窗口命令zoom等。335.特殊坐標(biāo)圖形除了基本的繪圖命令plot()外,MATLAB還允許繪制極坐標(biāo)曲線、對(duì)數(shù)坐標(biāo)曲線、條形圖和階梯圖等。極坐標(biāo)曲線繪制函數(shù)的調(diào)用格式:polar(theta,rho,選項(xiàng))其中:theta和rho分別為長(zhǎng)度相同的角度向量和幅值向量。選項(xiàng)的內(nèi)容和plot()函數(shù)的基本一致,是字符串,用來控制圖形的線型。
34例:繪制半徑為
2的漸開線。
rhe=2;theta=0:pi/20:4*pi;rho=rhe+theta*rhe;polar(theta,rho,'r')35對(duì)數(shù)和半對(duì)數(shù)曲線繪制函數(shù)的調(diào)用格式分別為:semilogx(x,y,選項(xiàng))semilogy(x,y,選項(xiàng))loglog(x,y,選項(xiàng))即:semilogx()僅對(duì)橫坐標(biāo)進(jìn)行對(duì)數(shù)變換,而縱坐標(biāo)仍保持線性坐標(biāo);而semilogy()只對(duì)縱坐標(biāo)進(jìn)行對(duì)數(shù)變換,而橫坐標(biāo)仍保持線性坐標(biāo);loglog()則分別對(duì)橫縱坐標(biāo)都進(jìn)行對(duì)數(shù)變換(最終得出全對(duì)數(shù)坐標(biāo)的曲線來)。選項(xiàng)的定義與plot()函數(shù)的完全一致。對(duì)數(shù)坐標(biāo)是指以10為底的對(duì)數(shù)坐標(biāo)。36例:繪制正弦函數(shù)的對(duì)數(shù)坐標(biāo)曲線。
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例:將一個(gè)周期內(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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院老人生活照顧人員職業(yè)道德制度
- 養(yǎng)老院老人健康數(shù)據(jù)統(tǒng)計(jì)分析制度
- 民航安全管理體系培訓(xùn)心得
- 新媒體合伙人合同(2篇)
- 承包采摘黃秋葵協(xié)議書范本(2篇)
- 2024年智能化物流設(shè)備采購合同
- 《食管癌的治療》課件
- 2025年棗莊貨運(yùn)資格證安檢考試題
- 2025年廣州貨運(yùn)從業(yè)資格考試技巧
- 2025年青海貨運(yùn)從業(yè)資格證考試模擬考試題庫
- 課桌椅人體工程學(xué)
- 中石油系統(tǒng)員工安全培訓(xùn)
- 2024年人教版初二地理上冊(cè)期末考試卷(附答案)
- 自然科學(xué)如何撰寫和發(fā)表高水平的科研論文
- 2024年軍隊(duì)文職(管理學(xué))考前通關(guān)知識(shí)點(diǎn)必練題庫(含真題)
- 2024年紹興市特種設(shè)備檢測(cè)院招考(6人)高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 環(huán)境影響評(píng)價(jià)技術(shù)指南
- 食品安全管理制度進(jìn)貨查驗(yàn)
- 2024《魚塘承包流轉(zhuǎn)合同》魚塘承包流轉(zhuǎn)合同
- 勞動(dòng)關(guān)系協(xié)調(diào)員測(cè)試題及答案
- 交警高清監(jiān)控系統(tǒng)施工方案
評(píng)論
0/150
提交評(píng)論