第一講MATLAB操作基礎(chǔ)_第1頁
第一講MATLAB操作基礎(chǔ)_第2頁
第一講MATLAB操作基礎(chǔ)_第3頁
第一講MATLAB操作基礎(chǔ)_第4頁
第一講MATLAB操作基礎(chǔ)_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

一、MATLAB操作基礎(chǔ)...MATLAB概述...MATLAB的運(yùn)行環(huán)境與安裝...MATLAB運(yùn)算環(huán)境...MATLAB幫助系統(tǒng)

e-Business????_FulfillDemand計算功能繪圖功能編程語言MATLAB工具箱數(shù)值計算符號計算程序結(jié)構(gòu)控制、函數(shù)調(diào)用、數(shù)據(jù)輸入輸出、面向?qū)ο蟮瘸绦蚬δ苄怨ぞ呦浜蛯W(xué)科性工具箱。二維、三維圖形;圖形修飾與處理常見的MATLAB工具箱

(1)通信工具箱(CommunicationsToolbox);

(2)控制系統(tǒng)工具箱(ControlSystemsToolbox);

(3)數(shù)據(jù)獲得工具箱(DataAcquisitionToolbox);

(4)數(shù)據(jù)庫工具箱(DatabaseToolbox);

(5)濾波器設(shè)計工具箱(FilterDesignToolbox);

(6)模糊邏輯工具箱(FuzzyLogicToolbox);

(7)圖像處理工具箱(ImageProcessingToolbox);

(8)神經(jīng)網(wǎng)絡(luò)工具箱(NeuralNetworkToolbox);

(9)模型預(yù)測控制工具箱(ModelPredictiveControlToolbox);

(10)優(yōu)化工具箱(OptimizationToolbox);

(11)魯棒控制工具箱(RobustControlToolbox);

(12)信號處理工具箱(SignalProcessingToolbox);

(13)統(tǒng)計學(xué)工具箱(StatisticsToolbox);

(14)系統(tǒng)辨識工具箱(SystemIdentificationToolbox);

(15)小波分析工具箱(WaveletToolbox);

(16)偏微分方程工具箱(PartialDifferentialEquationToolbox);

(17)高階譜分析工具箱(High-orderSpectralAnalysisToolbox);

(18)樣條工具箱(SplineToolbox);

(19)定點(diǎn)運(yùn)算模塊集(Fixed-PointBlockset)。MATLAB的主要應(yīng)用領(lǐng)域(1)、數(shù)值分析。(2)、數(shù)值和符號計算。(3)、工程與科學(xué)繪圖。(4)、控制系統(tǒng)的設(shè)計與方針。(5)、數(shù)字圖像處理。(6)、數(shù)字信號處理。(7)、通訊系統(tǒng)設(shè)計與仿真。(8)、財務(wù)與金融工程。MATLAB的安裝安裝MATLAB系統(tǒng),需運(yùn)行系統(tǒng)自帶的安裝程序setup.exe,可以按照安裝提示依次操作。注意注冊碼的生存與修改MATLAB的安裝過程與一般的應(yīng)用軟件類似,需要定制選擇工具箱。安裝工具箱選擇項安裝路徑選擇MATLAB運(yùn)算環(huán)境啟動MATLAB環(huán)境使用Windows“開始”菜單利用桌面快捷方式運(yùn)行欄中鍵入:matlab.exe退出MATLAB環(huán)境在MATLAB主窗口File菜單中選擇ExitMATLAB命令在MATLAB命令窗口輸入Exit或Quit命令單擊MATLAB主窗口的“關(guān)閉”按鈕當(dāng)前工作路徑窗口命令窗口歷史命令窗口工作空間窗口當(dāng)前工作路徑選擇主窗口

1.菜單欄

在MATLAB主窗口的菜單欄,主要共包含F(xiàn)ile、Edit、View、Help和Window菜單項。2.工具欄

MATLAB主窗口的工具欄共提供了命令按鈕。這些命令按鈕均有對應(yīng)的菜單命令,但比菜單命令使用起來更快捷、方便。命令窗口

命令窗口是MATLAB的主要交互窗口,用于輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。

