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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

e-Business????_FulfillDemand計算功能繪圖功能編程語言MATLAB工具箱數(shù)值計算符號計算程序結構控制、函數(shù)調用、數(shù)據(jù)輸入輸出、面向對象等程序功能性工具箱和學科性工具箱。二維、三維圖形;圖形修飾與處理常見的MATLAB工具箱

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.菜單欄

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

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

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

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

p=15,m=35

p=15;m=35

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

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

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

1.當前目錄窗口

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

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

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

cd

c:\mydir2.MATLAB的搜索路徑

當用戶在MATLAB命令窗口輸入一條命令后,MATLAB按照一定次序尋找相關的文件?;镜乃阉鬟^程是:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一個矩陣的乘方運算可以表示成A^x,要求A為方陣,x為標量。2.點運算

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

c=22012253矩陣分析矩陣的轉置

轉置運算符是單撇號(‘)。矩陣的旋轉

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

矩陣的左右翻轉

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

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

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

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

則稱B為A的逆矩陣,當然,A也是B的逆矩陣。

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

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

Ax=b

其解為:

x=A-1b矩陣的偽逆

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

A·B·A=A

B·A·B=B

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

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

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

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

syms

符號變量名1符號變量名2…符號變量名n建立符號表達式含有符號對象的表達式稱為符號表達式。建立符號表達式有以下3種方法:利用單引號來生成符號表達式。用sym函數(shù)建立符號表達式。使用已經(jīng)定義的符號變量組成符號表達式。符號表達式運算符號表達式的提取分子和分母運算如果符號表達式是一個有理分式或可以展開為有理分式,可利用numden函數(shù)來提取符號表達式中的分子或分母。其一般調用格式為:[n,d]=numden(s)該函數(shù)提取符號表達式s的分子和分母,分別將它們存放在n與d中。2.符號表達式運算factor(s):對符號表達式s分解因式。expand(s):對符號表達式s進行展開。collect(s):對符號表達式s合并同類項。collect(s,v):對符號表達式s按變量v合并同類項。simplify(s):應用函數(shù)規(guī)則對s進行化簡。simple(s):調用MATLAB的其他函數(shù)對表達式進行綜合化簡,并顯示化簡過程。3符號微積分極限limit函數(shù)的調用格式為:limit(f,x,a):求符號函數(shù)f(x)的極限值。即計算當變量x趨近于常數(shù)a時,f(x)函數(shù)的極限值。limit(f,a):求符號函數(shù)f(x)的極限值。由于沒有指定符號函數(shù)f(x)的自變量,則使用該格式時,符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認自變量,即變量x趨近于a。limit(f):求符號函數(shù)f(x)的極限值。符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認變量;沒有指定變量的目標值時,系統(tǒng)默認變量趨近于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導數(shù)diff函數(shù)用于對符號表達式求導數(shù)。該函數(shù)的一般調用格式為:diff(s):沒有指定變量和導數(shù)階數(shù),則系統(tǒng)按findsym函數(shù)指示的默認變量對符號表達式s求一階導數(shù)。diff(s,'v'):以v為自變量,對符號表達式s求一階導數(shù)。diff(s,n):按findsym函數(shù)指示的默認變量對符號表達式s求n階導數(shù),n為正整數(shù)。diff(s,'v',n):以v為自變量,對符號表達式s求n階導數(shù)。積分符號積分由函數(shù)int來實現(xiàn)。該函數(shù)的一般調用格式為:int(s):沒有指定積分變量和積分階數(shù)時,系統(tǒng)按findsym函數(shù)指示的默認變量對被積函數(shù)或符號表達式s求不定積分。int(s,v):以v為自變量,對被積函數(shù)或符號表達式s求不定積分。int(s,v,a,b):求定積分運算。a,b分別表示定積分的下限和上限。該函數(shù)求被積函數(shù)在區(qū)間[a,b]上的定積分。a和b可以是兩個具體的數(shù),也可以是一個符號表達式,還可以是無窮(inf)。當函數(shù)f關于變量x在閉區(qū)間[a,b]上可積時,函數(shù)返回一個定積分結果。當a,b中有一個是inf時,函數(shù)返回一個廣義積分。當a,b中有一個符號表達式時,函數(shù)返回一個符號函數(shù)。積分變換常見的積分變換有傅立葉變換、拉普拉斯變換和Z變換。傅立葉(Fourier)變換在MATLAB中,進行傅立葉變換的函數(shù)是:fourier(f,x,t):求函數(shù)f(x)的傅立葉像函數(shù)F(t)。ifourier(F,t,x):求傅立葉像函數(shù)F(t)的原函數(shù)f(x)。拉普拉斯(Laplace)變換在MATLAB中,進行拉普拉斯變換的函數(shù)是:laplace(fx,x,t):求函數(shù)f(x)的拉普拉斯像函數(shù)F(t)。ilaplace(Fw,t,x):求拉普拉斯像函數(shù)F(t)的原函數(shù)f(x)。Z變換當函數(shù)f(x)呈現(xiàn)為一個離散的數(shù)列f(n)時,對數(shù)列f(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ù)的和需要符號表達式求和函數(shù)symsum,其調用格式為:

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

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中,求解用符號表達式表示的代數(shù)方程可由函數(shù)solve實現(xiàn),其調用格式為:solve(s):求解符號表達式s的代數(shù)方程,求解變量為默認變量。solve(s,v):求解符號表達式s的代數(shù)方程,求解變量為v。solve(s1,s2,…,sn,v1,v2,…,vn):求解符號表達式s1,s2,…,sn組成的代數(shù)方程組,求解變量分別v1,v2,…,vn。1.M文件M文件概述用MATLAB語言編寫的程序,稱為M文件。M文件可以根據(jù)調用方式的不同分為兩類:命令文件(ScriptFile)和函數(shù)文件(FunctionFile)。四、MATLAB簡單編程例

