數(shù)學(xué)軟件Matlab_第1頁
數(shù)學(xué)軟件Matlab_第2頁
數(shù)學(xué)軟件Matlab_第3頁
數(shù)學(xué)軟件Matlab_第4頁
數(shù)學(xué)軟件Matlab_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 Matlab 簡介 (一) Matlab 使用簡介 Matlab 簡介 Matlab是“Matrix Laboratory”的縮寫, 意為“矩陣實(shí)驗(yàn)室”, 是美國MathWorks公司開發(fā)的一種數(shù)學(xué)工具軟件, 它的主要功能是給人們提供一個(gè)方便的數(shù)值計(jì)算平臺(tái). Matlab的基本運(yùn)算單元是不需指定維數(shù)的矩陣, 系統(tǒng)提供了大量的矩陣及其他運(yùn)算函數(shù), 可以方便地進(jìn)行一些很復(fù)雜的計(jì)算, 而且運(yùn)算效率極高. Matlab命令和數(shù)學(xué)中的符號(hào)、公式非常接近, 可讀性強(qiáng), 容易掌握, 還可以利用它所提供的程序設(shè)計(jì)語言進(jìn)行編程, 完成特定的工作. Matlab系統(tǒng)由Matlab內(nèi)核和輔助工具箱組成. Matl

2、ab內(nèi)核是由大量的內(nèi)部函數(shù)以及用戶自定義函數(shù)構(gòu)成的, 通過這些函數(shù)可以方便地解決具體的技術(shù)問題, 這也是使用Matlab的基本方法.本簡介以2002年發(fā)布的MATLAB 6.5為基礎(chǔ), 簡單分類介紹軟件系統(tǒng)的基本功能, 及與矩陣運(yùn)算有關(guān)的函數(shù)(命令)的使用, 其他功能請(qǐng)讀者自行查閱幫助或有關(guān)參考文獻(xiàn). Matlab 簡介 1 簡單操作簡單操作 Matlab是一個(gè)交互式的計(jì)算系統(tǒng), 計(jì)算是在用戶和Matlab互相交互、傳遞信息數(shù)據(jù)的過程中完成的. 1.1 啟動(dòng)啟動(dòng) 假設(shè)在Windows環(huán)境下已安裝好MATLAB 6.5, 那么進(jìn)入系統(tǒng)的方法是: 在桌面上雙擊MATLAB 6.5圖標(biāo)(見下圖左)或

3、從“開始”菜單的“程序”下的“MATLAB 6.5”聯(lián)級(jí)菜單下單擊MATLAB 6.5圖標(biāo)(見下圖右)均可. Matlab 簡介 啟動(dòng)了Matlab后, 即進(jìn)入Matlab的命令窗口-Command Window(見下圖), 在一段提示信息后, 出現(xiàn)系統(tǒng)提示符“”, 這時(shí)你就可以輸入命令了.比如, 輸入 3+5并按下Enter鍵, 這時(shí)系統(tǒng)開始計(jì)算并輸出計(jì)算結(jié)果: ans=8, 若再輸入第二個(gè)表達(dá)式b=2+sin(pi/2), 系統(tǒng)也會(huì)處理并給出結(jié)果: b=3 . Matlab 簡介 Matlab的桌面系統(tǒng)由桌面平臺(tái)和桌面組件構(gòu)成. 桌面平臺(tái)主要有桌面菜單: File、Edit、View、We

4、b、Window、Help和工具欄,桌面組件主要有命令窗口(Command Window)、歷史命令窗口(Command History)、路徑瀏覽器(Current Directory)、工作空間瀏覽器(Workspace )等. 命令窗口是對(duì)Matlab進(jìn)行操作的主要載體;通過歷史命令窗口可了解命令的使用歷史;工作空間瀏覽器將顯示所有目前保存在內(nèi)存中的Matlab變量的變量名、數(shù)學(xué)結(jié)構(gòu)、字節(jié)數(shù)以及類型. Matlab 簡介 1.2 基本命令基本命令 Matlab的基本命令有如下兩種形式:(1) 表達(dá)式 % 執(zhí)行表達(dá)式運(yùn)算, 顯示結(jié)果, 并將值保存在變量ans中;(2) 變量=表達(dá)式 % 除

