MATLAB教程(圖形圖像處理及MATLAB實(shí)現(xiàn))_第1頁
MATLAB教程(圖形圖像處理及MATLAB實(shí)現(xiàn))_第2頁
MATLAB教程(圖形圖像處理及MATLAB實(shí)現(xiàn))_第3頁
MATLAB教程(圖形圖像處理及MATLAB實(shí)現(xiàn))_第4頁
MATLAB教程(圖形圖像處理及MATLAB實(shí)現(xiàn))_第5頁
已閱讀5頁,還剩187頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

MATLAB1MATLAB簡介1DrWangZhengsheng-LectureNotes第1頁,共192頁。Matlab簡介在歐美各高等院校,Matlab已經(jīng)成為線性代數(shù)、數(shù)值分析、數(shù)理統(tǒng)計(jì)、自動(dòng)控制理論、數(shù)字信號處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等課程的基本教學(xué)工具,已成為大學(xué)生必須掌握的基本技能之一。Matlab功能強(qiáng)大、簡單易學(xué)、編程效率高,深受廣大科技工作者的歡迎。

Matlab是一種廣泛應(yīng)用于工程計(jì)算及數(shù)值分析領(lǐng)域的新型高級語言,自1984年推向市場以來,歷經(jīng)二十多年的發(fā)展與競爭,現(xiàn)已成為國際公認(rèn)的最優(yōu)秀的工程應(yīng)用開發(fā)環(huán)境。2DrWangZhengsheng-LectureNotes第2頁,共192頁。Matlab簡介

Matlab:MatrixLaboratory矩陣實(shí)驗(yàn)室

Matlab的發(fā)展1980年,Moler教授用Fortran

語言編寫了集命令翻譯、

科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng)。1984年,Moler等成立了TheMathWorks的公司,用

C語言完全改寫Matlab,并推出第一個(gè)商業(yè)版。增添圖形圖像處理、符號運(yùn)算、以及與其他流行軟件

的接口功能,使得Matlab的功能越來越強(qiáng)大。到九十年代,在國際上30幾個(gè)數(shù)學(xué)類科技應(yīng)用軟件中,

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

1994年,Matlab4.2(得到廣泛重視和應(yīng)用)1999年,Matlab5.3(真正實(shí)現(xiàn)32位運(yùn)算)

2002年,Matlab6.5(采用JIT加速器)2004年,Matlab7.0自2006年起,Matlab每年更新兩次Matlab簡介4DrWangZhengsheng-LectureNotes第4頁,共192頁。購買(下載)Matlab軟件Matlab的安裝插入光盤,自動(dòng)運(yùn)行;或點(diǎn)擊安裝程序setup.exe必須安裝的部件MatlabSymbolicMathToolboxExtendedSymbolicMath這里以Matlab7.0.4為例

自R2008a開始增加了激活要求5DrWangZhengsheng-LectureNotes第5頁,共192頁。Matlab的特點(diǎn)與功能Matlab具有很強(qiáng)的數(shù)值計(jì)算功能Matlab以矩陣作為數(shù)據(jù)操作的基本單位,

但無需預(yù)先指定矩陣維數(shù)(動(dòng)態(tài)定維)按照IEEE的數(shù)值計(jì)算標(biāo)準(zhǔn)進(jìn)行計(jì)算提供十分豐富的數(shù)值計(jì)算函數(shù),方便計(jì)算,提高效率Matlab命令與數(shù)學(xué)中的符號、公式非常接近,

可讀性強(qiáng),容易掌握Matlab是一個(gè)交互式軟件系統(tǒng)輸入一條命令,立即就可以得出該命令的結(jié)果

6DrWangZhengsheng-LectureNotes第6頁,共192頁。Matlab的特點(diǎn)與功能Matlab符號計(jì)算功能Matlab和著名的符號計(jì)算語言Maple相結(jié)合Matlab的編程功能Matlab具有程序結(jié)構(gòu)控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦蛘Z言特征,而且簡單易學(xué)、編程效率高。通過Matlab進(jìn)行編程完成特定的任務(wù)Matlab的繪圖功能Matlab提供豐富的繪圖命令,

很方便實(shí)現(xiàn)數(shù)據(jù)的可視化7DrWangZhengsheng-LectureNotes第7頁,共192頁。Matlab豐富的工具箱(toolbox)Matlab的特點(diǎn)與功能根據(jù)專門領(lǐng)域中的特殊需要而設(shè)計(jì)的各種可選工具箱Matlab的Simulink動(dòng)態(tài)仿真集成環(huán)境提供建立系統(tǒng)模型、選擇仿真參數(shù)和數(shù)值算法、啟動(dòng)仿真程序?qū)υ撓到y(tǒng)進(jìn)行仿真、設(shè)置不同的輸出方式來觀察仿真結(jié)果等功能SymbolicMathPDEOptimizationSignalprocessImageProcessStatisticsControlSystemSystemIdentification……8DrWangZhengsheng-LectureNotes第8頁,共192頁。Matlab的基本用法Matlab系統(tǒng)的啟動(dòng)使用Windows“開始”菜單運(yùn)行Matlab系統(tǒng)啟動(dòng)程序matlab雙擊Matlab快捷圖標(biāo)Matlab系統(tǒng)的退出在Matlab主窗口File

菜單中選擇ExitMatlab在Matlab命令窗口輸入exit或quit單擊Matlab主窗口的“關(guān)閉”按鈕9DrWangZhengsheng-LectureNotes第9頁,共192頁。Matlab的工作界面命令窗口當(dāng)前工作目錄當(dāng)前工作空間輸入命令的歷史記錄命令提示符10DrWangZhengsheng-LectureNotes第10頁,共192頁。