MATLAB命令窗口中的“>>”為命令提示符,表示MATLAB正在處于準(zhǔn)備狀態(tài)。在命令提示符后鍵入命令并按下回車鍵后,MATLAB就會解釋執(zhí)行所輸入的命令,并在命令后面給出計算結(jié)果。一般來說,一個命令行輸入一條命令,命令行以回車結(jié)束。但一個命令行也可以輸入若干條命令,各命令之間以逗號分隔,若前一命令后帶有分號,則逗號可以省略。例如

p=15,m=35

p=15;m=35

如果一個命令行很長,一個物理行之內(nèi)寫不下,可以在第一個物理行之后加上3個小黑點(diǎn)并按下回車鍵,然后接著下一個物理行繼續(xù)寫命令的其他部分。3個小黑點(diǎn)稱為續(xù)行符,即把下面的物理行看作該行的邏輯繼續(xù)。

在MATLAB里,有很多的控制鍵和方向鍵可用于命令行的編輯。工作空間窗口

工作空間是MATLAB用于存儲各種變量和結(jié)果的內(nèi)存空間。在該窗口中顯示工作空間中所有變量的名稱、大小、字節(jié)數(shù)和變量類型說明,可對變量進(jìn)行觀察、編輯、保存和刪除。當(dāng)前目錄窗口和搜索路徑

1.當(dāng)前目錄窗口

當(dāng)前目錄是指MATLAB運(yùn)行文件時的工作目錄,只有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)可以被運(yùn)行或調(diào)用。

在當(dāng)前目錄窗口中可以顯示或改變當(dāng)前目錄,還可以顯示當(dāng)前目錄下的文件并提供搜索功能。

將用戶目錄設(shè)置成當(dāng)前目錄也可使用cd命令。例如,將用戶目錄c:\mydir設(shè)置為當(dāng)前目錄,可在命令窗口輸入命令:

cd

c:\mydir2.MATLAB的搜索路徑

當(dāng)用戶在MATLAB命令窗口輸入一條命令后,MATLAB按照一定次序?qū)ふ蚁嚓P(guān)的文件?;镜乃阉鬟^程是:

(1)檢查該命令是不是一個變量。

(2)檢查該命令是不是一個內(nèi)部函數(shù)。

(3)檢查該命令是否當(dāng)前目錄下的M文件。

(4)檢查該命令是否MATLAB搜索路徑中其他目錄下的M文件。用戶可以將自己的工作目錄列入MATLAB搜索路徑,從而將用戶目錄納入MATLAB系統(tǒng)統(tǒng)一管理。設(shè)置搜索路徑的方法有:

(1)用path命令設(shè)置搜索路徑。例如,將用戶目錄c:\mydir加到搜索路徑下,可在命令窗口輸入命令:

path(path,’c:\mydir’)(2)用對話框設(shè)置搜索路徑

在MATLAB的File菜單中選SetPath命令或在命令窗口執(zhí)行pathtool命令,將出現(xiàn)搜索路徑設(shè)置對話框。通過AddFolder或AddwithSubfolder命令按鈕將指定路徑添加到搜索路徑列表中。

在修改完搜索路徑后,則需要保存搜索路徑。命令歷史記錄窗口

在默認(rèn)設(shè)置下,歷史記錄窗口中會自動保留自安裝起所有用過的命令的歷史記錄,并且還標(biāo)明了使用時間,從而方便用戶查詢。而且,通過雙擊命令可進(jìn)行歷史命令的再運(yùn)行。如果要清除這些歷史記錄,可以選擇Edit菜單中的ClearCommandHistory命令。MATLAB幫助系統(tǒng)幫助窗口

進(jìn)入幫助窗口可以通過以下3種方法:單擊MATLAB主窗口工具欄中的Help按鈕在命令窗口中輸入helpwin、helpdesk或doc選擇Help菜單中的“MATLABHelp”選項HelpXXXX二、MATLAB運(yùn)算算術(shù)運(yùn)算基本算術(shù)運(yùn)算

MATLAB的基本算術(shù)運(yùn)算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。

