




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 13317-5:2025 EN Determination of particle size distribution by gravitational liquid sedimentation methods - Part 5: Photosedimentation techniques
- 2025年度人工智能產(chǎn)業(yè)擔(dān)保合作協(xié)議書
- 2025年度餐飲企業(yè)代理記賬與食品安全管理合同
- 2025年度電信設(shè)備采購與維護(hù)服務(wù)合同范本
- 2025年度廠房租賃合同履約監(jiān)督管理服務(wù)合同
- 2025年度二手房無證房產(chǎn)買賣合同風(fēng)險防范條款
- 2025年度工業(yè)用地場地租賃及設(shè)備安裝合同
- 2025年服裝、鞋帽加工機(jī)械項目合作計劃書
- 2025年電能表標(biāo)準(zhǔn)校驗裝置項目建議書
- 幼兒園學(xué)期計劃五彩斑斕燦爛生活
- 鑄造廠總降壓變電所及廠區(qū)配電系統(tǒng)設(shè)計
- 航拍中國優(yōu)秀課件
- 《做自己的心理醫(yī)生 現(xiàn)代人的心理困惑和自我療愈策略》讀書筆記思維導(dǎo)圖PPT模板下載
- 2022-2023學(xué)年上海市楊浦區(qū)上海同濟(jì)大附屬存志學(xué)校七年級數(shù)學(xué)第二學(xué)期期中綜合測試模擬試題含解析
- 小學(xué)音樂組集體備課計劃
- XX學(xué)校服采購工作方案(含一封信、備案表、反饋表)
- 血液透析安全注射臨床實踐專家共識解讀
- GB/T 41873-2022塑料聚醚醚酮(PEEK)樹脂
- SB/T 10940-2012商用制冰機(jī)
- GB/T 33107-2016工業(yè)用碳酸二甲酯
- GB/T 25945-2010鋁土礦取樣程序
評論
0/150
提交評論