分別建立命令文件和函數(shù)文件,將華氏溫度f轉換為攝氏溫度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的命令窗口調用該函數(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文件的內容并存盤。命令按鈕操作。單擊MATLAB主窗口工具欄上的NewM-File命令按鈕,啟動MATLAB文本編輯器后,輸入M文件的內容并存盤。打開已有的M文件打開已有的M文件,也有3種方法:菜單操作。從MATLAB主窗口的File菜單中選擇Open命令,則屏幕出現(xiàn)Open對話框,在Open對話框中選中所需打開的M文件。在文檔窗口可以對打開的M文件進行編輯修改,編輯完成后,將M文件存盤。命令操作。在MATLAB命令窗口輸入命令:edit文件名,則打開指定的M文件。命令按鈕操作。單擊MATLAB主窗口工具欄上的OpenFile命令按鈕,再從彈出的對話框中選擇所需打開的M文件。2.程序控制結構順序結構數(shù)據(jù)的輸入從鍵盤輸入數(shù)據(jù),則可以使用input函數(shù)來進行,該函數(shù)的調用格式為:

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

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

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ù),其調用格式為:

pause(延遲秒數(shù))

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

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

語句組2end

當條件成立時,執(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)多分支選擇結構。例

輸入一個字符,若為大寫字母,則輸出其對應的小寫字母;若為小寫字母,則輸出其對應的大寫字母;若為數(shù)字字符則輸出其對應的數(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ù)表達式的取值不同,分別執(zhí)行不同的語句,其語句格式為:

switch表達式

case表達式1

語句組1case表達式2

語句組2……case表達式m

語句組motherwise

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

某商場對顧客所購買的商品實行打折銷售,標準如下(商品價格用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)結構for語句for語句的格式為:for循環(huán)變量=表達式1:表達式2:表達式3

循環(huán)體語句end其中表達式1的值為循環(huán)變量的初值,表達式2的值為步長,表達式3的值為循環(huán)變量的終值。步長為1時,表達式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例

已知,當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)變量=矩陣表達式循環(huán)體語句

end

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

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

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ù),當輸入0時結束輸入,求這些數(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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論