注意,運(yùn)算是在矩陣意義下進(jìn)行的,單個數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。矩陣加減運(yùn)算假定有兩個矩陣A和B,則可以由A+B和A-B實現(xiàn)矩陣的加減運(yùn)算。運(yùn)算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運(yùn)算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。矩陣乘法

假定有兩個矩陣A和B,若A為m×n矩陣,B為n×p矩陣,則C=A*B為m×p矩陣。矩陣除法

在MATLAB中,有兩種矩陣除法運(yùn)算:\和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則A\B和B/A運(yùn)算可以實現(xiàn)。A\B等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。

對于含有標(biāo)量的運(yùn)算,兩種除法運(yùn)算的結(jié)果相同,如3/4和4\3有相同的值,都等于0.75。又如,設(shè)a=[10.5,25],則a/5=5\a=[2.10005.0000]。對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對于矩陣運(yùn)算,一般A\B≠B/A。矩陣的乘方

一個矩陣的乘方運(yùn)算可以表示成A^x,要求A為方陣,x為標(biāo)量。2.點(diǎn)運(yùn)算

在MATLAB中,有一種特殊的運(yùn)算,因為其運(yùn)算符是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有.*、./、.\和.^。兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維參數(shù)相同。例:》a=[12145];b=[21035]》c=a.*b

c=22012253矩陣分析矩陣的轉(zhuǎn)置

轉(zhuǎn)置運(yùn)算符是單撇號(‘)。矩陣的旋轉(zhuǎn)

利用函數(shù)rot90(A,k)將矩陣A旋轉(zhuǎn)90o的k倍,當(dāng)k為1時可省略。例:>>A=[123;205;321]>>B=rot90(A)A=B=123351205202321123

矩陣的左右翻轉(zhuǎn)

對矩陣實施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,…,依次類推。MATLAB對矩陣A實施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。矩陣的上下翻轉(zhuǎn)

MATLAB對矩陣A實施上下翻轉(zhuǎn)的函數(shù)是flipud(A)。矩陣的逆與偽逆矩陣的逆

對于一個方陣A,如果存在一個與其同階的方陣B,使得:

A·B=B·A=I(I為單位矩陣)

則稱B為A的逆矩陣,當(dāng)然,A也是B的逆矩陣。

求一個矩陣的逆是一件非常煩瑣的工作,容易出錯,但在MATLAB中,求一個矩陣的逆非常容易。求方陣A的逆矩陣可調(diào)用函數(shù)inv(A)。

用求逆矩陣的方法解線性方程組。

Ax=b

其解為:

x=A-1b矩陣的偽逆

如果矩陣A不是一個方陣,或者A是一個非滿秩的方陣時,矩陣A沒有逆矩陣,但可以找到一個與A的轉(zhuǎn)置矩陣A‘同型的矩陣B,使得:

A·B·A=A

B·A·B=B

此時稱矩陣B為矩陣A的偽逆,也稱為廣義逆矩陣。在MATLAB中,求一個矩陣偽逆的函數(shù)是pinv(A)。方陣的行列式

把一個方陣看作一個行列式,并對其按行列式的規(guī)則求值,這個值就稱為矩陣所對應(yīng)的行列式的值。在MATLAB中,求方陣A所對應(yīng)的行列式的值的函數(shù)是det(A)。矩陣的秩

矩陣線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB中,求矩陣秩的函數(shù)是rank(A)。矩陣的特征值與特征向量在MATLAB中,計算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有3種E=eig(A):求矩陣A的全部特征值,構(gòu)成向量E[V,D]=eig(A):求矩陣A的全部特征值,構(gòu)成對角陣D,并求A的特征向量構(gòu)成V的列向量[V,D]=eig(A,‘nobalance’):與第2種格式類似,但第2種格式中先對A作相似變換后求矩陣A的特征值和特征向量,而格式3直接求矩陣A的特征值和特征向量。三、MATLAB符號計算1.符號對象MATLAB提供了兩個建立符號對象的函數(shù):sym和syms,兩個函數(shù)的用法不同。sym函數(shù)sym函數(shù)用來建立單個符號量,一般調(diào)用格式為:符號量名=sym('符號字符串')syms函數(shù)