5、(1)的功能外, 還對(duì)變量進(jìn)行賦值.注注: 命令行后面如果加上分號(hào)“;”, 那么就不顯示運(yùn)算結(jié)果.(3) 操作命令行 % 執(zhí)行某一特定的操作 如: clc % 清屏, 光標(biāo)調(diào)到左上角 clear 變量列表 % 清除全部(或指定)的內(nèi)存變量 whos % 顯示已用的內(nèi)存變量情況 Matlab 簡介 1.3 退出退出 要退出Matlab, 可單擊關(guān)閉窗口按鈕或從菜單“File”中選擇“Exit MATLAB”或按Ctrl+Q, 也可以在命令窗口中鍵入“quit”命令. 特別提示特別提示: 退出Matlab時(shí), 系統(tǒng)是沒有提示確認(rèn)的, 一旦退出, 所有的變量定義將消失. 若你希望保存當(dāng)前Matlab

6、工作區(qū)的一些結(jié)果, 可在退出Matlab前,使用“save 變量名”或從菜單“File”中選擇“Save Workspace As”, 將全體(或指定)的變量值以給出的文件名(擴(kuò)展名為 .mat)保存在指定的位置, 下次要應(yīng)用這些變量值時(shí), 只要使用“l(fā)oad 變量名”恢復(fù)其值即可. Matlab 簡介 1.4 說明說明 (1) 輸入的字母嚴(yán)格區(qū)分大小寫. 變量名要以字母開頭, 可以是字母、數(shù)字、下劃線組成, 但不能使用標(biāo)點(diǎn). 除自定義變量外, 系統(tǒng)預(yù)定義幾個(gè)變量(見表1-1)和支持許多數(shù)學(xué)函數(shù)(見表1-2); 表1-1 系統(tǒng)預(yù)定義變量系統(tǒng)預(yù)定義變量 變量名意 義 pi 圓周率, =3.141

7、59 eps 浮點(diǎn)運(yùn)算的相對(duì)精度, 2.2204e 16 realmin 最小的正浮點(diǎn)數(shù), 2.2251e 308 realmax最大的浮點(diǎn)數(shù), 1.7977e +308 i 虛數(shù)單位, i2=1 Inf 無窮大, NaN 不定量 Matlab 簡介 表1-2 部分常用的數(shù)學(xué)函數(shù)函數(shù)名意 義函數(shù)名意 義sin(x) 正弦函數(shù) exp(x)自然指數(shù)函數(shù)cos(x) 余弦函數(shù) pow2(x)以2為底指數(shù)函數(shù)tan(x) 正切函數(shù) log(x)自然對(duì)數(shù)函數(shù)cot(x) 余切函數(shù) log10(x)以10為底對(duì)數(shù)函數(shù)sec(x) 正割函數(shù) log2(x)以2為底對(duì)數(shù)函數(shù)csc(x) 余割函數(shù) abs(x

8、)絕對(duì)值(取模) 函數(shù) asin(x) 反正弦函數(shù) sqrt(x)算術(shù)平方根函數(shù) acos(x)反余弦函數(shù) floor(x)不超過x的最大整數(shù) atan(x)反正切函數(shù) round(x)最接近x的整數(shù) acot(x)反余切函數(shù) mod(m,n)m被n整除的余數(shù) Matlab 簡介 (2) 在缺省的狀態(tài)下, Matlab以短格式(short格式, 保留4位小數(shù))顯示計(jì)算結(jié)果. 這在有些情況下是不夠的, 這時(shí)可以通過菜單“File-Preferences-Command Window”對(duì)顯示格式“Numeric Format”進(jìn)行更改. 由于Matlab以雙精度執(zhí)行所有的運(yùn)算, 顯示格式的設(shè)置僅影

9、響矩陣的顯示, 不影響矩陣的計(jì)算和存儲(chǔ).(3) 在當(dāng)前提示符下, 可通過光標(biāo)的上、下移動(dòng)鍵,調(diào)出使用過的命令行,對(duì)它進(jìn)行編輯、修改再利用. 當(dāng)然也可利用歷史命令窗口(Command History)的功能將舊命令行調(diào)入命令窗口再利用. Matlab 簡介 2 矩陣操作矩陣操作 矩陣的運(yùn)算是Matlab的核心, 系統(tǒng)中幾乎一切運(yùn)算均是以對(duì)矩陣的操作為基礎(chǔ)的.2.1 矩陣的建立矩陣的建立 在Matlab中矩陣的建立有很多方法, 除用戶自定義矩陣外, 還可以調(diào)用已存儲(chǔ)的矩陣數(shù)據(jù), 也可以用系統(tǒng)提供的一系列函數(shù)生成特殊矩陣.(1) 自定義矩陣自定義矩陣:用戶在命令窗口中(2) 自定義矩陣時(shí), 要以逗號(hào)