定義矩陣:直接輸入法矩陣用方括號“[]”括起例:>>

A=[123;456;789]矩陣同一行中的元素之間用空格或逗號分隔矩陣行與行之間用分號分開直接輸入法中,分號可以用回車代替例:矩陣Matlab的操作對象是矩陣>>:命令提示符,不用輸入

回車:運(yùn)行所輸入的命令11DrWangZhengsheng-LectureNotes第11頁,共192頁。矩陣元素可以是任何數(shù)值表達(dá)式例:>>

x=[-1.3,

sqrt(3),

(1+2+3)*4/5]矩陣元素賦值矩陣元素的單獨(dú)賦值例:>>

x(5)=abs(x(1))例:>>

x(5)=abs(x(6))

??Matlab自動(dòng)將向量x

的長度擴(kuò)展到5,并將未賦值部分置零。12DrWangZhengsheng-LectureNotes第12頁,共192頁。大矩陣可以把小矩陣作為其元素矩陣元素賦值例:>>

A=[A;

111213]在原矩陣的下方加一行如何在原矩陣的右邊添加一列?13DrWangZhengsheng-LectureNotes第13頁,共192頁。單個(gè)元素的引用例:>>

A(2,3)矩陣元素的引用多個(gè)元素的引用:冒號的特殊用法利用小括弧和元素所在的位置(下標(biāo))x

(

i

):向量x中的第i個(gè)元素A

(

i,

j

):矩陣A中的第i行,第j列元素a:b:c產(chǎn)生一個(gè)由等差序列組成的向量;a是首項(xiàng),b是公差,c確定最后一項(xiàng);若b=1,則b可以省略。例:>>

x=1:2:5>>

y=1:2:6例:>>

x=2:1:5>>

y=2:5例:>>

x=3:2:114DrWangZhengsheng-LectureNotes第14頁,共192頁。例:>>

x(1:3)>>

A(3,1:3)矩陣元素的引用A(i:j,m:n)表示由矩陣A的第

i

到第j

行和第m

到第n列交叉線上的元素組成的子矩陣??衫妹疤柼崛【仃嚨恼谢蛘?。例:>>

A(1,:)>>

A(:,1:3)>>

A(:,:)15DrWangZhengsheng-LectureNotes第15頁,共192頁。Matlab幫助系統(tǒng)聯(lián)機(jī)幫助

help

顯示指定命令的簡短使用說明例:>>

helpeig>>

helphelp

詳細(xì)使用幫助

doc

以網(wǎng)頁形式顯示指定命令的幫助頁例:>>

doceig

其它相關(guān)命令helpdesk、helpwin16DrWangZhengsheng-LectureNotes第16頁,共192頁。Matlab查找命令

lookfor

按指定的關(guān)鍵詞查詢與之相關(guān)的命令例:>>

lookforinverse

which

顯示指定函數(shù)所在的目錄例:>>

whicheig

其它相關(guān)命令cd、dir、more17DrWangZhengsheng-LectureNotes第17頁,共192頁。變量命名原則Matlab變量以字母開頭后面可以跟字母、數(shù)字和下劃線

長度不超過63個(gè)字符(6.5版本以前為

19個(gè))變量名區(qū)分字母的大小寫

Matlab語句的通常形式變量=

表達(dá)式表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來的式子,其結(jié)果被賦給賦值號“=”左邊的變量18DrWangZhengsheng-LectureNotes第18頁,共192頁。分號和續(xù)行符的作用Matlab變量若不想在屏幕上輸出結(jié)果,可以在語句最后加分號

如果語句很長,可用續(xù)行符“…”(三個(gè)點(diǎn))續(xù)行

續(xù)行符的前面最好留一個(gè)空格例:19DrWangZhengsheng-LectureNotes第19頁,共192頁。變量的查詢Matlab變量

who

顯示工作空間中的所有變量

whos

查看工作空間中變量的詳細(xì)屬性20DrWangZhengsheng-LectureNotes第20頁,共192頁。系統(tǒng)預(yù)定義變量Matlab變量

pi

:圓周率

,其值為

imag(log(-1))

inf,Inf

:無窮大

nan,NaN

:Not-a-Number,一個(gè)不定值,如0/0

eps

:浮點(diǎn)運(yùn)算相對精度

特殊變量

ans

i,j

:虛部單位,即應(yīng)盡量避免給系統(tǒng)預(yù)定義變量重新賦值!21DrWangZhengsheng-LectureNotes第21頁,共192頁。數(shù)與算術(shù)表達(dá)式Matlab數(shù)值運(yùn)算

Matlab中的數(shù)默認(rèn)是雙精度實(shí)數(shù),表示方法同C語言3,-9,0.4,1.603e-12,3.23e+20

浮點(diǎn)運(yùn)算的相對誤差為

eps

浮點(diǎn)數(shù)表示范圍為:10-308

~10308

復(fù)數(shù)的輸入

z=3+4i

(4與i之間不能有空格)

z=3+4*i復(fù)數(shù)作為矩陣元素輸入時(shí),加號兩邊不能有空格!22DrWangZhengsheng-LectureNotes第22頁,共192頁。數(shù)學(xué)運(yùn)算符

+

加法Matlab數(shù)值運(yùn)算

-

減法

*

乘法

/和

\

除法(右除和左除)

^

冪運(yùn)算命令分隔符:逗號和分號23DrWangZhengsheng-LectureNotes第23頁,共192頁。輸出格式Matlab的輸出