一次可以定義多個符號變量。syms函數(shù)的一般格式為:

syms

符號變量名1符號變量名2…符號變量名n建立符號表達(dá)式含有符號對象的表達(dá)式稱為符號表達(dá)式。建立符號表達(dá)式有以下3種方法:利用單引號來生成符號表達(dá)式。用sym函數(shù)建立符號表達(dá)式。使用已經(jīng)定義的符號變量組成符號表達(dá)式。符號表達(dá)式運(yùn)算符號表達(dá)式的提取分子和分母運(yùn)算如果符號表達(dá)式是一個有理分式或可以展開為有理分式,可利用numden函數(shù)來提取符號表達(dá)式中的分子或分母。其一般調(diào)用格式為:[n,d]=numden(s)該函數(shù)提取符號表達(dá)式s的分子和分母,分別將它們存放在n與d中。2.符號表達(dá)式運(yùn)算factor(s):對符號表達(dá)式s分解因式。expand(s):對符號表達(dá)式s進(jìn)行展開。collect(s):對符號表達(dá)式s合并同類項。collect(s,v):對符號表達(dá)式s按變量v合并同類項。simplify(s):應(yīng)用函數(shù)規(guī)則對s進(jìn)行化簡。simple(s):調(diào)用MATLAB的其他函數(shù)對表達(dá)式進(jìn)行綜合化簡,并顯示化簡過程。3符號微積分極限limit函數(shù)的調(diào)用格式為:limit(f,x,a):求符號函數(shù)f(x)的極限值。即計算當(dāng)變量x趨近于常數(shù)a時,f(x)函數(shù)的極限值。limit(f,a):求符號函數(shù)f(x)的極限值。由于沒有指定符號函數(shù)f(x)的自變量,則使用該格式時,符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認(rèn)自變量,即變量x趨近于a。limit(f):求符號函數(shù)f(x)的極限值。符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認(rèn)變量;沒有指定變量的目標(biāo)值時,系統(tǒng)默認(rèn)變量趨近于0,即a=0的情況。limit(f,x,a,'right'):求符號函數(shù)f的極限值。'right'表示變量x從右邊趨近于a。limit(f,x,a,‘left’):求符號函數(shù)f的極限值?!甽eft’表示變量x從左邊趨近于a。例:

求下列極限。極限1:symsamx;f=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/(x+a);limit(f,x,a)ans=(1/2*a*exp(sin(a))+1/2*a-exp(tan(a))+1)/a極限2:symsxt;limit((1+2*t/x)^(3*x),x,inf)ans=exp(6*t)極限3:symsx;f=x*(sqrt(x^2+1)-x);limit(f,x,inf,'left')ans=1/2極限4:symsx;f=(sqrt(x)-sqrt(2)-sqrt(x-2))/sqrt(x*x-4);limit(f,x,2,'right')ans=-1/2導(dǎo)數(shù)diff函數(shù)用于對符號表達(dá)式求導(dǎo)數(shù)。該函數(shù)的一般調(diào)用格式為:diff(s):沒有指定變量和導(dǎo)數(shù)階數(shù),則系統(tǒng)按findsym函數(shù)指示的默認(rèn)變量對符號表達(dá)式s求一階導(dǎo)數(shù)。diff(s,'v'):以v為自變量,對符號表達(dá)式s求一階導(dǎo)數(shù)。diff(s,n):按findsym函數(shù)指示的默認(rèn)變量對符號表達(dá)式s求n階導(dǎo)數(shù),n為正整數(shù)。diff(s,'v',n):以v為自變量,對符號表達(dá)式s求n階導(dǎo)數(shù)。積分符號積分由函數(shù)int來實現(xiàn)。該函數(shù)的一般調(diào)用格式為:int(s):沒有指定積分變量和積分階數(shù)時,系統(tǒng)按findsym函數(shù)指示的默認(rèn)變量對被積函數(shù)或符號表達(dá)式s求不定積分。int(s,v):以v為自變量,對被積函數(shù)或符號表達(dá)式s求不定積分。int(s,v,a,b):求定積分運(yùn)算。a,b分別表示定積分的下限和上限。該函數(shù)求被積函數(shù)在區(qū)間[a,b]上的定積分。a和b可以是兩個具體的數(shù),也可以是一個符號表達(dá)式,還可以是無窮(inf)。當(dāng)函數(shù)f關(guān)于變量x在閉區(qū)間[a,b]上可積時,函數(shù)返回一個定積分結(jié)果。當(dāng)a,b中有一個是inf時,函數(shù)返回一個廣義積分。當(dāng)a,b中有一個符號表達(dá)式時,函數(shù)返回一個符號函數(shù)。積分變換常見的積分變換有傅立葉變換、拉普拉斯變換和Z變換。傅立葉(Fourier)變換在MATLAB中,進(jìn)行傅立葉變換的函數(shù)是:fourier(f,x,t):求函數(shù)f(x)的傅立葉像函數(shù)F(t)。ifourier(F,t,x):求傅立葉像函數(shù)F(t)的原函數(shù)f(x)。拉普拉斯(Laplace)變換在MATLAB中,進(jìn)行拉普拉斯變換的函數(shù)是:laplace(fx,x,t):求函數(shù)f(x)的拉普拉斯像函數(shù)F(t)。ilaplace(Fw,t,x):求拉普拉斯像函數(shù)F(t)的原函數(shù)f(x)。Z變換當(dāng)函數(shù)f(x)呈現(xiàn)為一個離散的數(shù)列f(n)時,對數(shù)列f(n)進(jìn)行z變換的MATLAB函數(shù)是:ztrans(fn,n,z):求fn的Z變換像函數(shù)F(z)。iztrans(Fz,z,n):求Fz的z變換原函數(shù)f(n)。級數(shù)級數(shù)符號求和求無窮級數(shù)的和需要符號表達(dá)式求和函數(shù)symsum,其調(diào)用格式為:

symsum(s,v,n,m)其中s表示一個級數(shù)的通項,是一個符號表達(dá)式。v是求和變量,v省略時使用系統(tǒng)的默認(rèn)變量。n和m是求和的開始項和末項。函數(shù)的泰勒級數(shù)MATLAB提供了taylor函數(shù)將函數(shù)展開為冪級數(shù),其調(diào)用格式為:

taylor(f,v,n,a)該函數(shù)將函數(shù)f按變量v展開為泰勒級數(shù),展開到第n項(即變量v的n-1次冪)為止,n的缺省值為6。v的缺省值與diff函數(shù)相同。參數(shù)a指定將函數(shù)f在自變量v=a處展開,a的缺省值是0。4方程求解在MATLAB中,求解用符號表達(dá)式表示的代數(shù)方程可由函數(shù)solve實現(xiàn),其調(diào)用格式為:solve(s):求解符號表達(dá)式s的代數(shù)方程,求解變量為默認(rèn)變量。solve(s,v):求解符號表達(dá)式s的代數(shù)方程,求解變量為v。solve(s1,s2,…,sn,v1,v2,…,vn):求解符號表達(dá)式s1,s2,…,sn組成的代數(shù)方程組,求解變量分別v1,v2,…,vn。1.M文件M文件概述用MATLAB語言編寫的程序,稱為M文件。M文件可以根據(jù)調(diào)用方式的不同分為兩類:命令文件(ScriptFile)和函數(shù)文件(FunctionFile)。四、MATLAB簡單編程例

分別建立命令文件和函數(shù)文件,將華氏溫度f轉(zhuǎn)換為攝氏溫度c。程序1:首先建立命令文件并以文件名f2c.m存盤。clear;%清除工作空間中的變量f=input('InputFahrenheittemperature:');c=5*(f-32)/9然后在MATLAB的命令窗口中輸入f2c,將會執(zhí)行該命令文件,執(zhí)行情況為:InputFahrenheittemperature:73c=22.7778程序2:首先建立函數(shù)文件f2c.m。functionc=f2c(f)c=5*(f-32)/9然后在MATLAB的命令窗口調(diào)用該函數(shù)文件。clear;y=input('InputFahrenheittemperature:');x=f2c(y)輸出情況為:InputFahrenheittemperature:70c=21.1111x=21.1111M文件的建立與打開