10、或空格(3) 分隔矩陣中的不同列, 以分號(hào)分(4) 隔矩陣中的不同行, 而且矩陣的(5) 數(shù)據(jù)應(yīng)被包括在中括號(hào)內(nèi). 如右 A=1,2,3;4 5 6;7,8,9 A = 1 2 3 4 5 6 7 8 9 Matlab 簡介 (2) 生成特殊矩陣生成特殊矩陣: Matlab中內(nèi)置了許多特殊矩陣的生成函數(shù). 常用殊矩陣生成函數(shù)表函數(shù)名說明函數(shù)名說明eye ( )主對(duì)角線為1, 其余為0矩陣 zeros ( )元素全為0的矩陣rand ( )元素在01之間的隨機(jī)矩陣 ones ( )元素全為1的矩陣注注: ( )中若只有一個(gè)數(shù)值參數(shù)n, 表示生成nn的方陣; 若有兩個(gè)數(shù)值參數(shù) m,n, 表示生成一

11、個(gè)mn的矩陣. Matlab 簡介 (3) 矩陣的合成矩陣的合成: 可利用中括號(hào)將若干小矩陣合成為一個(gè)大矩陣. 例如(4) 使用數(shù)組編輯器(使用數(shù)組編輯器(Array Editor):對(duì)已賦值的變量,可打開工作空間瀏覽器(Workspace )中的數(shù)組編輯器(Array Editor),從外部導(dǎo)入數(shù)據(jù)或?qū)仃嚨慕Y(jié)構(gòu)和值進(jìn)行修改。 A=1,2;3,4; B=A,2*A;ones(1,4)B = 1 2 2 4 3 4 6 8 1 1 1 1 Matlab 簡介 2.2 矩陣的基本運(yùn)算矩陣的基本運(yùn)算 矩陣運(yùn)算的內(nèi)容非常豐富, 常用的如下所列:(1) 取子矩陣取子矩陣: 可以從已定義的矩陣中取出部分

12、元素組成子矩陣. 例如 A(i,j) % 取出A的第i行、第j列元素; A(:) % 將A的所有元素按列順序排成列; A(i,:)或A(:,j) % 取出A的第i行或第j列的元素; A(:,j:k) % 取出A的第j列到第k列的元素. 這里冒號(hào)“:”是個(gè)重要符號(hào), 它不僅能代表通用性, 而且能用來產(chǎn)生相同增量的行向量. 例如 a:d:b % 產(chǎn)生一個(gè)從a到b之間, 每次增量為d的行向量; a:b % 產(chǎn)生一個(gè)從a到b之間, 每次增量為1的行向量. Matlab 簡介 (2) 更換元素更換元素: 可以對(duì)已定義矩陣中的元素進(jìn)行更新或置空. 例如 A=1,2,3;4,5,6;7,8,9; A(:,3

13、)=8; A A = 1 2 8 4 5 8 7 8 8 A(1,:)=; A A = 4 5 8 7 8 8 Matlab 簡介 (3) 算術(shù)運(yùn)算算術(shù)運(yùn)算: 基本的算術(shù)運(yùn)算是加+、減-、乘*、左除、右除/、乘方.這些運(yùn)算與傳統(tǒng)意義的矩陣相應(yīng)運(yùn)算類似, 它們對(duì)參與運(yùn)算的兩個(gè)操作對(duì)象都有一定的要求, 如A+B 要求矩陣A和B是同類型的矩陣(行、列數(shù)都相同). 另外AB中, 要求A是方陣且可逆, 即AB=inv(A)*B, 而A/B=A*inv(B).(4) 點(diǎn)運(yùn)算點(diǎn)運(yùn)算: 點(diǎn)運(yùn)算是指操作元素點(diǎn)對(duì)點(diǎn)的運(yùn)算, 也就是說向量或矩陣間元素對(duì)元素的運(yùn)算, 因此要求參與運(yùn)算的變量在結(jié)構(gòu)上必須是相似的. 點(diǎn)運(yùn)