Matlab以雙精度執(zhí)行所有的運(yùn)算,運(yùn)算結(jié)果可以在屏幕上輸出,同時(shí)賦給指定變量;若無指定變量,則系統(tǒng)會(huì)自動(dòng)將結(jié)果賦給變量“ans”

Matlab中數(shù)的輸出格式可以通過format

命令指定format只改變變量的輸出格式,但不會(huì)影響變量的值!24DrWangZhengsheng-LectureNotes第24頁,共192頁。各種format格式格式解釋例format短格式(缺省顯示格式),同short3.1416formatshort短格式(缺省顯示格式),只顯示5位3.1416formatlong長格式,雙精度數(shù)15位,單精度數(shù)7位3.14159265358979formatshorte短格式e方式(科學(xué)計(jì)數(shù)格式)3.1416e+000formatlonge長格式e方式3.141592653589793e+000formatshortg短格式g方式3.1416formatlongg長格式g方式3.14159265358979formatcompact壓縮格式formatloose自由格式format+/formatbank/formatrat/formathex(詳情查看聯(lián)機(jī)幫助)25DrWangZhengsheng-LectureNotes第25頁,共192頁。變量的存儲(chǔ)存儲(chǔ)當(dāng)前工作空間中的變量

save

將所有變量存入文件matlab.mat

savemydata

將所有變量存入指定文件mydata.mat存儲(chǔ)指定的變量

savemydata.mat

將所有變量存入文件mydata.matsave

文件名變量名列表例:>>

savemydataAxz

變量名列表中各變量之間用空格分隔26DrWangZhengsheng-LectureNotes第26頁,共192頁。變量的讀取將數(shù)據(jù)文件中的變量載入當(dāng)前工作空間

loadmydata

載入數(shù)據(jù)文件中的所有變量

loadmydata

Ax

從數(shù)據(jù)文件中提取指定變量清除當(dāng)前工作空間中的變量

clear清除當(dāng)前工作空間中的所有變量

clearAx

清除指定的變量27DrWangZhengsheng-LectureNotes第27頁,共192頁。幾個(gè)小技巧

Matlab的命令記憶功能:上下箭頭鍵命令補(bǔ)全功能:Tab鍵

可以先輸入命令的前幾個(gè)字符,再按上下鍵縮小搜索范圍用Esc鍵刪除命令行28DrWangZhengsheng-LectureNotes第28頁,共192頁。Lecture2

MATLAB矩陣(數(shù)值)運(yùn)算29DrWangZhengsheng-LectureNotes第29頁,共192頁。利用函數(shù)建立數(shù)值矩陣:MATLAB提供了許多生成和操作矩陣的函數(shù),可以利用它們?nèi)ソ⒕仃嚒@?reshape函數(shù)和diag函數(shù)等。reshape函數(shù)用于建立數(shù)值矩陣。diag函數(shù)用于產(chǎn)生對角陣。利用M文件建立矩陣:對于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件。其步驟為:第一步:使用編輯程序輸入文件內(nèi)容。第二步:把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。第三步:在MATLAB命令窗口中輸入mymatrix,就會(huì)自動(dòng)建立一個(gè)名為AM的矩陣,可供以后顯示和調(diào)用。1.建立矩陣30DrWangZhengsheng-LectureNotes第30頁,共192頁。利用M文件建立矩陣:對于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件。其步驟為:第一步:使用編輯程序輸入文件內(nèi)容。第二步:把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。第三步:在MATLAB命令窗口中輸入mymatrix,就會(huì)自動(dòng)建立一個(gè)名為AM的矩陣,可供以后顯示和調(diào)用。子矩陣操作1.建立矩陣31DrWangZhengsheng-LectureNotes第31頁,共192頁。2.矩陣的基本運(yùn)算(1)矩陣轉(zhuǎn)置(2)矩陣加和減(3)矩陣乘法(4)矩陣除法A\b=inv(A)*b(5)矩陣的乘方a^232DrWangZhengsheng-LectureNotes第32頁,共192頁。3.矩陣的函數(shù)>>helpmatfunMatrixfunctions-numericallinearalgebra.

Matrixanalysis.norm-Matrixorvectornorm.normest-Estimatethematrix2-norm.rank-Matrixrank.det-Determinant.trace-Sumofdiagonalelements.null-Nullspace.orth-Orthogonalization.rref-Reducedrowechelonform.subspace-Anglebetweentwosubspaces.

33DrWangZhengsheng-LectureNotes第33頁,共192頁。3.矩陣的函數(shù)Linearequations.\and/-Linearequationsolution;use"helpslash".inv-Matrixinverse.

rcond-LAPACKreciprocalconditionestimatorcond-Conditionnumberwithrespecttoinversion.condest-1-normconditionnumberestimate.normest1-1-normestimate.chol-Choleskyfactorization.cholinc-IncompleteCholeskyfactorization.lu-LUfactorization.luinc-IncompleteLUfactorization.qr-Orthogonal-triangulardecomposition.lsqnonneg-Linearleastsquareswithnonnegativityconstraints.pinv-Pseudoinverse.lscov-Leastsquareswithknowncovariance.

34DrWangZhengsheng-LectureNotes第34頁,共192頁。3.矩陣的函數(shù)Eigenvaluesandsingularvalues.eig-Eigenvaluesandeigenvectors.

svd-Singularvaluedecomposition.gsvd-Generalizedsingularvaluedecomposition.eigs-Afeweigenvalues.svds-Afewsingularvalues.poly-Characteristicpolynomial.polyeig-Polynomialeigenvalueproblem.condeig-Conditionnumberwithrespecttoeigenvalues.hess-Hessenbergform.qz-QZfactorizationforgeneralizedeigenvalues.schur-Schurdecomposition.