M文件是一個文本文件,它可以用任何編輯程序來建立和編輯,而一般常用且最為方便的是使用MATLAB提供的文本編輯器。建立新的M文件為建立新的M文件,啟動MATLAB文本編輯器有3種方法:菜單操作。從MATLAB主窗口的File菜單中選擇New菜單項,再選擇M-file命令,屏幕上將出現(xiàn)MATLAB文本編輯器窗口。命令操作。在MATLAB命令窗口輸入命令edit,啟動MATLAB文本編輯器后,輸入M文件的內(nèi)容并存盤。命令按鈕操作。單擊MATLAB主窗口工具欄上的NewM-File命令按鈕,啟動MATLAB文本編輯器后,輸入M文件的內(nèi)容并存盤。打開已有的M文件打開已有的M文件,也有3種方法:菜單操作。從MATLAB主窗口的File菜單中選擇Open命令,則屏幕出現(xiàn)Open對話框,在Open對話框中選中所需打開的M文件。在文檔窗口可以對打開的M文件進(jìn)行編輯修改,編輯完成后,將M文件存盤。命令操作。在MATLAB命令窗口輸入命令:edit文件名,則打開指定的M文件。命令按鈕操作。單擊MATLAB主窗口工具欄上的OpenFile命令按鈕,再從彈出的對話框中選擇所需打開的M文件。2.程序控制結(jié)構(gòu)順序結(jié)構(gòu)數(shù)據(jù)的輸入從鍵盤輸入數(shù)據(jù),則可以使用input函數(shù)來進(jìn)行,該函數(shù)的調(diào)用格式為:

A=input(提示信息,選項);其中提示信息為一個字符串,用于提示用戶輸入什么樣的數(shù)據(jù)。如果在input函數(shù)調(diào)用時采用's'選項,則允許用戶輸入一個字符串。例如,想輸入一個人的姓名,可采用命令:xm=input('What''syourname?','s');數(shù)據(jù)的輸出

MATLAB提供的命令窗口輸出函數(shù)主要有disp函數(shù),其調(diào)用格式為

disp(輸出項)其中輸出項既可以為字符串,也可以為矩陣。例

輸入x,y的值,并將它們的值互換后輸出。程序如下:

x=input('Inputxplease.');y=input('Inputyplease.');z=x;x=y;y=z;

disp(x);

disp(y);例

求一元二次方程ax2+bx+c=0的根。程序如下:a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);程序的暫停暫停程序的執(zhí)行可以使用pause函數(shù),其調(diào)用格式為:

pause(延遲秒數(shù))

如果省略延遲時間,直接使用pause,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行。若要強(qiáng)行中止程序的運(yùn)行可使用Ctrl+C命令。3選擇結(jié)構(gòu)if語句在MATLAB中,if語句有3種格式。單分支if語句:if條件語句組

end當(dāng)條件成立時,則執(zhí)行語句組,執(zhí)行完之后繼續(xù)執(zhí)行if語句的后繼語句,若條件不成立,則直接執(zhí)行if語句的后繼語句。雙分支if語句:if條件語句組1else

語句組2end

當(dāng)條件成立時,執(zhí)行語句組1,否則執(zhí)行語句組2,語句組1或語句組2執(zhí)行后,再執(zhí)行if語句的后繼語句。例

計算分段函數(shù)的值。程序如下:x=input('請輸入x的值:');ifx<=0y=(x+sqrt(pi))/exp(2);elsey=log(x+sqrt(1+x*x))/2;endY多分支if語句:if條件1

語句組1

elseif

條件2

語句組2……

elseif

條件m

語句組melse

語句組nend語句用于實現(xiàn)多分支選擇結(jié)構(gòu)。例

輸入一個字符,若為大寫字母,則輸出其對應(yīng)的小寫字母;若為小寫字母,則輸出其對應(yīng)的大寫字母;若為數(shù)字字符則輸出其對應(yīng)的數(shù)值,若為其他字符則原樣輸出。c=input('請輸入一個字符','s');ifc>='A'&c<='Z'