14、算符是由運(yùn)算符“*”、“”、“/”、“”前加一點(diǎn)來表示. 例如 A=1,2,3,4;B=0,1,2,3; C=A.*B C = 0 2 6 12 Matlab 簡介 2.3 矩陣操作函數(shù)矩陣操作函數(shù) Matlab的數(shù)學(xué)能力大部分是從它的矩陣函數(shù)中派生出來的. 在Matlab中提供了非常豐富的矩陣運(yùn)算函數(shù), 包括所有的標(biāo)準(zhǔn)的線性代數(shù)中使用到的矩陣函數(shù)和一些在數(shù)值計(jì)算中非常有用的函數(shù). 下面列出典型的幾項(xiàng): (1) 矩陣運(yùn)算的基本函數(shù)矩陣運(yùn)算的基本函數(shù)函 數(shù)意 義size(A)返回二元行向量, 元素分別為A的行數(shù)和列數(shù)size(A,1)或size(A,2)返回A的行數(shù)或列數(shù)det(A)計(jì)算方陣A的

15、行列式inv(A)計(jì)算方陣A的逆矩陣rank(A)計(jì)算矩陣A的秩diag(A)提取矩陣A的對(duì)角元, 組成列向量diag(v)以向量v的元素, 組成對(duì)角矩陣 Matlab 簡介 (2) 矩陣分析函數(shù)矩陣分析函數(shù)函 數(shù)意 義d=eig(A)矩陣A的所有特征值, 組成列向量V,D=eig(A)V是特征向量構(gòu)成的矩陣, D是特征值構(gòu)成的對(duì)角矩陣, 滿足: AV=VDnorm(A)矩陣A的2-范數(shù)norm(A,1)或norm(A,inf)矩陣A的1-范數(shù)或-范數(shù)cond(A)矩陣A的條件數(shù)triu(A)提取矩陣A的上三角元, 組成同階上三角矩陣tril(A)提取矩陣A的下三角元, 組成同階下三角矩陣L,

16、U=lu(A)矩陣A的LU分解, 即A=LUL,U,P=lu(A)矩陣A的PLU分解, 即PA=LUL=chol(A)矩陣A的Cholesky分解, 即A=LL Matlab 簡介 3 數(shù)值計(jì)算數(shù)值計(jì)算 Matlab中數(shù)值計(jì)算的基本要素是向量(數(shù)組)、多項(xiàng)式和矩陣等. 對(duì)這些基本要素, Matlab也提供了強(qiáng)大的函數(shù)支持, 通過這些函數(shù), 我們可以解決實(shí)際應(yīng)用中的大多數(shù)數(shù)值計(jì)算問題. 由于篇幅所限, 下面僅介紹幾個(gè)常用的問題 在Matlab中, 多項(xiàng)式由一個(gè)行向量表示, 行向量的元素是多項(xiàng)式的系數(shù), 它的系數(shù)是按降冪排列的. 例如, 多項(xiàng)式 2x4+x3-x-2, 其相應(yīng)的多項(xiàng)式行向量為: P

17、 = 2 , 1 , 0 , -1 , -2 按照這種形式, 用函數(shù)roots就可以求出多項(xiàng)式的所有根(包括復(fù)數(shù)根). Matlab 簡介 (1) 求根的調(diào)用格式為求根的調(diào)用格式為: roots (P) 例如: P=2,1,0,-1,-2; R=roots(P) R = 1.0000 -0.2500 + 0.9682i -0.2500 - 0.9682i -1.0000 函數(shù)poly與roots相對(duì)應(yīng), 其作用是由多項(xiàng)式的根來創(chuàng)建相應(yīng)的多項(xiàng)式.(2) 創(chuàng)建多項(xiàng)式格式創(chuàng)建多項(xiàng)式格式: poly (R) 例如: poly(R) ans = 1.0000 0.5000 0.0000 -0.5000

18、-1.0000 Matlab 簡介 (3) 求多項(xiàng)式在定點(diǎn)的值求多項(xiàng)式在定點(diǎn)的值: polyval (P,x) 例如: polyval(P,0) ans = -2 polyval(P,-1,0.5,0,0.5,1) ans = 0 -2.2500 -2.0000 -2.2500 0 Matlab 簡介 3.2 數(shù)據(jù)的統(tǒng)計(jì)分析數(shù)據(jù)的統(tǒng)計(jì)分析 在實(shí)際應(yīng)用中, 經(jīng)常會(huì)遇到大量數(shù)據(jù)的綜合統(tǒng)計(jì)分析問題, Matlab提供相應(yīng)的統(tǒng)計(jì)分析函數(shù), 能夠幫助用戶順利地完成各種數(shù)據(jù)的整理和分析. 表表3-1 常用的統(tǒng)計(jì)函數(shù)常用的統(tǒng)計(jì)函數(shù)函數(shù)名 意 義函數(shù)名 意 義max( )(列)最大分量sum( )求(列)和m

