MATLAB教程PPT課件.ppt_第1頁(yè)
MATLAB教程PPT課件.ppt_第2頁(yè)
MATLAB教程PPT課件.ppt_第3頁(yè)
MATLAB教程PPT課件.ppt_第4頁(yè)
MATLAB教程PPT課件.ppt_第5頁(yè)
已閱讀5頁(yè),還剩186頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Dr WangZhengsheng - Lecture Notes,1,MATLAB,1 MATLAB簡(jiǎn)介,Dr WangZhengsheng - Lecture Notes,2,Matlab 簡(jiǎn)介,在歐美各高等院校,Matlab 已經(jīng)成為線(xiàn)性代數(shù)、數(shù)值分析、數(shù)理統(tǒng)計(jì)、自動(dòng)控制理論、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等課程的基本教學(xué)工具,已成為大學(xué)生必須掌握的基本技能之一。Matlab 功能強(qiáng)大、簡(jiǎn)單易學(xué)、編程效率高,深受廣大科技工作者的歡迎。,Matlab是一種廣泛應(yīng)用于工程計(jì)算及數(shù)值分析領(lǐng)域的新型高級(jí)語(yǔ)言,自 1984 年推向市場(chǎng)以來(lái),歷經(jīng)二十多年的發(fā)展與競(jìng)爭(zhēng),現(xiàn)已成為國(guó)際

2、公認(rèn)的最優(yōu)秀的工程應(yīng)用開(kāi)發(fā)環(huán)境。,Dr WangZhengsheng - Lecture Notes,3,Matlab 簡(jiǎn)介,Matlab: Matrix Laboratory 矩陣實(shí)驗(yàn)室,Matlab 的發(fā)展,1980年,Moler 教授用 Fortran 語(yǔ)言編寫(xiě)了集命令翻譯、 科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng)。,1984年,Moler 等成立了 The MathWorks 的公司,用 C 語(yǔ)言完全改寫(xiě) Matlab,并推出第一個(gè)商業(yè)版。,增添圖形圖像處理、符號(hào)運(yùn)算、以及與其他流行軟件 的接口功能,使得 Matlab 的功能越來(lái)越強(qiáng)大。,到九十年代,在國(guó)際上 30 幾個(gè)數(shù)學(xué)類(lèi)科技應(yīng)用軟件

3、中, Matlab 在數(shù)值計(jì)算方面獨(dú)占鰲頭。,Dr WangZhengsheng - Lecture Notes,4,目前,Matlab 已成為世界頂尖的數(shù)學(xué)應(yīng)用軟件,以其強(qiáng)大的工程計(jì)算、算法研究、工程繪圖、應(yīng)用程序開(kāi)發(fā)、數(shù)據(jù)分析和動(dòng)態(tài)仿真等功能,在航空航天、機(jī)械制造和工程建筑等領(lǐng)域發(fā)揮著越來(lái)越重要的作用。就影響而言,至今仍然沒(méi)有一個(gè)別的計(jì)算軟件可與 Matlab 匹敵。,Matlab 的發(fā)行,1984年,Matlab 1.0 (DOS版,182K,20多個(gè)函數(shù)) 1992年,Matlab 4.0 (93年推出Windows版,加入 simulink)1994年,Matlab 4.2(得到廣泛

4、重視和應(yīng)用) 1999年,Matlab 5.3(真正實(shí)現(xiàn)32位運(yùn)算)2002年,Matlab 6.5(采用JIT加速器) 2004年,Matlab 7.0 自2006年起,Matlab每年更新兩次,Matlab 簡(jiǎn)介,Dr WangZhengsheng - Lecture Notes,5,購(gòu)買(mǎi)(下載)Matlab 軟件,Matlab 的安裝,插入光盤(pán),自動(dòng)運(yùn)行; 或點(diǎn)擊安裝程序 setup.exe,必須安裝的部件 Matlab Symbolic Math Toolbox Extended Symbolic Math,這里以 Matlab 7.0.4 為例 自 R2008a 開(kāi)始增加了激活要求,

5、Dr WangZhengsheng - Lecture Notes,6,Matlab 的特點(diǎn)與功能,Matlab 具有很強(qiáng)的數(shù)值計(jì)算功能,Matlab 以矩陣作為數(shù)據(jù)操作的基本單位, 但無(wú)需預(yù)先指定矩陣維數(shù)(動(dòng)態(tài)定維),按照 IEEE 的數(shù)值計(jì)算標(biāo)準(zhǔn)進(jìn)行計(jì)算,提供十分豐富的數(shù)值計(jì)算函數(shù),方便計(jì)算,提高效率,Matlab 命令與數(shù)學(xué)中的符號(hào)、公式非常接近, 可讀性強(qiáng),容易掌握,Matlab 是一個(gè)交互式軟件系統(tǒng),輸入一條命令,立即就可以得出該命令的結(jié)果,Dr WangZhengsheng - Lecture Notes,7,Matlab 的特點(diǎn)與功能,Matlab 符號(hào)計(jì)算功能,Matlab 和

6、著名的符號(hào)計(jì)算語(yǔ)言 Maple 相結(jié)合,Matlab 的編程功能,Matlab具有程序結(jié)構(gòu)控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦蛘Z(yǔ)言特征,而且簡(jiǎn)單易學(xué)、編程效率高。通過(guò) Matlab 進(jìn)行編程完成特定的任務(wù),Matlab 的繪圖功能,Matlab提供豐富的繪圖命令,很方便實(shí)現(xiàn)數(shù)據(jù)的可視化,Dr WangZhengsheng - Lecture Notes,8,Matlab 豐富的工具箱(toolbox),Matlab 的特點(diǎn)與功能,根據(jù)專(zhuān)門(mén)領(lǐng)域中的特殊需要而設(shè)計(jì)的各種可選工具箱,Matlab 的 Simulink 動(dòng)態(tài)仿真集成環(huán)境,提供建立系統(tǒng)模型、選擇仿真參數(shù)和數(shù)值算法、啟動(dòng)仿真

