MATLAB教程PPT課件.ppt_第1頁
MATLAB教程PPT課件.ppt_第2頁
MATLAB教程PPT課件.ppt_第3頁
MATLAB教程PPT課件.ppt_第4頁
MATLAB教程PPT課件.ppt_第5頁
免費預覽已結(jié)束,剩余186頁可下載查看

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

10、標),x ( i ) :向量 x 中的第 i 個元素 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 列交叉線上的元素組成的子矩陣。,可利用冒號提取矩陣 的整行或整列。,例: A(1, :) A(:, 1:3) A(:, :),Dr WangZhengsheng - Lecture Notes,16,Matlab幫助系統(tǒng),Dr WangZhengs

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

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

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

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

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

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

17、31,利用M文件建立矩陣: 對于比較大且比較復雜的矩陣,可以為它專門建立一個M文件。其步驟為: 第一步:使用編輯程序輸入文件內(nèi)容。 第二步:把輸入的內(nèi)容以純文本方式存盤(設文件名為mymatrix.m)。 第三步:在MATLAB命令窗口中輸入mymatrix,就會自動建立一個名為AM的矩陣,可供以后顯示和調(diào)用。 子矩陣操作,建立矩陣,Dr WangZhengsheng - Lecture Notes,32,2矩陣的基本運算 ()矩陣轉(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)生隨機元素的矩陣 Size(a) 返回包含兩個元素的向量。 Length(a) 返回向量的長度。,Dr WangZhengsheng - Lecture Notes,38,常見矩陣生成函數(shù),Dr WangZhengsheng - Lecture Notes,39,5數(shù)組運算 (1) 數(shù)組的加和減 (2) 數(shù)組的乘和除 (3) 數(shù)組的乘方,Dr WangZhengsheng - Lectu

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