19、in( )(列)最小分量cumsum( )求(列)累加和mean( )(列)平均值corrcoef(a,b)a與b的相關(guān)系數(shù)矩陣std( )(列)標(biāo)準(zhǔn)差cov(a,b)a與b的協(xié)方差矩陣 Matlab 簡介 統(tǒng)計(jì)函數(shù)的操作對(duì)象可以是數(shù)組(向量), 也可以是矩陣. 一般說來, 矩陣是用來表示對(duì)若干組數(shù)據(jù)同時(shí)處理的, 其中列代表統(tǒng)計(jì)過程的不同結(jié)果, 行代表不同的樣本, 所以統(tǒng)計(jì)是按列處理的. 例如, 下面score給出4名學(xué)生5門課程: 數(shù)學(xué)、語文、英語、物理、化學(xué)的成績,可對(duì)它們進(jìn)行統(tǒng)計(jì)分析. score=90,99,98,97,96;90,67,87,56,67;89,99,80,67,86;

20、56,78,76,66,85 score = 90 99 98 97 96 90 67 87 56 67 89 99 80 67 86 56 78 76 66 85 Matlab 簡介 max(score) %統(tǒng)計(jì)各科的最高分ans = 90 99 98 97 96 min(score) %統(tǒng)計(jì)各科的最低分ans = 56 67 76 56 67 mean(score) %統(tǒng)計(jì)各科的平均分ans = 81.2500 85.7500 85.2500 71.5000 83.5000 std(score) %統(tǒng)計(jì)各科的標(biāo)準(zhǔn)差ans = 16.8399 15.9452 9.6393 17.7106 1

21、2.0692若要計(jì)算某學(xué)生的總成績或平均成績,又將如何處理呢? Matlab 簡介 3.3 曲線擬合曲線擬合 實(shí)際應(yīng)用中, 常需要使用一個(gè)解析函數(shù)描述數(shù)據(jù)(通常為觀測值). 這可用擬合解決.曲線擬合涉及到使用何種函數(shù)進(jìn)行擬合和使用何種判別標(biāo)準(zhǔn)兩個(gè)基本問題. 一般的擬合方法是使用多項(xiàng)式對(duì)數(shù)據(jù)進(jìn)行擬合, 而最佳擬合被解釋為數(shù)據(jù)點(diǎn)與擬合點(diǎn)的誤差平方各最小. 函數(shù)polyfit可用于求解此類最小二乘擬合問題. 擬合格式擬合格式: polyfit(x,y,n) % 對(duì)數(shù)據(jù)(x,y)進(jìn)行n次多項(xiàng)式擬合, 返回其系數(shù)行向量 例如: x=0:pi/18:pi; y0=sin(x); p=polyfit(x,y

22、0,2) p = -927/2261 1583/1229 -69/1951 Matlab 簡介 4 繪制圖形繪制圖形 Matlab提供了豐富的對(duì)二維和三維圖形圖像進(jìn)行處理的函數(shù), 包括對(duì)圖形顏色、視角和光源等的設(shè)置, 使得用戶能繪制出滿意的圖案.4.1 二維圖形二維圖形 二維圖形的繪制是Matlab圖形處理的基礎(chǔ), 也是在大多數(shù)數(shù)值計(jì)算中所廣泛應(yīng)用的圖形方式之一, 比如根據(jù)計(jì)算結(jié)果繪制曲線等.4.1.1 基本的繪圖命令基本的繪圖命令 繪制二維圖形最常用的函數(shù)就是plot() 函數(shù), 對(duì)于不同形式的輸入, 該函數(shù)可以實(shí)現(xiàn)不同的功能. Matlab 簡介 (1) 單變量輸入單變量輸入格式格式: p

23、lot(y) 其中, y為向量. 若y是實(shí)向量, 則以y的分量為縱坐標(biāo), 相應(yīng)的分量序號(hào)為橫坐標(biāo), 描點(diǎn)連成折線圖; 若y是復(fù)向量, 則以y的各分量實(shí)部為橫坐標(biāo), 相應(yīng)的虛部為縱坐標(biāo), 描點(diǎn)連線.例如: 畫出10個(gè)隨機(jī)點(diǎn)的連線圖 y=rand(10,1); plot(y) Matlab 簡介 (2) 多變量輸入多變量輸入格式格式: plot(x,y) % 以x各分量為橫坐標(biāo), 相應(yīng)y分量為橫坐標(biāo) 描點(diǎn)連線 plot(x1,y1,x2,y2,xn,yn) % 以(xi,yi)配對(duì), 描出n條折線 plot(X,Y) % X,Y是同型矩陣, 按列配對(duì), 描出多條折線例如: 畫出y=sin(x)和