7、程序?qū)υ撓到y(tǒng)進(jìn)行仿真、設(shè)置不同的輸出方式來(lái)觀(guān)察仿真結(jié)果等功能,Dr WangZhengsheng - Lecture Notes,9,Matlab 的基本用法,Matlab 系統(tǒng)的啟動(dòng),使用 Windows “開(kāi)始” 菜單 運(yùn)行 Matlab 系統(tǒng)啟動(dòng)程序 matlab 雙擊 Matlab 快捷圖標(biāo),Matlab 系統(tǒng)的退出,在 Matlab 主窗口 File 菜單中選擇 Exit Matlab 在 Matlab 命令窗口輸入 exit 或 quit 單擊 Matlab 主窗口的“關(guān)閉”按鈕,Dr WangZhengsheng - Lecture Notes,10,Matlab 的工作界面,命

8、令窗口,當(dāng)前工作目錄,當(dāng)前工作空間,輸入命令的歷史記錄,命令 提示符,Dr WangZhengsheng - Lecture Notes,11,定義矩陣:直接輸入法,矩陣用方括號(hào) “ ” 括起,例: A = 1 2 3; 4 5 6; 7 8 9,矩陣同一行中的元素之間用 空格 或 逗號(hào) 分隔,矩陣行與行之間用 分號(hào) 分開(kāi),直接輸入法中,分號(hào)可以用 回車(chē) 代替,例:,矩陣,Matlab 的操作對(duì)象是 矩陣, :命令提示符,不用輸入 回車(chē) :運(yùn)行所輸入的命令,Dr WangZhengsheng - Lecture Notes,12,矩陣元素可以是任何數(shù)值表達(dá)式,例: x=-1.3, sqrt(3

9、), (1+2+3)*4/5,矩陣元素賦值,矩陣元素的單獨(dú)賦值,例: x(5)=abs(x(1),例: x(5)=abs(x(6) ?,Matlab自動(dòng)將向量 x 的長(zhǎng)度擴(kuò)展到 5, 并將未賦值部分置零。,Dr WangZhengsheng - Lecture Notes,13,大矩陣可以把小矩陣作為其元素,矩陣元素賦值,例: A=A ; 11 12 13,在原矩陣的下方加一行,如何在原矩陣的右邊添加一列?,Dr WangZhengsheng - Lecture Notes,14,單個(gè)元素的引用,例: A(2,3),矩陣元素的引用,多個(gè)元素的引用:冒號(hào)的特殊用法,利用小括弧和元素所在的位置(下

10、標(biāo)),x ( i ) :向量 x 中的第 i 個(gè)元素 A ( i, j ) :矩陣 A 中的第 i 行,第 j 列元素,例: x=3:2:1,Dr WangZhengsheng - Lecture Notes,15,例: x(1:3) A(3,1:3),矩陣元素的引用,A(i:j, m:n) 表示由矩陣 A 的第 i 到第 j 行和第 m 到第 n 列交叉線(xiàn)上的元素組成的子矩陣。,可利用冒號(hào)提取矩陣 的整行或整列。,例: A(1, :) A(:, 1:3) A(:, :),Dr WangZhengsheng - Lecture Notes,16,Matlab幫助系統(tǒng),Dr WangZhengs

11、heng - Lecture Notes,17,Matlab 查找命令,lookfor 按指定的關(guān)鍵詞查詢(xún)與之相關(guān)的命令,例: lookfor inverse,Dr WangZhengsheng - Lecture Notes,18,變量命名原則,Matlab 變量,Dr WangZhengsheng - Lecture Notes,19,分號(hào)和續(xù)行符的作用,Matlab 變量,若不想在屏幕上輸出結(jié)果,可以在語(yǔ)句最后加分號(hào),如果語(yǔ)句很長(zhǎng),可用續(xù)行符 “”(三個(gè)點(diǎn))續(xù)行 續(xù)行符的前面最好留一個(gè)空格,例:,Dr WangZhengsheng - Lecture Notes,20,變量的查詢(xún),Mat

12、lab 變量,who 顯示工作空間中的所有變量,whos 查看工作空間中變量的詳細(xì)屬性,Dr WangZhengsheng - Lecture Notes,21,系統(tǒng)預(yù)定義變量,Matlab 變量,pi : 圓周率 ,其值為 imag(log(-1),inf,Inf :無(wú)窮大,nan,NaN :Not-a-Number,一個(gè)不定值,如 0/0,eps :浮點(diǎn)運(yùn)算相對(duì)精度,特殊變量 ans,i,j :虛部單位,即,應(yīng)盡量避免給系統(tǒng)預(yù)定義變量重新賦值!,Dr WangZhengsheng - Lecture Notes,22,數(shù)與算術(shù)表達(dá)式,Matlab 數(shù)值運(yùn)算,浮點(diǎn)運(yùn)算的相對(duì)誤差為 eps,浮

13、點(diǎn)數(shù)表示范圍為:10-308 10308,復(fù)數(shù)作為矩陣元素輸入時(shí),加號(hào)兩邊不能有空格!,Dr WangZhengsheng - Lecture Notes,23,數(shù)學(xué)運(yùn)算符,+ 加法,Matlab 數(shù)值運(yùn)算,- 減法,* 乘法,/ 和 除法(右除和左除), 冪運(yùn)算,命令分隔符:逗號(hào)和分號(hào),Dr WangZhengsheng - Lecture Notes,24,輸出格式,Matlab 的輸出,Matlab 以雙精度執(zhí)行所有的運(yùn)算,運(yùn)算結(jié)果可以在屏幕上輸出,同時(shí)賦給指定變量;若無(wú)指定變量,則系統(tǒng)會(huì)自動(dòng)將結(jié)果賦給變量 “ans”,Matlab 中數(shù)的輸出格式可以通過(guò) format 命令指定,for

14、mat 只改變變量的輸出格式, 但不會(huì)影響變量的值!,Dr WangZhengsheng - Lecture Notes,25,各種 format 格式,Dr WangZhengsheng - Lecture Notes,26,變量的存儲(chǔ),存儲(chǔ)當(dāng)前工作空間中的變量,save 將所有變量存入文件 matlab.mat,save mydata 將所有變量存入指定文件 mydata.mat,存儲(chǔ)指定的變量,save mydata.mat 將所有變量存入文件 mydata.mat,save 文件名 變量名列表,例: save mydata A x z,變量名列表中各變量之間用空格分隔,Dr WangZ

15、hengsheng - Lecture Notes,27,變量的讀取,清除當(dāng)前工作空間中的變量,clear 清除當(dāng)前工作空間中的所有變量,clear A x 清除指定的變量,Dr WangZhengsheng - Lecture Notes,28,幾個(gè)小技巧,Matlab 的命令記憶功能:上下箭頭鍵,命令補(bǔ)全功能: Tab 鍵,可以先輸入命令的前幾個(gè)字符,再按上下鍵縮小搜索范圍,用 Esc 鍵 刪除命令行,Dr WangZhengsheng - Lecture Notes,29,Lecture 2 MATLAB矩陣(數(shù)值)運(yùn)算,Dr WangZhengsheng - Lecture Notes

16、,30,利用函數(shù)建立數(shù)值矩陣:MATLAB提供了許多生成和操作矩陣的函數(shù),可以利用它們?nèi)ソ⒕仃嚒?例如: reshape函數(shù)和diag函數(shù)等。 reshape函數(shù)用于建立數(shù)值矩陣。 diag函數(shù)用于產(chǎn)生對(duì)角陣。,利用M文件建立矩陣:對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專(zhuān)門(mén)建立一個(gè)M文件。其步驟為: 第一步:使用編輯程序輸入文件內(nèi)容。 第二步:把輸入的內(nèi)容以純文本方式存盤(pán)(設(shè)文件名為 mymatrix.m)。 第三步:在MATLAB命令窗口中輸入mymatrix,就會(huì)自動(dòng)建立一個(gè)名為AM的矩陣,可供以后顯示和調(diào)用。,建立矩陣,Dr WangZhengsheng - Lecture Notes,

17、31,利用M文件建立矩陣: 對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專(zhuān)門(mén)建立一個(gè)M文件。其步驟為: 第一步:使用編輯程序輸入文件內(nèi)容。 第二步:把輸入的內(nèi)容以純文本方式存盤(pán)(設(shè)文件名為mymatrix.m)。 第三步:在MATLAB命令窗口中輸入mymatrix,就會(huì)自動(dòng)建立一個(gè)名為AM的矩陣,可供以后顯示和調(diào)用。 子矩陣操作,建立矩陣,Dr WangZhengsheng - Lecture Notes,32,2矩陣的基本運(yùn)算 ()矩陣轉(zhuǎn)置 ()矩陣加和減 ()矩陣乘法 ()矩陣除法 Ab=inv(A)*b ()矩陣的乘方 a2,Dr WangZhengsheng - Lecture Notes,

18、33,3矩陣的函數(shù) help matfun Matrix functions - numerical linear algebra. Matrix analysis. norm - Matrix or vector norm. normest - Estimate the matrix 2-norm. rank - Matrix rank. det - Determinant. trace - Sum of diagonal elements. null - Null space. orth - Orthogonalization. rref - Reduced row echelon for

19、m. subspace - Angle between two subspaces.,Dr WangZhengsheng - Lecture Notes,34,3矩陣的函數(shù) Linear equations. and / - Linear equation solution; use help slash. inv - Matrix inverse. rcond - LAPACK reciprocal condition estimator cond - Condition number with respect to inversion. condest - 1-norm condition

20、 number estimate. normest1 - 1-norm estimate. chol - Cholesky factorization. cholinc - Incomplete Cholesky factorization. lu - LU factorization. luinc - Incomplete LU factorization. qr - Orthogonal-triangular decomposition. lsqnonneg - Linear least squares with nonnegativity constraints. pinv - Pseu

21、doinverse. lscov - Least squares with known covariance.,Dr WangZhengsheng - Lecture Notes,35,3矩陣的函數(shù) Eigenvalues and singular values. eig - Eigenvalues and eigenvectors. svd - Singular value decomposition. gsvd - Generalized singular value decomposition. eigs - A few eigenvalues. svds - A few singula

22、r values. poly - Characteristic polynomial. polyeig - Polynomial eigenvalue problem. condeig - Condition number with respect to eigenvalues. hess - Hessenberg form. qz - QZ factorization for generalized eigenvalues. schur - Schur decomposition.,Dr WangZhengsheng - Lecture Notes,36,3矩陣的函數(shù) Matrix func

23、tions. expm - Matrix exponential. logm - Matrix logarithm. sqrtm - Matrix square root. funm - Evaluate general matrix function. Factorization utilities qrdelete - Delete a column or row from QR factorization. qrinsert - Insert a column or row into QR factorization. rsf2csf - Real block diagonal form

24、 to complex diagonal form. cdf2rdf - Complex diagonal form to real block diagonal form. balance - Diagonal scaling to improve eigenvalue accuracy. planerot - Givens plane rotation. cholupdate - rank 1 update to Cholesky factorization. qrupdate - rank 1 update to QR factorization.,Dr WangZhengsheng -

25、 Lecture Notes,37,4建立矩陣的函數(shù) 常用函數(shù)有: eye(size(A) 產(chǎn)生與A矩陣同階的單位矩陣 zeros(m,n) 產(chǎn)生0矩陣 ones(m,n) 產(chǎn)生幺矩陣 rand (m,n) 產(chǎn)生隨機(jī)元素的矩陣 Size(a) 返回包含兩個(gè)元素的向量。 Length(a) 返回向量的長(zhǎng)度。,Dr WangZhengsheng - Lecture Notes,38,常見(jiàn)矩陣生成函數(shù),Dr WangZhengsheng - Lecture Notes,39,5數(shù)組運(yùn)算 (1) 數(shù)組的加和減 (2) 數(shù)組的乘和除 (3) 數(shù)組的乘方,Dr WangZhengsheng - Lectu

26、re Notes,40,6 應(yīng)用舉例,1、行列式計(jì)算; 2、求解線(xiàn)性方程組; 3、解特征值問(wèn)題,Dr WangZhengsheng - Lecture Notes,41,Lecture 3 MATLAB圖形與可視化(Graphic),Dr WangZhengsheng - Lecture Notes,42,Lecture 3 Matlab圖形可視化,基本要求 (1)掌握?qǐng)D形窗口的創(chuàng)建與控制,以及圖形窗口的基本操作; (2)熟練掌握二維和三維繪圖基本的命令、線(xiàn)型控制; (3)初步掌握用特殊的圖形來(lái)表現(xiàn)特殊數(shù)據(jù)的性質(zhì),如面積圖、直方 圖、餅圖等。 (4)掌握坐標(biāo)軸的控制和圖形標(biāo)注命令及其用法。,D

27、r WangZhengsheng - Lecture Notes,43,Lecture 3 Matlab圖形可視化,A、二維平面圖形與坐標(biāo)系 1. 幾個(gè)基本的繪圖命令 a. 線(xiàn)性坐標(biāo)曲線(xiàn) plot 函數(shù)命令 plot 是 MATLAB 二維曲線(xiàn)繪圖中最簡(jiǎn)單、最重要、使用最廣泛的一個(gè)線(xiàn)性繪圖函數(shù)。它可以生成線(xiàn)段、曲線(xiàn)和參數(shù)方程曲線(xiàn)的函數(shù)圖形。 命令格式: plot(X,Y) plot(x1,y1,x2,y2,):綜合調(diào)用方式,Dr WangZhengsheng - Lecture Notes,44,Lecture 3 Matlab圖形可視化,用命令 plot(x,y)繪制函數(shù) y=cos(x)在

28、一個(gè)周期內(nèi)的圖形。 x=0:0.01:2*pi; y=cos(x); plot(x,y) 在同一圖形窗口中用命令 plot(x,y)繪出正弦余弦函數(shù)的圖形。 x=0:0.01:2*pi; y=sin(x);cos(x); plot(x,y),Dr WangZhengsheng - Lecture Notes,45,Lecture 3 Matlab圖形可視化,2.線(xiàn)型和顏色 plot 函數(shù)可以設(shè)置曲線(xiàn)的線(xiàn)段類(lèi)型、定點(diǎn)標(biāo)記和線(xiàn)段顏色。,常用的線(xiàn)段、顏色與定點(diǎn)標(biāo)記參數(shù),Dr WangZhengsheng - Lecture Notes,46,調(diào)用格式:plot(x,y,s) ,s 為類(lèi)型說(shuō)明參數(shù),是

29、字符串。 s 字符串可以是三種類(lèi)型的符號(hào)之一,也可以是線(xiàn)型與顏色和定點(diǎn)標(biāo)記與顏色的組合; 如果沒(méi)有 s 參數(shù),plot 將使用缺省設(shè)置(實(shí)線(xiàn),前七種顏色順序著色)繪制曲線(xiàn); 在當(dāng)前坐標(biāo)系中繪圖時(shí),每調(diào)入一次繪圖函數(shù),MATLAB將擦掉坐標(biāo)系中已有的圖形對(duì)象??梢杂?hold on 命令在一個(gè)坐標(biāo)系中增加新的圖形對(duì)象。注意MATLAB會(huì)根據(jù)新圖形的大小,重新改變坐標(biāo)系的比例。 用不同的線(xiàn)型和標(biāo)注來(lái)繪制兩條曲線(xiàn)。 t1=0:0.1:2*pi; t2=0:0.1:6; y1=sin(t1); y2=sqrt(t2); plot(t1,y1,hb,t2,y2,-g),Lecture 3 Matlab圖

30、形可視化,Dr WangZhengsheng - Lecture Notes,47,Lecture 3 Matlab圖形可視化,3. 圖形窗口的分割 有時(shí)需要在一個(gè)圖形窗口中顯示幾幅圖,以便對(duì)幾個(gè)函數(shù)進(jìn)行直觀(guān)、便捷的比較。由于每個(gè)繪圖命令在繪制數(shù)據(jù)圖像時(shí)都會(huì)將已有圖形覆蓋掉,而用 hold 命令不能實(shí)現(xiàn)同時(shí)顯示幾個(gè)不同坐標(biāo)尺寸下的圖形,用 figure 命令再創(chuàng)窗口又很難同時(shí)比較由不同的數(shù)據(jù)繪得的圖像。 實(shí)現(xiàn)在同一個(gè)窗口中同時(shí)顯示多個(gè)圖像的命令subplot。 使用格式為: subplot(m,n,i) 其含義為 :把圖形窗口分割為 m 行 n 列子窗口,然后選定第 i 個(gè)窗口為當(dāng)前窗口。 s

31、ubplot 命令不僅用于二維圖形,對(duì)三維圖形一樣適用。其本質(zhì)是將 figure 窗口分為幾個(gè)區(qū)域,再在每個(gè)區(qū)域內(nèi)分別繪圖。,Dr WangZhengsheng - Lecture Notes,48,Lecture 3 Matlab圖形可視化,用 subplot 函數(shù)把兩種不同的圖形綜合在一個(gè)圖形窗口中。 subplot(2,2,1) t=0.1:0.1:2*pi; y=sin(t); semilogx(t,y) grid on subplot(2,2,2) t=0:0.1:4*pi; y=sin(t); plot(t,y) subplot(2,2,3) x=1:0.01:5; y=exp(x

32、); plot(x,y,x,y,semilogx,plot) subplot(2,2,4) x=1:0.1:10; y=sqrt(x); plot(x,y,:rd),Dr WangZhengsheng - Lecture Notes,49,Lecture 3 Matlab圖形可視化,4. 坐標(biāo)系的調(diào)整 實(shí)現(xiàn)坐標(biāo)系的調(diào)整的命令是 axis 函數(shù)。 調(diào)用格式為: axis(xmin,xmax,ymin,ymax,zmin,zmax) 坐標(biāo)的最小值( xmin,ymin,zmin)必須小于相應(yīng)的最大值( xmax,ymax,zmax),否則會(huì)出錯(cuò)。 自動(dòng)坐標(biāo)系與用 axis 函數(shù)調(diào)整后的坐標(biāo)系的比較

33、。 subplot(2,1,1) t=0:0.1:4*pi; y=sin(t); plot(t,y) subplot(2,1,2) t=0:0.1:4*pi; y=sin(t); plot(t,y) axis(0,max(t),min(y),max(y),Dr WangZhengsheng - Lecture Notes,50,Lecture 3 Matlab圖形可視化,B、三維繪圖 1. 三維曲線(xiàn)繪圖命令 三維函數(shù) plot3主要用來(lái)表現(xiàn)單參數(shù)的三維曲線(xiàn),與二維繪圖函數(shù) plot 相比,只多了第三維數(shù)據(jù)。 其調(diào)用格式為: plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,) 參數(shù)的

34、含義如下: Xn、Yn、Zn:第一到三維數(shù)據(jù),是尺寸相等的向量/矩陣; s、s1、s2:是字符串,用來(lái)設(shè)置線(xiàn)型、顏色、數(shù)據(jù)點(diǎn)標(biāo)記。,Dr WangZhengsheng - Lecture Notes,51,Lecture 3 Matlab圖形可視化,x、y、z 是向量時(shí),plot3 命令的使用 t=0:0.1:8*pi; plot3(sin(t),cos(t),t) title(繪制螺旋線(xiàn)) %用命令 title 對(duì)圖形主題進(jìn)行標(biāo)注 xlabel(sin(t) ylabel(cos(t) zlabel(t) %命令 zlabel 用來(lái)指定 z 軸的數(shù)據(jù)名稱(chēng) grid on x、y、z 都是矩陣

35、時(shí),plot3 命令的使用 X,Y=meshgrid(-pi:0.1:pi); Z=sin(X)+cos(Y); plot3(X,Y,Z),Dr WangZhengsheng - Lecture Notes,52,Lecture 3 Matlab圖形可視化,2.三維曲面繪圖命令 為了繪制定義在平面區(qū)域 D =x0,xmy0,yn 上的三維曲面z=f(x,y) ,首先將x0,xm在 x 方向分成 m 份,將y0,yn在 y 方向分成 n 份,由各劃點(diǎn)分別作平行于坐標(biāo)軸的直線(xiàn),將區(qū)域 D 分成 mn 個(gè)小矩形;對(duì)于每個(gè)小矩形,計(jì)算出網(wǎng)格點(diǎn)的函數(shù)值,決定出空間中四個(gè)頂點(diǎn)( xi,yi,f(xi,yi

36、)),連接四個(gè)頂點(diǎn)得到一個(gè)空間的四邊形片;所有四邊形片連在一起構(gòu)成函數(shù) z=f(x,y)定義在區(qū)域 D 上的空間網(wǎng)格曲面。 因此,三維曲面繪圖命令可分為平面網(wǎng)格點(diǎn)的生成、在平面網(wǎng)格基礎(chǔ)上繪制三維網(wǎng)格及對(duì)三維表面進(jìn)行處理三個(gè)步驟。,Dr WangZhengsheng - Lecture Notes,53,a.平面網(wǎng)格點(diǎn)的生成 函數(shù)命令meshgrid 用來(lái)生成 x-y 平面上的網(wǎng)格點(diǎn)矩陣。 調(diào)用形式為: X,Y=meshgrid(x,y) X,Y=meshgrid(x) 等價(jià)于X,Y=meshgrid(x,x) 參數(shù)含義如下: x:是區(qū)間x0,xm上分劃的向量; y:是區(qū)間y0,yn上分劃的向量

37、; X,Y:輸出變量矩陣,矩陣 X 的行向量都是向量 x,矩陣 Y 的列向量都是向量 y。 函數(shù) meshgrid 將由兩個(gè)向量決定的區(qū)域轉(zhuǎn)換為對(duì)應(yīng)的網(wǎng)格點(diǎn)矩陣。,Lecture 3 Matlab圖形可視化,Dr WangZhengsheng - Lecture Notes,54,Lecture 3 Matlab圖形可視化,函數(shù) ,定義區(qū)域?yàn)?2,2-2,2。生成網(wǎng)格并計(jì)算其網(wǎng)格點(diǎn)上的函數(shù)值。 X,Y = meshgrid(-2:2:2, -2:2:2); X,Y %將劃分結(jié)果輸出至矩陣 ans = -2 0 2 -2 -2 -2 -2 0 2 0 0 0 -2 0 2 2 2 2 Z = X

38、 .* exp(-X.2 - Y.2); %計(jì)算網(wǎng)格點(diǎn)上的函數(shù)值賦予變量 Z Z = -0.0007 0 0.0007 -0.0366 0 0.0366 -0.0007 0 0.0007,Dr WangZhengsheng - Lecture Notes,55,Lecture 3 Matlab圖形可視化,b.三維網(wǎng)格命令 mesh 利用函數(shù)mesh生成網(wǎng)格曲面。 調(diào)用格式為: mesh(X,Y,Z,C):X、Y、Z、C 是同維數(shù)的矩陣,X、Y、Z 對(duì)應(yīng)空間上的網(wǎng)格點(diǎn),網(wǎng)格線(xiàn)顏色由C決定; mesh(X,Y,Z):相當(dāng)于上面的 C=Z 的情況; mesh(x,y,Z,C):x 和 y 是向量,Z

39、 和 C 是同維數(shù)的矩陣,網(wǎng)格曲面的網(wǎng)格頂點(diǎn)是( x(j),y(i),Z(i,j)),網(wǎng)格線(xiàn)的顏色由矩陣 C 決定; mesh(x,y,Z):相當(dāng)于上面的 C=Z 的情況; mesh(Z,C):等價(jià)于 mesh(x,y,Z,C),此時(shí)向量x=1:n,向量 y=1:m; mesh(Z):相當(dāng)于上面的 C=Z 的情況 mesh(.,PropertyName,PropertyValue,.):給函mesh設(shè)置曲面屬性。,Dr WangZhengsheng - Lecture Notes,56,Lecture 3 Matlab圖形可視化,用 mesh 命令繪制上例中的網(wǎng)格曲面。 X,Y = meshg

40、rid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.2 - Y.2); mesh(Z),與 mesh 相關(guān)的另外兩個(gè)函數(shù)是 meshc 和 meshz,它們的調(diào)用形式與 mesh 相同。,Dr WangZhengsheng - Lecture Notes,57,Lecture 3 Matlab圖形可視化,c. 三維表面命令 surf 函數(shù) surf 可實(shí)現(xiàn)對(duì)網(wǎng)格曲面片進(jìn)行著色,將網(wǎng)格曲面轉(zhuǎn)化為實(shí)曲面。surf 命令的調(diào)用格式與 mesh 相同。 利用三維網(wǎng)格表面命令 surf 繪制圖形。 z=peaks; %繪制山峰的圖像,將函數(shù)值賦予變量z surf(z) %對(duì)山峰

41、的圖像進(jìn)行著色處理 shading interp %函數(shù) shading 改變著色方式,Dr WangZhengsheng - Lecture Notes,58,Lecture 3 Matlab圖形可視化,3.等高線(xiàn)圖形的繪制 4.三維視圖可視效果的控制 5.柱面和球面的三維表達(dá)(書(shū)),Dr WangZhengsheng - Lecture Notes,59,Lecture 3 Matlab圖形可視化,a.柱面的表達(dá)cylinder cylinder命令中,柱面的軸線(xiàn)定義為 z 軸,只要給出母線(xiàn)的描述就可完成一個(gè)柱面。 調(diào)用格式為: X,Y,Z = cylinder(R,N); X,Y,Z =

42、 cylinder(R):缺省值 N=20; X,Y,Z = cylinder:缺省值 N=20,R=1,1。 R:是一描述柱面母線(xiàn)的向量; N:是旋轉(zhuǎn)柱面上的分割線(xiàn)條數(shù); X,Y,Z :是返回的x,y,z坐標(biāo)向量。 繪制一個(gè)柱面。 t=pi:0.01:3*pi; r=sin(t)+t; cylinder(r,30) shading interp,Dr WangZhengsheng - Lecture Notes,60,Lecture 3 Matlab圖形可視化,b.球面的表達(dá)sphere 調(diào)用格式為: X,Y,Z=sphere(N):產(chǎn)生一個(gè)( N+1)( N+1)的矩陣,然后用函數(shù) sur

43、f 命令繪制一個(gè)單位的球面,N 為設(shè)置分割線(xiàn)的條數(shù); X,Y,Z = sphere:缺省 值 N = 20。 畫(huà)一個(gè)球面。 X,Y,Z=sphere; surf(X,Y,Z),Dr WangZhengsheng - Lecture Notes,61,Lecture 3 Matlab圖形可視化,四、特殊圖形繪制 為了將抽象的數(shù)據(jù)表達(dá)得更形象,除了繪制二維、三維圖形外,還要用到直方圖、面積圖、餅圖等特殊圖形。,特殊圖形指令,Dr WangZhengsheng - Lecture Notes,62,Lecture 3 Matlab圖形可視化,1.面積圖命令 area 表現(xiàn)各個(gè)不同部分對(duì)整體所作的貢獻(xiàn)

44、 area(X,Y):與 plot 的命令的使用方法相似,將連線(xiàn)圖到 x 軸的那部分填上了顏色; area(Y):缺省值 X=1:SIZE(Y); area(X,Y,LEVEL)或 area(Y,LEVEL):填色部分為由連線(xiàn)圖到 y=level 的水平線(xiàn)之間的部分。 繪制一面積圖 X=-2:2; Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1; area(X,Y) legend(因素 1,因素 2,因素 3) grid on,Dr WangZhengsheng - Lecture Notes,63,Lecture 3 Matlab圖形可視化,2.直方圖命令 bar 直方圖常用

45、于統(tǒng)計(jì)數(shù)據(jù)的作圖, 有bar、bar3、barh 和 bar3h幾種函數(shù),其調(diào)用格式類(lèi)似。 以函數(shù) bar 為例: bar(X,Y):X 是橫坐標(biāo)向量,Y 可以是向量或矩陣。Y 是向量時(shí),每一個(gè)元素對(duì)應(yīng)一個(gè)豎條;Y 是 m 行 n 列矩陣時(shí),將畫(huà)出 m 組豎條,每組包括 n 個(gè)豎條; bar(Y):橫坐標(biāo)使用缺省值 X=1:M; bar(X,Y,WIDTH) 或 bar(Y,WIDTH):用 WIDTH 指定豎條的寬度,如果 WIDTH1,條與條之間將重合。缺省寬度為 0.8; bar(.,grouped):產(chǎn)生缺省的組合直方圖; bar(.,stacked):產(chǎn)生累積的直方圖; bar(.,

46、linespec):指定條的顏色; H = bar(.):返回條形圖對(duì)象的句柄。,Dr WangZhengsheng - Lecture Notes,64,Lecture 3 Matlab圖形可視化,用繪制直方圖的幾種命令繪制直方圖。 X=-2:2; Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1; subplot(2,2,1) bar(X,Y,r) xlabel(x) ylabel(y) colormap(cool) subplot(2,2,2) barh(X,Y,grouped) xlabel(y) ylabel(x) colormap(cool) subplot(2,2,

47、3) bar(X,Y,stacked) xlabel(x) ylabel(Sigma y) colormap(summer),subplot(2,2,4) barh(X,Y,stacked) xlabel(y);ylabel(Sigma x) colormap(summer),Dr WangZhengsheng - Lecture Notes,65,Lecture 3 Matlab圖形可視化,繪制三維直方圖。 X=-2:2; Y=3,5,2,4,1;5,4,2,3,5;3,4,5,2,1; subplot(2,2,1) bar3(X,Y,r) zlabel(y) ylabel(x) color

48、map(cool) subplot(2,2,2) bar3h(X,Y,grouped) ylabel(x) zlabel(y) colormap(cool) subplot(2,2,3) bar3(X,Y,stacked) ylabel(x) zlabel(Sigma y) colormap(summer),subplot(2,2,4) bar3h(X,Y,stacked) zlabel(x) ylabel(Sigma y) colormap(summer),Dr WangZhengsheng - Lecture Notes,66,Lecture 3 Matlab圖形可視化,3.餅圖命令 pi

49、e 餅圖又叫扇形圖,用于顯示向量中元素所占向量元素總和的百分比。 pie 和 pie3分別用于繪制二維和三維餅圖。 調(diào)用格式: pie(X):向量 X 的餅圖。把 X 的每一個(gè)元素在所有元素總和中占的比例表達(dá)出來(lái); pie(X,EXPLODE):向量EXPLODE(和向量X長(zhǎng)度相等)用于指定餅圖中抽出一部分的塊(非零值對(duì)應(yīng)的塊); pie(.,LABELS):LABELS 是用于標(biāo)注餅圖的字符串?dāng)?shù)組,其長(zhǎng)度必須和向量 X相等; H = pie(.):返回包括餅圖和文本對(duì)象句柄。,Dr WangZhengsheng - Lecture Notes,67,用函數(shù) pie 和 pie3 繪制餅圖。