35DrWangZhengsheng-LectureNotes第35頁,共192頁。3.矩陣的函數(shù)

Matrixfunctions.expm-Matrixexponential.logm-Matrixlogarithm.sqrtm-Matrixsquareroot.funm-Evaluategeneralmatrixfunction.

Factorizationutilitiesqrdelete-DeleteacolumnorrowfromQRfactorization.qrinsert-InsertacolumnorrowintoQRfactorization.rsf2csf-Realblockdiagonalformtocomplexdiagonalform.cdf2rdf-Complexdiagonalformtorealblockdiagonalform.balance-Diagonalscalingtoimproveeigenvalueaccuracy.planerot-Givensplanerotation.cholupdate-rank1updatetoCholeskyfactorization.qrupdate-rank1updatetoQRfactorization.36DrWangZhengsheng-LectureNotes第36頁,共192頁。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)返回向量的長度。37DrWangZhengsheng-LectureNotes第37頁,共192頁。常見矩陣生成函數(shù)zeros(m,n)生成一個(gè)m行n列的零矩陣,m=n時(shí)可簡寫為zeros(n)ones(m,n)生成一個(gè)m行n列的元素全為1的矩陣,

m=n時(shí)可寫為ones(n)eye(m,n)生成一個(gè)主對角線全為1的m行n列矩陣,

m=n時(shí)可簡寫為eye(n),即為n維單位矩陣diag(X)若X是矩陣,則diag(X)為X的主對角線向量若X是向量,diag(X)產(chǎn)生以X為主對角線的對角矩陣tril(A)提取一個(gè)矩陣的下三角部分triu(A)提取一個(gè)矩陣的上三角部分rand(m,n)產(chǎn)生0~1間均勻分布的隨機(jī)矩陣m=n時(shí)簡寫為rand(n)randn(m,n)產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣

m=n時(shí)簡寫為randn(n)其它特殊矩陣生成函數(shù):magic、hilb、pascal38DrWangZhengsheng-LectureNotes第38頁,共192頁。5.?dāng)?shù)組運(yùn)算(1)數(shù)組的加和減(2)數(shù)組的乘和除(3)數(shù)組的乘方39DrWangZhengsheng-LectureNotes第39頁,共192頁。6應(yīng)用舉例1、行列式計(jì)算;2、求解線性方程組;3、解特征值問題40DrWangZhengsheng-LectureNotes第40頁,共192頁。Lecture3

MATLAB圖形與可視化

(Graphic)41DrWangZhengsheng-LectureNotes第41頁,共192頁。Lecture3Matlab圖形可視化

基本要求(1)掌握圖形窗口的創(chuàng)建與控制,以及圖形窗口的基本操作;(2)熟練掌握二維和三維繪圖基本的命令、線型控制;(3)初步掌握用特殊的圖形來表現(xiàn)特殊數(shù)據(jù)的性質(zhì),如面積圖、直方圖、餅圖等。(4)掌握坐標(biāo)軸的控制和圖形標(biāo)注命令及其用法。42DrWangZhengsheng-LectureNotes第42頁,共192頁。Lecture3Matlab圖形可視化A、二維平面圖形與坐標(biāo)系1.幾個(gè)基本的繪圖命令

a.線性坐標(biāo)曲線

plot

函數(shù)命令

plot是

MATLAB二維曲線繪圖中最簡單、最重要、使用最廣泛的一個(gè)線性繪圖函數(shù)。它可以生成線段、曲線和參數(shù)方程曲線的函數(shù)圖形。

命令格式:plot(X,Y)plot(x1,y1,x2,y2,…):綜合調(diào)用方式

43DrWangZhengsheng-LectureNotes第43頁,共192頁。Lecture3Matlab圖形可視化用命令plot(x,y)繪制函數(shù)

y=cos(x)在兩個(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)44DrWangZhengsheng-LectureNotes第44頁,共192頁。Lecture3Matlab圖形可視化二維函數(shù)曲線專用命令fplot用plot繪圖在確定自變量的取值間隔時(shí),一般采用平均間隔,有時(shí)會(huì)因某處間距太大,而不能反映出函數(shù)的變化情況。fplot是繪制函數(shù)y=f(x)圖形的專用命令,它的數(shù)據(jù)點(diǎn)是自適應(yīng)產(chǎn)生的,對那些導(dǎo)數(shù)變化較大的函數(shù),用fplot函數(shù)繪出的曲線比等分取點(diǎn)所畫出的曲線更加接近真實(shí)。fplot

函數(shù)命令的調(diào)用格式為:

[X,Y]=fplot(‘fun’,lims)fun:函數(shù)名字符串;lims:定義x的取值區(qū)間,lims=[xmin,xmax];二維函數(shù)曲線專用命令

ezplot45DrWangZhengsheng-LectureNotes第45頁,共192頁。Lecture3Matlab圖形可視化2.線型和顏色

plot函數(shù)可以設(shè)置曲線的線段類型、定點(diǎn)標(biāo)記和線段顏色。

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

Lecture3Matlab圖形可視化47DrWangZhengsheng-LectureNotes第47頁,共192頁。Lecture3Matlab圖形可視化3.圖形窗口的分割