27、r WangZhengsheng - Lecture Notes,43,Lecture 3 Matlab圖形可視化,A、二維平面圖形與坐標系 1. 幾個基本的繪圖命令 a. 線性坐標曲線 plot 函數(shù)命令 plot 是 MATLAB 二維曲線繪圖中最簡單、最重要、使用最廣泛的一個線性繪圖函數(shù)。它可以生成線段、曲線和參數(shù)方程曲線的函數(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、一個周期內(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.線型和顏色 plot 函數(shù)可以設置曲線的線段類型、定點標記和線段顏色。,常用的線段、顏色與定點標記參數(shù),Dr WangZhengsheng - Lecture Notes,46,調(diào)用格式:plot(x,y,s) ,s 為類型說明參數(shù),是

29、字符串。 s 字符串可以是三種類型的符號之一,也可以是線型與顏色和定點標記與顏色的組合; 如果沒有 s 參數(shù),plot 將使用缺省設置(實線,前七種顏色順序著色)繪制曲線; 在當前坐標系中繪圖時,每調(diào)入一次繪圖函數(shù),MATLAB將擦掉坐標系中已有的圖形對象??梢杂?hold on 命令在一個坐標系中增加新的圖形對象。注意MATLAB會根據(jù)新圖形的大小,重新改變坐標系的比例。 用不同的線型和標注來繪制兩條曲線。 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ù)進行直觀、便捷的比較。由于每個繪圖命令在繪制數(shù)據(jù)圖像時都會將已有圖形覆蓋掉,而用 hold 命令不能實現(xiàn)同時顯示幾個不同坐標尺寸下的圖形,用 figure 命令再創(chuàng)窗口又很難同時比較由不同的數(shù)據(jù)繪得的圖像。 實現(xiàn)在同一個窗口中同時顯示多個圖像的命令subplot。 使用格式為: subplot(m,n,i) 其含義為 :把圖形窗口分割為 m 行 n 列子窗口,然后選定第 i 個窗口為當前窗口。 s

31、ubplot 命令不僅用于二維圖形,對三維圖形一樣適用。其本質(zhì)是將 figure 窗口分為幾個區(qū)域,再在每個區(qū)域內(nèi)分別繪圖。,Dr WangZhengsheng - Lecture Notes,48,Lecture 3 Matlab圖形可視化,用 subplot 函數(shù)把兩種不同的圖形綜合在一個圖形窗口中。 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. 坐標系的調(diào)整 實現(xiàn)坐標系的調(diào)整的命令是 axis 函數(shù)。 調(diào)用格式為: axis(xmin,xmax,ymin,ymax,zmin,zmax) 坐標的最小值( xmin,ymin,zmin)必須小于相應的最大值( xmax,ymax,zmax),否則會出錯。 自動坐標系與用 axis 函數(shù)調(dià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. 三維曲線繪圖命令 三維函數(shù) plot3主要用來表現(xiàn)單參數(shù)的三維曲線,與二維繪圖函數(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:是字符串,用來設置線型、顏色、數(shù)據(jù)點標記。,Dr WangZhengsheng - Lecture Notes,51,Lecture 3 Matlab圖形可視化,x、y、z 是向量時,plot3 命令的使用 t=0:0.1:8*pi; plot3(sin(t),cos(t),t) title(繪制螺旋線) %用命令 title 對圖形主題進行標注 xlabel(sin(t) ylabel(cos(t) zlabel(t) %命令 zlabel 用來指定 z 軸的數(shù)據(jù)名稱 grid on x、y、z 都是矩陣

35、時,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 份,由各劃點分別作平行于坐標軸的直線,將區(qū)域 D 分成 mn 個小矩形;對于每個小矩形,計算出網(wǎng)格點的函數(shù)值,決定出空間中四個頂點( xi,yi,f(xi,yi

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

37、; X,Y:輸出變量矩陣,矩陣 X 的行向量都是向量 x,矩陣 Y 的列向量都是向量 y。 函數(shù) meshgrid 將由兩個向量決定的區(qū)域轉(zhuǎn)換為對應的網(wǎng)格點矩陣。,Lecture 3 Matlab圖形可視化,Dr WangZhengsheng - Lecture Notes,54,Lecture 3 Matlab圖形可視化,函數(shù) ,定義區(qū)域為-2,2-2,2。生成網(wǎng)格并計算其網(wǎng)格點上的函數(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); %計算網(wǎng)格點上的函數(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 對應空間上的網(wǎng)格點,網(wǎng)格線顏色由C決定; mesh(X,Y,Z):相當于上面的 C=Z 的情況; mesh(x,y,Z,C):x 和 y 是向量,Z

39、 和 C 是同維數(shù)的矩陣,網(wǎng)格曲面的網(wǎng)格頂點是( x(j),y(i),Z(i,j)),網(wǎng)格線的顏色由矩陣 C 決定; mesh(x,y,Z):相當于上面的 C=Z 的情況; mesh(Z,C):等價于 mesh(x,y,Z,C),此時向量x=1:n,向量 y=1:m; mesh(Z):相當于上面的 C=Z 的情況 mesh(.,PropertyName,PropertyValue,.):給函mesh設置曲面屬性。,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 相關的另外兩個函數(shù)是 meshc 和 meshz,它們的調(diào)用形式與 mesh 相同。,Dr WangZhengsheng - Lecture Notes,57,Lecture 3 Matlab圖形可視化,c. 三維表面命令 surf 函數(shù) surf 可實現(xiàn)對網(wǎng)格曲面片進行著色,將網(wǎng)格曲面轉(zhuǎn)化為實曲面。surf 命令的調(diào)用格式與 mesh 相同。 利用三維網(wǎng)格表面命令 surf 繪制圖形。 z=peaks; %繪制山峰的圖像,將函數(shù)值賦予變量z surf(z) %對山峰

41、的圖像進行著色處理 shading interp %函數(shù) shading 改變著色方式,Dr WangZhengsheng - Lecture Notes,58,Lecture 3 Matlab圖形可視化,3.等高線圖形的繪制 4.三維視圖可視效果的控制 5.柱面和球面的三維表達(書),Dr WangZhengsheng - Lecture Notes,59,Lecture 3 Matlab圖形可視化,a.柱面的表達cylinder cylinder命令中,柱面的軸線定義為 z 軸,只要給出母線的描述就可完成一個柱面。 調(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:是一描述柱面母線的向量; N:是旋轉(zhuǎn)柱面上的分割線條數(shù); X,Y,Z :是返回的x,y,z坐標向量。 繪制一個柱面。 t=pi:0.01:3*pi; r=sin(t)+t; cylinder(r,30) shading interp,Dr WangZhengsheng - Lecture Notes,60,Lecture 3 Matlab圖形可視化,b.球面的表達sphere 調(diào)用格式為: X,Y,Z=sphere(N):產(chǎn)生一個( N+1)( N+1)的矩陣,然后用函數(shù) sur

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

44、 area(X,Y):與 plot 的命令的使用方法相似,將連線圖到 x 軸的那部分填上了顏色; area(Y):缺省值 X=1:SIZE(Y); area(X,Y,LEVEL)或 area(Y,LEVEL):填色部分為由連線圖到 y=level 的水平線之間的部分。 繪制一面積圖 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)計數(shù)據(jù)的作圖, 有bar、bar3、barh 和 bar3h幾種函數(shù),其調(diào)用格式類似。 以函數(shù) bar 為例: bar(X,Y):X 是橫坐標向量,Y 可以是向量或矩陣。Y 是向量時,每一個元素對應一個豎條;Y 是 m 行 n 列矩陣時,將畫出 m 組豎條,每組包括 n 個豎條; bar(Y):橫坐標使用缺省值 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(.):返回條形圖對象的句柄。,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 的每一個元素在所有元素總和中占的比例表達出來; pie(X,EXPLODE):向量EXPLODE(和向量X長度相等)用于指定餅圖中抽出一部分的塊(非零值對應的塊); pie(.,LABELS):LABELS 是用于標注餅圖的字符串數(shù)組,其長度必須和向量 X相等; H = pie(.):返回包括餅圖和文本對象句柄。,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圖形可視化,五、極坐標、柱坐標和球坐標系下繪制圖形 1.極坐標系下繪制圖形 ploar是直接

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

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

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

54、 Lecture Notes,72,3. 控制分格線 對二維和三維圖形都適用。 有三種用法: grid on:打開分格線控制開關,以后繪制的圖形都帶有分格線; grid off:關閉分格線控制開關,以后繪制的圖形都不帶分格線; grid:用于實現(xiàn)分格線繪制切換。,Lecture 3 Matlab圖形可視化,Dr WangZhengsheng - Lecture Notes,73,Lecture 3 Matlab圖形可視化,繪制圖形,并用函數(shù) xlabel、title 和 legend 命令進行標注。 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符號運算(Symbolic),Dr WangZhengsheng - Lecture Notes,76,MATLAB,Matlab 符號運算,Dr WangZhengsheng - Lecture Notes,77,Matlab 符號運算介紹,Matlab 符號運算是通過符號數(shù)學工具箱(Symbol

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

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

溫馨提示

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

評論

0/150

提交評論