50、x=200,360,120,400,320; subplot(2,2,1), pie(x,0 0 0 1 0) subplot(2,2,2), pie3(x,0 0 0 1 0) subplot(2,2,3), pie(x(2:5) subplot(2,2,4), x=0.1,0.12,0.21,0.34,0.11; pie3(x ,A,B,C,D,E),Lecture 3 Matlab圖形可視化,Dr WangZhengsheng - Lecture Notes,68,Lecture 3 Matlab圖形可視化,五、極坐標(biāo)、柱坐標(biāo)和球坐標(biāo)系下繪制圖形 1.極坐標(biāo)系下繪制圖形 ploar是直接

51、在極坐標(biāo)系下繪圖的命令 調(diào)用格式為: ploar(THETA, RHO,S) 其中 S 是字符串,用來(lái)控制圖形的線(xiàn)型。 繪制半徑為 2 的漸開(kāi)線(xiàn)。 rhe=2; theta=0:pi/20:4*pi; rho=rhe+theta*rhe; polar(theta,rho,r),Dr WangZhengsheng - Lecture Notes,69,Lecture 3 Matlab圖形可視化,六、坐標(biāo)軸的調(diào)整和圖形的標(biāo)注 1.坐標(biāo)軸調(diào)整命令,Dr WangZhengsheng - Lecture Notes,70,Lecture 3 Matlab圖形可視化,2.圖形標(biāo)注 坐標(biāo)軸和圖形標(biāo)題標(biāo)注

52、標(biāo)注坐標(biāo)軸 x、y 和 z 的命令函數(shù)為 xlabel、ylabel 和 zlabel ,調(diào)用格式為: xlabel(text) xlabel(text,Property1,PropertyValue1,Property2,PropertyValue2,.) H = xlabel(.) 返回坐標(biāo)軸標(biāo)注的句柄。 其中,text是要添加的標(biāo)注文本。Property是文本的屬性名,PropertyValue是屬性值(所用字體、大小、標(biāo)注角度等)。 圖形加標(biāo)題的函數(shù)為 title,其調(diào)用格式與坐標(biāo)軸標(biāo)注類(lèi)似。,Dr WangZhengsheng - Lecture Notes,71,Lecture 3

53、 Matlab圖形可視化,b. 圖例的標(biāo)注 legend命令實(shí)現(xiàn)不同圖例的說(shuō)明。其調(diào)用格式為: legend(string1,string2,string3, .) legend(string1,string2,string3,.,Pos) 按順序把字符串添加到相應(yīng)的曲線(xiàn)線(xiàn)型符號(hào)之后;Pos對(duì)圖例的位置作出設(shè)置和調(diào)整: 0 = 自動(dòng)把圖例置于最佳位置( 和圖中曲線(xiàn)重復(fù)最少); 1 = 置于圖形窗口的右上角( 缺省值); 2 = 置于圖形窗口的左上角; 3 = 置于圖形窗口的左下角; 4 = 置于圖形窗口的右下角; -1 = 置于圖形窗口的右側(cè)( 外部)。,Dr WangZhengsheng -

54、 Lecture Notes,72,3. 控制分格線(xiàn) 對(duì)二維和三維圖形都適用。 有三種用法: grid on:打開(kāi)分格線(xiàn)控制開(kāi)關(guān),以后繪制的圖形都帶有分格線(xiàn); grid off:關(guān)閉分格線(xiàn)控制開(kāi)關(guān),以后繪制的圖形都不帶分格線(xiàn); grid:用于實(shí)現(xiàn)分格線(xiàn)繪制切換。,Lecture 3 Matlab圖形可視化,Dr WangZhengsheng - Lecture Notes,73,Lecture 3 Matlab圖形可視化,繪制圖形,并用函數(shù) xlabel、title 和 legend 命令進(jìn)行標(biāo)注。 t=0:0.1:4*pi; y=sin(t); y1=cos(t); plot(t,y,:,t

55、,y1,r*) xlabel(x 軸 (0-4pi),fontsize,12,fontweight,bold) ylabel(y 軸,fontsize,12,fontweight,bold) title(繪制正弦波和余弦波 Pos=1,fontsize,10,fontweight,bold,fontangle,italic) text(pi,0,leftarrowsin(pi)=0) text(pi,-1,leftarrowcos(pi)=-1) text(pi/2,0.9,uparrowsin(pi/2)=,num2str(sin(pi/2) text(0,-0.6,繪圖日期:,date)

56、text(0,-0.8,MATLAB 版本:,version) legend(正弦波,余弦波) figure(2) plot(t,y,:,t,y1,r*) title(繪制正弦波和余弦波 Pos=0,fontsize,10,fontweight,bold,fontangle,italic) legend(正弦波,余弦波,0) grid on figure(3) plot(t,y,:,t,y1,r*) title(繪制正弦波和余弦波 Pos=-1,fontsize,10,fontweight,bold,fontangle,italic),Dr WangZhengsheng - Lecture N

57、otes,74,Lecture 3 Matlab圖形可視化,text(7*pi/2,0,rightarrowcos(pi*7/2)=0) legend(正弦波,余弦波,-1) grid off,Dr WangZhengsheng - Lecture Notes,75,Lecture 4 MATLAB符號(hào)運(yùn)算(Symbolic),Dr WangZhengsheng - Lecture Notes,76,MATLAB,Matlab 符號(hào)運(yùn)算,Dr WangZhengsheng - Lecture Notes,77,Matlab 符號(hào)運(yùn)算介紹,Matlab 符號(hào)運(yùn)算是通過(guò)符號(hào)數(shù)學(xué)工具箱(Symbol

58、ic Math Toolbox)來(lái)實(shí)現(xiàn)的。Matlab 符號(hào)數(shù)學(xué)工具箱是建立在功能強(qiáng)大的 Maple 軟件的基礎(chǔ)上的,當(dāng) Matlab 進(jìn)行符號(hào)運(yùn)算時(shí),它就請(qǐng)求 Maple 軟件去計(jì)算并將結(jié)果返回給 Matlab。,Matlab 的符號(hào)數(shù)學(xué)工具箱可以完成幾乎所有得符號(hào)運(yùn)算功能。主要包括:符號(hào)表達(dá)式的運(yùn)算,符號(hào)表達(dá)式的復(fù)合、化簡(jiǎn),符號(hào)矩陣的運(yùn)算,符號(hào)微積分、符號(hào)作圖,符號(hào)代數(shù)方程求解,符號(hào)微分方程求解等。此外,該工具箱還支持可變精度運(yùn)算,即支持以指定的精度返回結(jié)果。,Dr WangZhengsheng - Lecture Notes,78,Matlab 符號(hào)運(yùn)算特點(diǎn),計(jì)算以推理方式進(jìn)行,因此不受

59、計(jì)算誤差累積所帶來(lái)的困擾。,符號(hào)計(jì)算指令的調(diào)用比較簡(jiǎn)單,與數(shù)學(xué)教科書(shū)上的公式相近。,符號(hào)計(jì)算可以給出完全正確的封閉解,或任意精度的數(shù)值解(封閉解不存在時(shí))。,符號(hào)計(jì)算所需的運(yùn)行時(shí)間相對(duì)較長(zhǎng)。,Dr WangZhengsheng - Lecture Notes,79,Matlab 符號(hào)運(yùn)算舉例,求一元二次方程 ax2 + bx + c = 0 的根, solve(a*x2+b*x+c=0),求的根 f (x) = (cos x)2 的一次導(dǎo)數(shù), x=sym(x); diff(cos(x)2),計(jì)算 f (x) = x2 在區(qū)間 a, b 上的定積分, syms a b x; int(x2,a,b),Dr WangZhengsheng - Lecture Notes,80,在進(jìn)行符號(hào)運(yùn)算時(shí),必須先定義基本的符號(hào)對(duì)象,可以是符號(hào)常量、

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論