有時(shí)需要在一個(gè)圖形窗口中顯示幾幅圖,以便對幾個(gè)函數(shù)進(jì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)前窗口。subplot命令不僅用于二維圖形,對三維圖形一樣適用。其本質(zhì)是將figure窗口分為幾個(gè)區(qū)域,再在每個(gè)區(qū)域內(nèi)分別繪圖。48DrWangZhengsheng-LectureNotes第48頁,共192頁。Lecture3Matlab圖形可視化用subplot函數(shù)把兩種不同的圖形綜合在一個(gè)圖形窗口中。subplot(2,2,1)t=0.1:0.1:2*pi;y=sin(t);semilogx(t,y)gridonsubplot(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);plotyy(x,y,x,y,’semilogx’,’plot’)subplot(2,2,4)x=1:0.1:10;y=sqrt(x);plot(x,y,’:rd’)49DrWangZhengsheng-LectureNotes第49頁,共192頁。Lecture3Matlab圖形可視化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)系的比較。

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)])

50DrWangZhengsheng-LectureNotes第50頁,共192頁。Lecture3Matlab圖形可視化B、三維繪圖

1.三維曲線繪圖命令

三維函數(shù)

plot3主要用來表現(xiàn)單參數(shù)的三維曲線,與二維繪圖函數(shù)plot相比,只多了第三維數(shù)據(jù)。其調(diào)用格式為:plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,…)參數(shù)的含義如下:Xn、Yn、Zn:第一到三維數(shù)據(jù),是尺寸相等的向量/矩陣;s、s1、s2:是字符串,用來設(shè)置線型、顏色、數(shù)據(jù)點(diǎn)標(biāo)記。51DrWangZhengsheng-LectureNotes第51頁,共192頁。Lecture3Matlab圖形可視化x、y、z是向量時(shí),plot3命令的使用t=0:0.1:8*pi;plot3(sin(t),cos(t),t)title(’繪制螺旋線’)%用命令title對圖形主題進(jìn)行標(biāo)注

xlabel(’sin(t)’,’FontWeight’,’bold’,’FontAngle’,’italic’)ylabel(’cos(t)’,’FontWeight’,’bold’,’FontAngle’,’italic’)zlabel(’t’,’FontWeight’,’bold’,’FontAngle’,’italic’)

%命令zlabel用來指定z軸的數(shù)據(jù)名稱gridonx、y、z都是矩陣時(shí),plot3命令的使用[X,Y]=meshgrid(-pi:0.1:pi);Z=sin(X)+cos(Y);plot3(X,Y,Z)52DrWangZhengsheng-LectureNotes第52頁,共192頁。Lecture3Matlab圖形可視化2.三維曲面繪圖命令為了繪制定義在平面區(qū)域

D=[x0,xm]×[y0,yn]上的三維曲面z=f(x,y),首先將[x0,xm]在

x方向分成

m份,將[y0,yn]在

y方向分成

n份,由各劃點(diǎn)分別作平行于坐標(biāo)軸的直線,將區(qū)域

D分成

m×n個(gè)小矩形;對于每個(gè)小矩形,計(jì)算出網(wǎng)格點(diǎn)的函數(shù)值,決定出空間中四個(gè)頂點(diǎn)(

xi,yi,f(xi,yi)),連接四個(gè)頂點(diǎn)得到一個(gè)空間的四邊形片;所有四邊形片連在一起構(gòu)成函數(shù)

z=f(x,y)定義在區(qū)域

D上的空間網(wǎng)格曲面。因此,三維曲面繪圖命令可分為平面網(wǎng)格點(diǎn)的生成、在平面網(wǎng)格基礎(chǔ)上繪制三維網(wǎng)格及對三維表面進(jìn)行處理三個(gè)步驟。53DrWangZhengsheng-LectureNotes第53頁,共192頁。a.平面網(wǎng)格點(diǎn)的生成函數(shù)命令meshgrid

用來生成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]上分劃的向量;X,Y:輸出變量矩陣,矩陣X的行向量都是向量x,矩陣Y的列向量都是向量y。函數(shù)

meshgrid