24、y=cos(x)兩條折(曲)線 x=0:0.05*pi:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) Matlab 簡介 (3) 帶控制參數(shù)的輸入帶控制參數(shù)的輸入格式格式: plot(x,y,控制參數(shù)) 其中, 控制參數(shù)選項(xiàng)可設(shè)置圖形的顯示屬性(線型和顏色) 常用的線型和顏色控制符常用的線型和顏色控制符控制符意 義控制符意 義- 實(shí)線y 黃色: 點(diǎn)線c 青色-. 點(diǎn)劃線r 紅色- 間斷線g 綠色o 小圓圈b 藍(lán)色* 星號(hào)k 黑色 Matlab 簡介 說明說明: Matlab的圖形窗口默認(rèn)是簡潔窗口(只自動(dòng)標(biāo)注橫軸和縱軸坐標(biāo)), 必要時(shí)可使用圖形標(biāo)注命令

25、對(duì)圖形進(jìn)行裝飾(見下表). 常用的圖形標(biāo)注命令常用的圖形標(biāo)注命令 命令意 義命令意 義title圖形標(biāo)題text(x,y,注)在(x,y)處標(biāo)注文本xlabel橫坐標(biāo)軸標(biāo)注legend(注1,.) 圖例標(biāo)注(按繪圖次序標(biāo)注)ylabel縱坐標(biāo)軸標(biāo)注hold 保持圖形(on或off)grid加網(wǎng)絡(luò)線(on或off)subplot(m,n,k)組合圖形,繪m*n圖陣中第k個(gè) Matlab 簡介 例如例如: x=0:0.05*pi:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,-r); text(0.8*pi,sin(0.8*pi),leftarrow y=sin(x)

26、; xlabel(x); ylabel(y); hold on; % 保持圖形保持圖形, 兩線畫一起兩線畫一起 plot(x,y2,og); text(1.5*pi,cos(1.5*pi), leftarrow y=cos(x); % 效果見右圖效果見右圖 Matlab 簡介 x=0:0.1*pi:2*pi; subplot(2,2,1); % 繪制圖陣中第1個(gè)子圖 plot(x,sin(x),-or); title(sin(x); subplot(2,2,2); % 繪制圖陣中第2個(gè)子圖 plot(x,cos(x),:*b); title(cos(x); subplot(2,2,3); %

27、繪制圖陣中第3個(gè)子圖 plot(x,sin(x)+cos(x),-.xg); title(sin(x)+cos(x); subplot(2,2,4); % 繪制圖陣中第4個(gè)子圖 plot(x,sin(x)-cos(x),-+k); title(sin(x)-cos(x); % 總效果見右圖 Matlab 簡介 4.1.2 特殊二維圖形函數(shù)特殊二維圖形函數(shù) 二維特殊圖形函數(shù)包括特殊坐標(biāo)系的二維圖形函數(shù)和二維特殊圖形函數(shù).(1) 直角坐標(biāo)函數(shù)圖形直角坐標(biāo)函數(shù)圖形 格式格式: fplot(函數(shù)表達(dá)式,a,b) % 繪制指定函數(shù)在a,b上的圖形 例如: fplot(sin(x),sin(x+1),si

28、n(x-1),-2*pi,2*pi) grid % 加上網(wǎng)絡(luò)線的三條函數(shù)圖 Matlab 簡介 (2) 極坐標(biāo)函數(shù)圖形極坐標(biāo)函數(shù)圖形 格式格式: polar(,r,控制參數(shù)) % 其中, 是用弧度表示的極角, r是向徑例如: x=0:0.01*pi:2*pi; polar(x,2*sin(3*x),-b) % 繪制三葉玫瑰線圖 Matlab 簡介 (3) 繪制條形圖繪制條形圖 格式格式: bar(x,y,顏色) % 在(x,y)的各分量處(xi,yi)繪制條形圖例如: x=0:0.05*pi:pi; y=sin(x); bar(x,y,g) % 繪制條形圖 Matlab 簡介 (4) 繪制餅狀

29、圖繪制餅狀圖 格式格式: pie (x,標(biāo)注1,標(biāo)注n) % x的各分量按所占比例繪制餅狀圖, 并對(duì)各部分進(jìn)行標(biāo)注例如: x=8,5,7,3,2; pie(x,Math,English,Chinese,History,Music) % 繪制餅狀圖 Matlab 簡介 4.2 三維圖形三維圖形 在日常的工程計(jì)算中結(jié)果的表示也常要用到三維圖形. 繪制三維圖形與繪制二維圖形在許多方面都是相近的, 并且在曲線的屬性設(shè)置上是完全相同的. 三維圖形繪制中經(jīng)常用到的基本繪圖命令為plot3函數(shù)、網(wǎng)絡(luò)函數(shù)以及著色圖等. (1) plot3函數(shù)函數(shù)plot3函數(shù)是plot函數(shù)的三維擴(kuò)展. 其調(diào)用格式與plot相

30、比只增加一個(gè)參數(shù).格式格式: plot3(x,y,z) 或 plot3(x,y,z,控制參數(shù))例如: z=0:pi/18:10*pi; x=sin(z); y=cos(z); plot3(x,y,z) %繪制三維螺旋線 Matlab 簡介 與plot相似, plot3也可以以矩陣作為輸入?yún)?shù), 這時(shí)繪制出的圖形是曲面,要求3個(gè)輸入矩陣必須結(jié)構(gòu)相同. 例如例如: x,y=meshgrid(-6:0.5:6); z=sqrt(x.2+y.2); plot3(x,y, z) %繪制三維圖-錐面 Matlab 簡介 (2) 網(wǎng)絡(luò)函數(shù)和著色函數(shù)網(wǎng)絡(luò)函數(shù)和著色函數(shù) 上例中應(yīng)用到了meshgrid函數(shù), 它

31、是網(wǎng)絡(luò)函數(shù)之一, 常用的網(wǎng)絡(luò)函數(shù)、著色函數(shù)如下表: 函數(shù)名意 義meshgrid將給定區(qū)域按一定的方式劃分成平面網(wǎng)絡(luò)mesh繪制三維網(wǎng)絡(luò)圖meshc與mesh調(diào)用方式相同, 增加繪制相應(yīng)的等高線meshz與mesh調(diào)用方式相同, 增加邊界面的屏蔽功能surf與mesh調(diào)用方式相同,繪制的是著色的三維面 Matlab 簡介 meshgrid函數(shù)的調(diào)用格式函數(shù)的調(diào)用格式: X,Y=meshgrid(x,y) 或 X,Y=meshgrid(x) 這里x和y為給定的向量, 它生成兩個(gè)同結(jié)構(gòu)矩陣, 一個(gè)以x的各分量為行, 行數(shù)與y分量數(shù)相同的矩陣X, 另一個(gè)以y的各分量為列, 列數(shù)與x分量數(shù)相同的矩陣Y

32、. 若輸入?yún)?shù)只有一個(gè)x, 則認(rèn)為y=x . mesh 等函數(shù)的調(diào)用格式等函數(shù)的調(diào)用格式: mesh(z)例如例如:續(xù)上例 mesh(z) % mesh函數(shù)生成的三維面 Matlab 簡介 meshc(z) % meshc函數(shù)示例, 見下左圖 surf(z) % 著色圖函數(shù)surf示例, 見下右圖 Matlab 簡介 5 程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)基礎(chǔ) 雖然Matlab提供了大量的函數(shù)及工具箱可供使用, 在實(shí)際應(yīng)用中, 仍然經(jīng)常需要自己編寫Matlab程序或函數(shù), 以完成特定的功能. 作為一種開發(fā)工具, Matlab提供了完整的條件判斷和流程控制語句, 可以進(jìn)行復(fù)雜的程序設(shè)計(jì)工作. 5.1 關(guān)系運(yùn)算

33、符與邏輯運(yùn)算符關(guān)系運(yùn)算符與邏輯運(yùn)算符 編程中最常見到的情況是根據(jù)不同的條件執(zhí)行不同的語句. 因此, 首先需要了解Matlab的關(guān)系運(yùn)算符和邏輯運(yùn)算符. 雖然Matlab的這些操作符和高級(jí)編程語言(如C語言)非常相似, 但由于Matlab中參與運(yùn)算的元素可以是矩陣, 因此又有它自己的特點(diǎn). Matlab 簡介 (1)關(guān)系運(yùn)算符關(guān)系運(yùn)算符比較兩個(gè)標(biāo)量或同階矩陣有下面六種相關(guān)的操作符, 如下表(2)邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符有三種: 與( & ), 或( | ), 和非( ).“&”和“|”操作符可比較兩個(gè)標(biāo)量或同階矩陣. 運(yùn)算符意 義運(yùn)算符意 義=大于等于大于=不等于 Matl

34、ab 簡介 (3)說明說明 兩個(gè)標(biāo)量之間的關(guān)系運(yùn)算關(guān)系運(yùn)算, 其結(jié)果是: 關(guān)系為真用“1”表示,關(guān)系為假用“0”表示; 而對(duì)于兩個(gè)同階矩陣之間的比較則是它們各個(gè)相應(yīng)元素之間的比較, 比較的結(jié)果是一個(gè)同階的0-1矩陣, 只有當(dāng)結(jié)果矩陣元素全為1時(shí), 矩陣之間的這種關(guān)系才為真. 兩個(gè)標(biāo)量或同階矩陣的邏輯運(yùn)算邏輯運(yùn)算也是它們各個(gè)相應(yīng)元素之間的邏輯運(yùn)算(非零元素當(dāng)成是真, 值是1), 結(jié)果是同階的0-1矩陣, 只有它的元素全為1時(shí), 其邏輯運(yùn)算值才為真. Matlab 簡介 5.2 流程控制語句流程控制語句 Matlab中使用的流程控制語句主要有: if、for、while和switch語句.(1)i

35、f語句語句基本格式基本格式: if 條件值為真時(shí)執(zhí)行的語句else 條件值為假時(shí)執(zhí)行的語句end注注: if語句結(jié)構(gòu)中else子句是可選項(xiàng)(可省略), 也可多層嵌套使 用. Matlab 簡介 (2)for語句語句基本格式基本格式: for 循環(huán)控制變量= 循環(huán)體end注注: 設(shè)定循環(huán)的次數(shù)通常是數(shù)組(向量), 可以是已定義的, 也可以按格式“:”定義; 若循環(huán)次數(shù)的設(shè)定是mn的矩陣, 則循環(huán)將執(zhí)行n次, 且每次循環(huán)變量為一列向量. for循環(huán)允許多層嵌套使用.例如例如: for i=1:3 for j=1:4 A(i,j)=i+j; end end Matlab 簡介 AA = 2 3 4

36、5 3 4 5 6 4 5 6 7 for i=A s=s+i; end sans = 14 18 22 Matlab 簡介 (3)while語句語句基本格式基本格式: while 循環(huán)體end其中其中, 循環(huán)判斷語句通常為某種形式的邏輯判斷表達(dá)式, 當(dāng)該表達(dá)式的值為真時(shí), 就執(zhí)行循環(huán)體內(nèi)的語句, 否則退出當(dāng)前的循環(huán)體. 若循環(huán)判斷語句為矩陣時(shí), 當(dāng)且僅當(dāng)所有的矩陣元素非零時(shí), 邏輯表達(dá)式的值為真. Matlab 簡介 例如: s=0;n=0; while s n,sans = 14 105注注: while循環(huán)語句與for循環(huán)語句執(zhí)行循環(huán)的功能相似, 區(qū)別在于for循環(huán)一般適用于已知循環(huán)次數(shù)

37、, 而不知循環(huán)運(yùn)算目標(biāo)的問題, while循環(huán)則相反.在while循環(huán)中, 循環(huán)體內(nèi)要有可修改循環(huán)控制變量的命令, 否則會(huì)陷入死循環(huán), 除非循環(huán)體內(nèi)有控制退出循環(huán)的命令, 如break語句, 可退出當(dāng)前的循環(huán), 相應(yīng)地, continue語句起結(jié)束這次循環(huán)的作用. Matlab 簡介 (4)switch-case語句語句基本格式基本格式: switch case 選擇判斷值1 語句1case選擇判斷值2 語句2otherwise 語句end Matlab 簡介 注注: switch-case語句是多分支判斷選擇語句, 它將根據(jù)選擇判斷量值的不同而進(jìn)入不同的分支執(zhí)行相應(yīng)的語句, 這里需特別注意的是當(dāng)其中一個(gè)case后的條件為真時(shí), switch-case語句就不對(duì)其后的case語句進(jìn)行判斷, 即使還有多條case語句為真也一樣, 這點(diǎn)與有些高級(jí)語言不同(如C語言).例如例如: switch codecase -1 disp(error)case 1 disp(write in English)otherwise disp(write in Chinese)end Matlab 簡介 5.3 M文件文件:文本文件與函數(shù)文件文本文件與函數(shù)文件 M文件是由Matlab語言編寫的可在Matlab語言環(huán)境下運(yùn)行的程序源代碼文件. 在M文件中, 按照Matlab語言規(guī)則將命

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論