disp(setstr(abs(c)+abs('a')-abs('A')));elseifc>='a'&c<='z'

disp(setstr(abs(c)-abs('a')+abs('A')));elseifc>='0'&c<='9'disp(abs(c)-abs('0'));else

disp(c);endswitch語句

switch語句根據(jù)表達(dá)式的取值不同,分別執(zhí)行不同的語句,其語句格式為:

switch表達(dá)式

case表達(dá)式1

語句組1case表達(dá)式2

語句組2……case表達(dá)式m

語句組motherwise

語句組nend當(dāng)表達(dá)式的值等于表達(dá)式1的值時,執(zhí)行語句組1,當(dāng)表達(dá)式的值等于表達(dá)式2的值時,執(zhí)行語句組2,…,當(dāng)表達(dá)式的值等于表達(dá)式m的值時,執(zhí)行語句組m,當(dāng)表達(dá)式的值不等于case所列的表達(dá)式的值時,執(zhí)行語句組n。當(dāng)任意一個分支的語句執(zhí)行完后,直接執(zhí)行switch語句的下一句。例

某商場對顧客所購買的商品實行打折銷售,標(biāo)準(zhǔn)如下(商品價格用price來表示):

price<200沒有折扣

200≤price<5003%折扣

500≤price<10005%折扣

1000≤price<25008%折扣

2500≤price<500010%折扣5000≤price14%折扣輸入所售商品的價格,求其實際銷售價格。

程序如下:price=input('請輸入商品價格');switchfix(price/100)case{0,1}%價格小于200rate=0;case{2,3,4}%價格大于等于200但小于500rate=3/100;casenum2cell(5:9)%價格大于等于500但小于1000rate=5/100;casenum2cell(10:24)%價格大于等于1000但小于2500rate=8/100;casenum2cell(25:49)%價格大于等于2500但小于5000rate=10/100;otherwise%價格大于等于5000rate=14/100;endprice=price*(1-rate)%輸出商品實際銷售價格循環(huán)結(jié)構(gòu)for語句for語句的格式為:for循環(huán)變量=表達(dá)式1:表達(dá)式2:表達(dá)式3

循環(huán)體語句end其中表達(dá)式1的值為循環(huán)變量的初值,表達(dá)式2的值為步長,表達(dá)式3的值為循環(huán)變量的終值。步長為1時,表達(dá)式2可以省略。例

一個三位整數(shù)各位數(shù)字的立方和等于該數(shù)本身則稱該數(shù)為水仙花數(shù)。輸出全部水仙花數(shù)。程序如下:form=100:999m1=fix(m/100);%求m的百位數(shù)字m2=rem(fix(m/10),10);%求m的十位數(shù)字m3=rem(m,10);%求m的個位數(shù)字ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)endend例

已知,當(dāng)n=100時,求y的值。程序如下:y=0;n=100;fori=1:ny=y+1/(2*i-1);endy

在實際MATLAB編程中,采用循環(huán)語句會降低其執(zhí)行速度,所以前面的程序通常由下面的程序來代替:n=100;i=1:2:2*n-1;y=sum(1./i);yfor語句更一般的格式為:

for循環(huán)變量=矩陣表達(dá)式循環(huán)體語句

end

執(zhí)行過程是依次將矩陣的各列元素賦給循環(huán)變量,然后執(zhí)行循環(huán)體語句,直至各列元素處理完畢。例

寫出下列程序的執(zhí)行結(jié)果。

s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];fork=as=s+k;end

disp(s');while語句

while語句的一般格式為:

while(條件)

循環(huán)體語句

end

其執(zhí)行過程為:若條件成立,則執(zhí)行循環(huán)體語句,執(zhí)行后再判斷條件是否成立,如果不成立則跳出循環(huán)。

從鍵盤輸入若干個數(shù),當(dāng)輸入0時結(jié)束輸入,求這些數(shù)的平均值和它們之和。程序如下:sum=0;cnt=0;val=input('Enteranumber(endin0):');while(val~=0)sum=sum+val;

cnt=cnt+1;

val=inp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論