將由兩個(gè)向量決定的區(qū)域轉(zhuǎn)換為對應(yīng)的網(wǎng)格點(diǎn)矩陣。Lecture3Matlab圖形可視化54DrWangZhengsheng-LectureNotes第54頁,共192頁。Lecture3Matlab圖形可視化函數(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=-202-2-2-2-202000-202222Z=X.*exp(-X.^2-Y.^2);%計(jì)算網(wǎng)格點(diǎn)上的函數(shù)值賦予變量ZZ=-0.000700.0007-0.036600.0366-0.000700.000755DrWangZhengsheng-LectureNotes第55頁,共192頁。Lecture3Matlab圖形可視化b.三維網(wǎng)格命令mesh利用函數(shù)mesh生成網(wǎng)格曲面。調(diào)用格式為:mesh(X,Y,Z,C):X、Y、Z、C是同維數(shù)的矩陣,X、Y、Z對應(yīng)空間上的網(wǎng)格點(diǎn),網(wǎng)格線顏色由C決定;mesh(X,Y,Z):相當(dāng)于上面的C=Z的情況;mesh(x,y,Z,C):x和y是向量,Z和C是同維數(shù)的矩陣,網(wǎng)格曲面的網(wǎng)格頂點(diǎn)是(x(j),y(i),Z(i,j)),網(wǎng)格線的顏色由矩陣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è)置曲面屬性。56DrWangZhengsheng-LectureNotes第56頁,共192頁。Lecture3Matlab圖形可視化用mesh命令繪制上例中的網(wǎng)格曲面。[X,Y]=meshgrid(-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相同。57DrWangZhengsheng-LectureNotes第57頁,共192頁。Lecture3Matlab圖形可視化c.三維表面命令surf函數(shù)

surf可實(shí)現(xiàn)對網(wǎng)格曲面片進(jìn)行著色,將網(wǎng)格曲面轉(zhuǎn)化為實(shí)曲面。surf命令的調(diào)用格式與

mesh相同。利用三維網(wǎng)格表面命令surf繪制圖形。

z=peaks;%繪制山峰的圖像,將函數(shù)值賦予變量z

surf(z)%對山峰的圖像進(jìn)行著色處理shadinginterp%函數(shù)

shading改變著色方式

58DrWangZhengsheng-LectureNotes第58頁,共192頁。Lecture3Matlab圖形可視化3.等高線圖形的繪制4.三維視圖可視效果的控制5.柱面和球面的三維表達(dá)(<高數(shù)>書)59DrWangZhengsheng-LectureNotes第59頁,共192頁。Lecture3Matlab圖形可視化a.柱面的表達(dá)cylinder

cylinder命令中,柱面的軸線定義為z軸,只要給出母線的描述就可完成一個(gè)柱面。

調(diào)用格式為:

[X,Y,Z]=cylinder(R,N);[X,Y,Z]=cylinder(R):缺省值

N=20;

[X,Y,Z]=cylinder:缺省值N=20,R=[1,1]。R:是一描述柱面母線的向量;N:是旋轉(zhuǎn)柱面上的分割線條數(shù);[X,Y,Z]:是返回的x,y,z坐標(biāo)向量。

繪制一個(gè)柱面。

t=pi:0.01:3*pi;r=sin(t)+t;cylinder(r,30)shadinginterp60DrWangZhengsheng-LectureNotes第60頁,共192頁。Lecture3Matlab圖形可視化b.球面的表達(dá)sphere

調(diào)用格式為:[X,Y,Z]=sphere(N):產(chǎn)生一個(gè)(N+1)×(N+1)的矩陣,然后用函數(shù)surf命令繪制一個(gè)單位的球面,N為設(shè)置分割線的條數(shù);[X,Y,Z]=sphere:缺省值

N=20。畫一個(gè)球面。

[X,Y,Z]=sphere;surf(X,Y,Z)61DrWangZhengsheng-LectureNotes第61頁,共192頁。Lecture3Matlab圖形可視化四、特殊圖形繪制為了將抽象的數(shù)據(jù)表達(dá)得更形象,除了繪制二維、三維圖形外,還要用到直方圖、面積圖、餅圖等特殊圖形。特殊圖形指令

62DrWangZhengsheng-LectureNotes第62頁,共192頁。Lecture3Matlab圖形可視化1.面積圖命令

area表現(xiàn)各個(gè)不同部分對整體所作的貢獻(xiàn)

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')gridon63DrWangZhengsheng-LectureNotes第63頁,共192頁。Lecture3Matlab圖形可視化2.直方圖命令

bar直方圖常用于統(tǒng)計(jì)數(shù)據(jù)的作圖,有bar、bar3、barh和

bar3h幾種函數(shù),其調(diào)用格式類似。以函數(shù)

bar為例:

bar(X,Y):X是橫坐標(biāo)向量,Y可以是向量或矩陣。Y是向量時(shí),每一個(gè)元素對應(yīng)一個(gè)豎條;Y是m行n列矩陣時(shí),將畫出m組豎條,每組包括n個(gè)豎條;bar(Y):橫坐標(biāo)使用缺省值X=1:M;bar(X,Y,WIDTH)

或bar(Y,WIDTH):用WIDTH指定豎條的寬度,如果WIDTH>1,條與條之間將重合。缺省寬度為0.8;bar(...,’grouped’):產(chǎn)生缺省的組合直方圖;bar(...,’stacked’):產(chǎn)生累積的直方圖;bar(...,linespec):指定條的顏色;H=bar(...):返回條形圖對象的句柄。

64DrWangZhengsheng-LectureNotes第64頁,共192頁。Lecture3Matlab圖形可視化用繪制直方圖的幾種命令繪制直方圖。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,3)bar(X,Y','stacked')xlabel('x')ylabel('\Sigmay')colormap(summer)subplot(2,2,4)barh(X,Y','stacked')xlabel('y');ylabel('\Sigmax')colormap(summer)65DrWangZhengsheng-LectureNotes第65頁,共192頁。Lecture3Matlab圖形可視化繪制三維直方圖。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')colormap(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('\Sigmay')colormap(summer)subplot(2,2,4)bar3h(X,Y’,’stacked’)zlabel(’x’)ylabel(’\Sigmay’)colormap(summer)66DrWangZhengsheng-LectureNotes第66頁,共192頁。Lecture3Matlab圖形可視化3.餅圖命令

pie餅圖又叫扇形圖,用于顯示向量中元素所占向量元素總和的百分比。

pie和

pie3分別用于繪制二維和三維餅圖。調(diào)用格式:pie(X):向量

X的餅圖。把

X的每一個(gè)元素在所有元素總和中占的比例表達(dá)出來;

pie(X,EXPLODE):向量EXPLODE(和向量X長度相等)用于指定餅圖中抽出一部分的塊(非零值對應(yīng)的塊);pie(...,LABELS):LABELS是用于標(biāo)注餅圖的字符串?dāng)?shù)組,其長度必須和向量X相等;H=pie(...):返回包括餅圖和文本對象句柄。67DrWangZhengsheng-LectureNotes第67頁,共192頁。用函數(shù)

pie和

pie3繪制餅圖。x=[200,360,120,400,320];subplot(2,2,1),pie(x,[00010])subplot(2,2,2),pie3(x,[00010])

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'})Lecture3Matlab圖形可視化68DrWangZhengsheng-LectureNotes第68頁,共192頁。Lecture3Matlab圖形可視化五、極坐標(biāo)、柱坐標(biāo)和球坐標(biāo)系下繪制圖形1.極坐標(biāo)系下繪制圖形ploar是直接在極坐標(biāo)系下繪圖的命令調(diào)用格式為:ploar(THETA,RHO,S)其中S是字符串,用來控制圖形的線型。繪制半徑為2的漸開線。

rhe=2;theta=0:pi/20:4*pi;rho=rhe+theta*rhe;polar(theta,rho,'r')

69DrWangZhengsheng-LectureNotes第69頁,共192頁。Lecture3Matlab圖形可視化六、坐標(biāo)軸的調(diào)整和圖形的標(biāo)注1.坐標(biāo)軸調(diào)整命令70DrWangZhengsheng-LectureNotes第70頁,共192頁。Lecture3Matlab圖形可視化2.圖形標(biāo)注坐標(biāo)軸和圖形標(biāo)題標(biāo)注標(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)注文本?!疨roperty’是文本的屬性名,’PropertyValue’是屬性值(所用字體、大小、標(biāo)注角度等)。圖形加標(biāo)題的函數(shù)為

title,其調(diào)用格式與坐標(biāo)軸標(biāo)注類似。71DrWangZhengsheng-LectureNotes第71頁,共192頁。Lecture3Matlab圖形可視化b.圖例的標(biāo)注legend命令實(shí)現(xiàn)不同圖例的說明。其調(diào)用格式為:legend(string1,string2,string3,...)legend(string1,string2,string3,...,Pos)

按順序把字符串添加到相應(yīng)的曲線線型符號之后;Pos對圖例的位置作出設(shè)置和調(diào)整:0=自動(dòng)把圖例置于最佳位置(和圖中曲線重復(fù)最少);1=置于圖形窗口的右上角(缺省值);2=置于圖形窗口的左上角;3=置于圖形窗口的左下角;4=置于圖形窗口的右下角;-1=置于圖形窗口的右側(cè)(

外部)。

72DrWangZhengsheng-LectureNotes第72頁,共192頁。3.控制分格線對二維和三維圖形都適用。有三種用法:gridon:打開分格線控制開關(guān),以后繪制的圖形都帶有分格線;gridoff:關(guān)閉分格線控制開關(guān),以后繪制的圖形都不帶分格線;grid:用于實(shí)現(xiàn)分格線繪制切換。Lecture3Matlab圖形可視化73DrWangZhengsheng-LectureNotes第73頁,共192頁。Lecture3Matlab圖形可視化繪制圖形,并用函數(shù)xlabel、title和legend命令進(jìn)行標(biāo)注。t=0:0.1:4*pi;y=sin(t);y1=cos(t);plot(t,y,':',t,y1,'r*')xlabel('x軸(0--4\pi)','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])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)gridonfigure(3)plot(t,y,':',t,y1,'r*')title('繪制正弦波和余弦波Pos=-1','fontsize',10,'fontweight','bold','fontangle','italic')74DrWangZhengsheng-LectureNotes第74頁,共192頁。Lecture3Matlab圖形可視化text(7*pi/2,0,'\rightarrowcos(\pi*7/2)=0')legend('正弦波','余弦波',-1)gridoff75DrWangZhengsheng-LectureNotes第75頁,共192頁。Lecture4

MATLAB符號運(yùn)算

(Symbolic)76DrWangZhengsheng-LectureNotes第76頁,共192頁。MATLABMatlab符號運(yùn)算77DrWangZhengsheng-LectureNotes第77頁,共192頁。Matlab符號運(yùn)算介紹Matlab符號運(yùn)算是通過符號數(shù)學(xué)工具箱(SymbolicMathToolbox)來實(shí)現(xiàn)的。Matlab符號數(shù)學(xué)工具箱是建立在功能強(qiáng)大的Maple軟件的基礎(chǔ)上的,當(dāng)Matlab進(jìn)行符號運(yùn)算時(shí),它就請求Maple軟件去計(jì)算并將結(jié)果返回給Matlab。Matlab的符號數(shù)學(xué)工具箱可以完成幾乎所有得符號運(yùn)算功能。主要包括:符號表達(dá)式的運(yùn)算,符號表達(dá)式的復(fù)合、化簡,符號矩陣的運(yùn)算,符號微積分、符號作圖,符號代數(shù)方程求解,符號微分方程求解等。此外,該工具箱還支持可變精度運(yùn)算,即支持以指定的精度返回結(jié)果。78DrWangZhengsheng-LectureNotes第78頁,共192頁。Matlab符號運(yùn)算特點(diǎn)計(jì)算以推理方式進(jìn)行,因此不受計(jì)算誤差累積所帶來的困擾。

符號計(jì)算指令的調(diào)用比較簡單,與數(shù)學(xué)教科書上的公式相近。

符號計(jì)算可以給出完全正確的封閉解,或任意精度的數(shù)值解(封閉解不存在時(shí))。

符號計(jì)算所需的運(yùn)行時(shí)間相對較長。79DrWangZhengsheng-LectureNotes第79頁,共192頁。Matlab符號運(yùn)算舉例求一元二次方程ax2+bx+c=0的根>>

solve('a*x^2+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]上的定積分>>

symsabx;>>

int(x^2,a,b)80DrWangZhengsheng-LectureNotes第80頁,共192頁。在進(jìn)行符號運(yùn)算時(shí),必須先定義基本的符號對象,可以是符號常量、符號變量、符號表達(dá)式等。符號對象是一種數(shù)據(jù)結(jié)構(gòu)。符號對象與符號表達(dá)式含有符號對象的表達(dá)式稱為符號表達(dá)式,Matlab在內(nèi)部把符號表達(dá)式表示成字符串,以與數(shù)字變量或運(yùn)算相區(qū)別。符號矩陣/數(shù)組:元素為符號表達(dá)式的矩陣/數(shù)組。81DrWangZhengsheng-LectureNotes第81頁,共192頁。

sym

函數(shù)用來建立單個(gè)符號變量,一般調(diào)用格式為:符號對象的建立:sym和syms符號對象的建立例:>>

a=sym('a')符號變量

=

sym(A)參數(shù)A

可以是一個(gè)數(shù)或數(shù)值矩陣,也可以是字符串a(chǎn)

是符號變量b

是符號常量>>

b=sym(1/3)C

是符號矩陣>>

C=sym('[1ab;cd]')82DrWangZhengsheng-LectureNotes第82頁,共192頁。符號對象的建立:sym和syms符號對象的建立

syms

命令用來建立多個(gè)符號變量,一般調(diào)用格式為:syms符號變量1符號變量2...符號變量n例:>>

symsabc>>

a=sym('a');>>

b=sym('b');>>

c=sym('c');83DrWangZhengsheng-LectureNotes第83頁,共192頁。符號表達(dá)式的建立:例:建立符號表達(dá)式通常有以下2種方法:(1)用sym

函數(shù)直接建立符號表達(dá)式。

(2)使用已經(jīng)定義的符號變量組成符號表達(dá)式。>>

y=sym('sin(x)+cos(x)')>>x=sym('x');>>

y=sin(x)+cos(x)符號表達(dá)式的建立>>symsx;>>

y=sin(x)+cos(x)84DrWangZhengsheng-LectureNotes第84頁,共192頁。Matlab符號運(yùn)算采用的運(yùn)算符和基本函數(shù),在形狀、名稱和使用上,都與數(shù)值計(jì)算中的運(yùn)算符和基本函數(shù)完全相同符號對象的基本運(yùn)算基本運(yùn)算符普通運(yùn)算:+

-

*

\

/

^數(shù)組運(yùn)算:.*

.\

./

.^矩陣轉(zhuǎn)置:'

.'例:>>X=sym('[x11,x12;x21,x22;x31,x32]');>>

Y=sym('[y11,y12,y13;y21,y22,y23]');>>

Z1=X*Y;Z2=X'.*Y;85DrWangZhengsheng-LectureNotes第85頁,共192頁。符號對象的基本運(yùn)算sin、cos、tan、cot、sec、csc、…asin、acos、atan、acot、asec、acsc、…exp、log、log2、log10、sqrtabs、conj、real、imagrank、det、inv、eig、lu、qr、svddiag、triu、tril、expm三角函數(shù)與反三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)等基本函數(shù)86DrWangZhengsheng-LectureNotes第86頁,共192頁。查找符號表達(dá)式中的符號變量若表達(dá)式中有兩個(gè)符號變量與x

的距離相等,則ASCII碼大者優(yōu)先。查找符號變量findsym(expr)

按字母順序列出符號表達(dá)式expr

中的所有符號變量findsym(expr,N)

按順序列出expr

中離x

最近的N

個(gè)符號變量常量pi,

i,

j

不作為符號變量87DrWangZhengsheng-LectureNotes第87頁,共192頁。例:>>

f=sym('2*w-3*y+z^2+5*a')>>

findsym(f)>>

findsym(f,3)>>

findsym(f,1)findsym舉例88DrWangZhengsheng-LectureNotes第88頁,共192頁。符號表達(dá)式的替換subs(f,x,a)用a

替換字符函數(shù)

f

中的字符變量x

a

是可以是數(shù)/數(shù)值變量/表達(dá)式或字符變量/表達(dá)式若x

是一個(gè)由多個(gè)字符變量組成的數(shù)組或矩陣,則a

應(yīng)該具有與x

相同的形狀的數(shù)組或矩陣。

用給定的數(shù)據(jù)替換符號表達(dá)式中的指定的符號變量89DrWangZhengsheng-LectureNotes第89頁,共192頁。subs舉例>>

f=sym('2*u');>>

subs(f,'u',2)>>

f2=subs(f,'u','u+2')>>

a=3;>>

subs(f2,'u',a+2)>>

subs(f2,'u','a+2')>>

symsxy>>

f3=subs(f,'u',x+y)>>

subs(f3,[x,y],[1,2])ans=4f2=2*(u+2)ans=14ans=2*((a+2)+2)f3=2*x+2*yans=6例:指出下面各條語句的輸出結(jié)果f=2*u90DrWangZhengsheng-LectureNotes第90頁,共192頁。符號矩陣>>

A=sym('[1+x,sin(x);5,exp(x)]')

使用sym函數(shù)直接生成

將數(shù)值矩陣轉(zhuǎn)化成符號矩陣

符號矩陣中元素的引用和修改>>

B=[2/3,sqrt(2);5.2,log(3)];>>

C=sym(B)>>

A=sym('[1+x,sin(x);5,exp(x)]');>>

A(1,2)%引用>>

A(2,2)=sym('cos(x)')%重新賦值91DrWangZhengsheng-LectureNotes第91頁,共192頁。六類常見符號運(yùn)算因式分解、展開、合并、簡化及通分等計(jì)算極限計(jì)算導(dǎo)數(shù)計(jì)算積分符號求和代數(shù)方程和微分方程求解92DrWangZhengsheng-LectureNotes第92頁,共192頁。因式分解因式分解factor(f)>>

symsx;f=x^6+1;>>

factor(f)

factor

也可用于正整數(shù)的分解>>

s=factor(100)>>

factor(sy

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論