版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)學(xué)建?!狹ATLAB基礎(chǔ)知識(shí)MATLAB介紹MATLAB的數(shù)值計(jì)算功MATLAB的符號(hào)運(yùn)算功MATLAB程序設(shè)計(jì)MATLAB的基本圖形處理功能.二.能
三.能
四.五.主要內(nèi)容一.MATLAB介紹1、MATLAB的優(yōu)點(diǎn)MATLAB被譽(yù)為“巨人肩上的工具”。由于使用Matlab編程運(yùn)算與人進(jìn)行科學(xué)計(jì)算的思路和表達(dá)方式完全一致,所以不像學(xué)習(xí)其它高級(jí)語(yǔ)言--如Basic、Fortran和C等那樣難于掌握,用Matlab編寫(xiě)程序猶如在演算紙上排列出公式與求解問(wèn)題,所以又被稱(chēng)為演算紙式科學(xué)算法語(yǔ)言?!Z(yǔ)言簡(jiǎn)單MATLAB的含義是矩陣實(shí)驗(yàn)室(MATRIXLABORATORY),主要用于方便矩陣的存取,其基本元素是無(wú)須定義維數(shù)的矩陣。MATLAB自問(wèn)世以來(lái),就是以數(shù)值計(jì)算稱(chēng)雄。MATLAB進(jìn)行數(shù)值計(jì)算的基本單位是復(fù)數(shù)數(shù)組(或稱(chēng)陣列),這使的MATLAB高度“向量化”。由于它不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專(zhuān)門(mén)的庫(kù)函數(shù),使之在求解諸如信號(hào)處理、建模、系統(tǒng)識(shí)別、控制、優(yōu)化等領(lǐng)域的問(wèn)題時(shí),顯得大為簡(jiǎn)捷、高效、方便,這是其它高級(jí)語(yǔ)言所不能比擬的。——編程容易,效率高M(jìn)ATLAB中包括了被稱(chēng)作工具箱(TOOLBOX)的各類(lèi)應(yīng)用問(wèn)題的求解工具。包括信號(hào)處理、圖象處理、控制系統(tǒng)辨識(shí)、神經(jīng)網(wǎng)絡(luò)等?!δ軓?qiáng)大MATLAB5.3以后的版本中包括了圖形界面編輯GUI,改變了以前單一的“在指令窗通過(guò)文本形的指令進(jìn)行各種操作”的狀況。——操作方便2、MATLAB的環(huán)境(1)MATLAB的桌面平臺(tái)MATLAB桌面平臺(tái)主要包含以下工具(見(jiàn)Figure1-1)√命令窗口√命令歷史窗口√當(dāng)前目錄窗口√演示工具√工作間管理窗口√啟動(dòng)菜單通過(guò)新建命令還可以打開(kāi)M文件編輯窗口、圖形窗口、建模窗口、GUI窗口和部署項(xiàng)目(DeploymentProject)窗口。Figure1-1MATLAB桌面平臺(tái)工作間管理窗口命令歷史窗口當(dāng)前目錄窗口命令窗口演示工具啟動(dòng)菜單(2)MATLAB的幫助系統(tǒng)有三種方式獲得MATLAB幫助:①通過(guò)使用幫助瀏覽器(Figure1-2)②命令窗口help系列。使用方式是在命令行輸入help,help+函數(shù)名,Helpwin或者h(yuǎn)elpdesk。③使用lookfor函數(shù)。若要查找一個(gè)不知其確切名稱(chēng)的函數(shù)名時(shí)使用。其他常用查詢(xún)輔助命令:exist變量檢驗(yàn)函數(shù),檢驗(yàn)變量是否存在。what目錄中文件列表who內(nèi)存變量列表whos內(nèi)存變量詳細(xì)信息which確定文件位置Figure1-2幫助瀏覽器定義說(shuō)明定義區(qū)分列及函數(shù)參數(shù)分隔符具有多種應(yīng)用功能構(gòu)成單元數(shù)組等矩陣定義的標(biāo)志等指定運(yùn)算過(guò)程的先后順序區(qū)分行及取消運(yùn)行顯示等圖形保持開(kāi)關(guān)保存內(nèi)存變量到指定文件加載指定文件的變量顯示搜索路徑顯示變量或文字內(nèi)容日志文件命令退出MATLAB說(shuō)明(3)MATLAB通用命令和技巧域訪(fǎng)問(wèn)符等注釋標(biāo)記字符串標(biāo)示符調(diào)用DOS續(xù)行符賦值運(yùn)算符清理內(nèi)存變量清除工作窗清除圖形窗口顯示文件內(nèi)容工作窗信息顯示開(kāi)關(guān)顯示目錄下文件顯示或更改工作目錄收集內(nèi)存碎片命令dirtypeclearclfpackclcechocd命令dispholdquitdiaryloadsavepath標(biāo)點(diǎn)標(biāo)點(diǎn);(
),{
}:[
].…%‘!=(4)MATLAB的搜索路徑與擴(kuò)展①搜索路徑對(duì)話(huà)框。菜單中的File/SetPath(見(jiàn)圖Figure1-3)②path命令。例如:path(path,’G:\mymatlabexamples’)③genpath命令。④editpath或pathtool命令。見(jiàn)圖Figure1-3⑤addpath命令擴(kuò)展目錄。例如:addpathe:\myfiles–end(-begin);Figure1-3路徑設(shè)置二.MATLAB的數(shù)值計(jì)算功能1、變量MATLAB程序中的基本數(shù)據(jù)單元稱(chēng)為陣列(Array),是一個(gè)分為行與列的數(shù)據(jù)集合。變量被看做是只有一行一列的陣列。MATLAB語(yǔ)言不需要對(duì)變量進(jìn)行事先聲明,也不需要指定變量類(lèi)型,它會(huì)自動(dòng)根據(jù)所賦予變量的值或?qū)ψ兞克M(jìn)行的操作來(lái)確定變量的類(lèi)型。其命名規(guī)則為:(1)變量名的大小寫(xiě)是敏感。(2)變量的第一個(gè)字符必須為英文字母,而且不能超過(guò)31個(gè)字符。(3)變量名可以包含下劃線(xiàn)、數(shù)字,但不能為空格符、標(biāo)點(diǎn)。(4)命名變量時(shí)可以取一個(gè)容易記憶并且能表達(dá)出其含義的名稱(chēng),如匯率,可以定義為exchange_rate。對(duì)于變量作用域,默認(rèn)情況是局部變量,使用global定義全局變量,而且全局變量常用大寫(xiě)的英文字母表示。MATLAB預(yù)定義的變量如下表所示:變,可以通過(guò)clear+變量名來(lái)恢復(fù)它的初始值,也可以通過(guò)重新啟動(dòng)MATLAB恢復(fù)這些值。2、數(shù)字變量(1)演算紙式的科學(xué)計(jì)算方式。輸入數(shù)字運(yùn)算表達(dá)式然后回車(chē)即可。(2)數(shù)字的輸入輸出格式。所有數(shù)據(jù)均按IEEE浮點(diǎn)標(biāo)準(zhǔn)的長(zhǎng)型格式存儲(chǔ)。輸入格式沿用了C語(yǔ)言的風(fēng)格和規(guī)則;輸出格式使用format+數(shù)據(jù)格式命令控制,只影響在屏幕上的顯示結(jié)果,不影響內(nèi)部的存儲(chǔ)和運(yùn)算。realmin最小的正實(shí)數(shù)2-
1022義變量f盡量與
次些數(shù)名字相同
,
以免改變它們的值預(yù)設(shè)的計(jì)算結(jié)果的變量名MATLAB定義的正的極小值=2.2204e-16內(nèi)建的π值∞值,無(wú)限大無(wú)法定義一個(gè)數(shù)目虛數(shù)單位i=j=√-1函數(shù)輸入?yún)?shù)個(gè)數(shù)函數(shù)輸出參數(shù)個(gè)數(shù)最大的正實(shí)數(shù)21023an
sepspiin
fNaNi
或
jnarginnargoutrealmax,
如果已經(jīng)改在定3、字符串◆使用單引號(hào)設(shè)定后輸入或賦值。如:s=‘matrixlaboratory’,字符串的每個(gè)字符(包括空格)都是字符數(shù)組的一個(gè)元素,可以使用size(變量名)查看字符數(shù)組的維數(shù)?!粼贛ATLAB中,字符串與字符數(shù)組(矩陣)基本上是等價(jià)的,都是以陣列形式存儲(chǔ)。◆函數(shù)char用來(lái)生成字符數(shù)組(矩陣)如:s=char(‘M’,’A’,’T’,’L’,’A’,’B’);◆函數(shù)double可以將字符串轉(zhuǎn)化為數(shù)值代碼(ASCII碼),函數(shù)cellstr將字符數(shù)組轉(zhuǎn)化為字符串?!魯?shù)值數(shù)組和字符串之間的轉(zhuǎn)換函數(shù)如下表所示:功能轉(zhuǎn)換字符串為數(shù)字將格式數(shù)據(jù)寫(xiě)為字符串在格式控制下讀字符串功能數(shù)字轉(zhuǎn)化為字符串整數(shù)轉(zhuǎn)化為字符串矩陣轉(zhuǎn)化為字符串函數(shù)名num2strin
t2strmat2str函數(shù)名str2numsprintfsscan
f功能鏈接串垂直鏈接串比較串比較前n個(gè)字符在其他串中找此串證明字符數(shù)組查找可能匹配的字符串字符串的單元陣檢驗(yàn)空格檢驗(yàn)十六進(jìn)制轉(zhuǎn)十進(jìn)制二進(jìn)制轉(zhuǎn)十進(jìn)制轉(zhuǎn)換B底字符串為十進(jìn)
制功能以其他串代替此串尋找串中記號(hào)大寫(xiě)轉(zhuǎn)化小寫(xiě)轉(zhuǎn)化生成空串移去串內(nèi)空格字符串檢驗(yàn)字母檢驗(yàn)十六進(jìn)制轉(zhuǎn)雙精度數(shù)值十進(jìn)制轉(zhuǎn)十六進(jìn)制十進(jìn)制轉(zhuǎn)二進(jìn)制十進(jìn)制整數(shù)轉(zhuǎn)為B底串函數(shù)名str
catstr
vcatstrcmpstrncmpfindstrstr
juststrmatchiscellstrisspacehex2decbin2decbase2dec函數(shù)名strrepstr
tokupperlowerblanksdeblankischarisletterhex2num
dec2hex
dec2bin
dec2base◆函s數(shù)g符s函串?dāng)?shù)執(zhí)的行幫的助功能。如:eval(["M"num2str(1)"=magic(5)"])◆字符串操作函數(shù)如下表所示:4、單元型變量(cellarrays)單元型變量是一種以任意形式的數(shù)組為元素的多維數(shù)組。(1)單元型變量的定義。兩種方法:賦值語(yǔ)句和cell函數(shù)。例如:A={[13-7;208;051],’Thisisatextstring’,1:4}。賦值時(shí)還可以采用接對(duì)單元型變量中的元素直接賦值的方法,實(shí)現(xiàn)方式是用cell函數(shù)預(yù)先分配存儲(chǔ)空間,A=cell(1,3),建立一個(gè)一行三列的單元型變量。單元型變量的引用可以使用大括號(hào)作為下標(biāo)的標(biāo)示(顯示全部?jī)?nèi)容)和小括號(hào)作為下標(biāo)的標(biāo)示(顯示壓縮形式)。(2)相關(guān)函數(shù)
將數(shù)值數(shù)
轉(zhuǎn)為單
型變
變單
數(shù)
的結(jié)構(gòu)對(duì)單元型變量中的元素作用的函數(shù)顯示單元型變量的內(nèi)容單元型變量轉(zhuǎn)為結(jié)構(gòu)型變量結(jié)構(gòu)型變量轉(zhuǎn)為單元型變量功能生成單元型變量圖形顯示單元型變量的內(nèi)容功能輸入輸出處理是否為單元型變量cell2struc
tstruct2cel
lcellfuncelldisp函數(shù)dealiscell函數(shù)cellcellplot5、結(jié)構(gòu)型變量(1)結(jié)構(gòu)型變量類(lèi)似C語(yǔ)言中的結(jié)構(gòu)體,它和單元型變量的區(qū)別在于結(jié)構(gòu)型變量是以指針?lè)绞絹?lái)傳遞數(shù)據(jù),并且每一個(gè)元素都有一個(gè)獨(dú)立的名字。兩種定義方式,直接賦值定義和由函數(shù)struct定義。例如:=‘John’;student.addr=‘123MainStreet’;student.city=‘ZB’;%建立一個(gè)名為student的結(jié)構(gòu)型變量結(jié)構(gòu)型變量名=struct(元素名1,元素值1,元素名2,元素值2,…)(2)相關(guān)函數(shù)得到屬性名判斷是否為結(jié)構(gòu)型變量的屬性功能生成結(jié)構(gòu)型變量得到屬性值設(shè)定屬性值功能刪除屬性判斷是否為結(jié)構(gòu)型變量fieldname
sisfield函數(shù)structgetfieldsetfield函數(shù)rmfieldisstruct6、向量及其運(yùn)算(1)向量的生成①命令窗口直接輸入,使用[],元素之間用空格、逗號(hào)或者分號(hào)隔開(kāi)。②使用冒號(hào)表達(dá)式,基本形式為x=x0:step:xn,其中xn為尾元素?cái)?shù)值限,而不一定是尾元素的值。當(dāng)step=1時(shí)可省略步長(zhǎng)。③生成線(xiàn)性等分向量,使用linspace函數(shù)。Y=linspace(x1,x2,n)③生成對(duì)數(shù)等分向量,使用logspace函數(shù)。Y=logspace(x1,x2,n)(2)基本運(yùn)算數(shù)加(減)、數(shù)乘、點(diǎn)積(dot函數(shù))、叉積(cross函數(shù))、混合積dot(a,cross(b,c))7、矩陣及其運(yùn)算(1)矩陣的生成①命令窗口直接輸入,使用[],元素之間用空格、逗號(hào)或者分號(hào)(行與行之間的分隔符)隔開(kāi)。②創(chuàng)建M文件輸入大矩陣。(2)基本運(yùn)算①矩陣的四則運(yùn)算。其中乘法運(yùn)算要注意相乘的雙方有相鄰公共維,除法分為左除“\”和右除”/”(需要計(jì)算逆矩陣)②矩陣的逆運(yùn)算。Inv函數(shù)。③矩陣的冪運(yùn)算。^。④矩陣的指數(shù)運(yùn)算。expm、expm1、expm2、expm3⑤矩陣的對(duì)數(shù)運(yùn)算。logm⑥矩陣的特征值函數(shù)。eig和eigs⑦矩陣的奇異值函數(shù)。svd和svds⑧矩陣的條件數(shù)函數(shù)。cond,condest,rcond⑨特征值的條件數(shù)函數(shù)。codeig⑩范數(shù)函數(shù)。norm,normest其他還有秩函數(shù)rank,跡函數(shù)trace,零空間函數(shù)null,正交空間函數(shù)orth,偽逆函數(shù)pinv等(3)矩陣分解函數(shù)①特征值分解,[v,d]=eig(X),[v,d]=eig(X,’nobalance’),[v,d]=eig(A,B②復(fù)數(shù)特征值對(duì)角陣與實(shí)數(shù)塊特征值對(duì)角陣的轉(zhuǎn)化[V,D]=cdf2rdf(V,D),[U,T]=rsf2csf(U,T)③奇異值分解,[U,S,V]=svd(X)④LU分解,lu函數(shù)⑤Chol分解,chol函數(shù)⑥QR分解,qr函數(shù)(4)特殊矩陣①空陣[],可以用clear從內(nèi)存中清除②全0陣zeros,單位陣eye,全1陣ones,隨機(jī)陣rand/randn③其他特殊矩陣見(jiàn)下表(5)矩陣的一些特殊操作①變維。有兩種方法,使用冒號(hào)(:)和使用函數(shù)reshape功能伴隨陣Higham測(cè)試陣Hardamard矩陣Hankel矩陣Hilbert矩陣反Hilbert矩陣功能魔方陣經(jīng)典對(duì)稱(chēng)特征值測(cè)試陣Toep
litz矩陣Pascal矩陣范德蒙矩陣Wilkinson
’s特征值測(cè)試矩陣函數(shù)compangalleryhadamardhankelhilbinvhilb函數(shù)magicrosserto
ep
litzpascalvan
derwilkinson③矩陣的抽取√對(duì)角線(xiàn)元素抽取函數(shù)diag(X,k)/diag(v,k),抽取矩陣X的第k條對(duì)角線(xiàn)的元素向量/使得向量v為所得矩陣的第k條對(duì)角線(xiàn)元素?!躺先窃爻槿ril(X,k)和下三角元素抽取triu(X,k)④擴(kuò)展兩種方法:利用對(duì)矩陣標(biāo)示塊的賦值命令X(m1:m2,n1:n2)=a生成大矩陣,其中m2-m1+1必須等于a的行維數(shù),n2-n1+1必須等于a的列維數(shù),生成m2×n2維的矩陣X;利用小矩陣組合生成大矩陣,要嚴(yán)格注意矩陣大小的匹配。使用“:”表達(dá)式對(duì)兩個(gè)矩陣進(jìn)行變維操作,需要預(yù)先定義兩個(gè)矩陣的維數(shù);reshape有兩種形式,分別為reshape(X,M,N)和reshape(X,M,N,P…)②變向主要函數(shù)如下表所示:功能產(chǎn)生或提取對(duì)角陣產(chǎn)生下三角產(chǎn)生上三角功能矩陣左右翻轉(zhuǎn)矩陣上下翻轉(zhuǎn)矩陣特定維翻轉(zhuǎn)矩陣反時(shí)針90翻轉(zhuǎn)函數(shù)fip
lrfipudfip
dimRot90函數(shù)diagtr
iltriu7、數(shù)組及其運(yùn)算同型矩陣之間的運(yùn)算通常稱(chēng)為數(shù)組運(yùn)算。(矩陣的數(shù)組運(yùn)算)(1)基本數(shù)組運(yùn)算①四則運(yùn)算。數(shù)組的乘除法是指兩個(gè)同維數(shù)組間對(duì)應(yīng)元素之間的乘除法,運(yùn)算符為”.*”,”./”和”.\”。數(shù)組與常數(shù)之間的運(yùn)算可以加”.”,也可以不加。②冪運(yùn)算。.^,對(duì)每個(gè)數(shù)組元素的冪運(yùn)算。③指數(shù)運(yùn)算exp,對(duì)數(shù)運(yùn)算log和開(kāi)方運(yùn)算sqrt。(2)數(shù)組函數(shù)運(yùn)算只要把運(yùn)算的數(shù)組帶入到函數(shù)中就可以了,通用形式為funname(A)(3)邏輯運(yùn)算①基本邏輯運(yùn)算。參見(jiàn)下一頁(yè)表格②邏輯關(guān)系函數(shù)運(yùn)算。參見(jiàn)下一頁(yè)表格指令含義函數(shù)名<小于lt<=小于等于le>大于gt>=大于等于ge==等于eq~=不等于ne&邏輯與and||邏輯或or~邏輯非not指令含義指令含義xor不相同就取1
,
否則取0isequal相等取1
,
否則取0any只要有非0就取1
,
否則取0ismember兩個(gè)矩陣是屬于關(guān)系取1
,
否則取0all全為1取1
,
否則為0isempty矩陣為空取1
,
否則取0isnan為數(shù)NaN取1
,
否則為0isletter是字母取1
,
否則取0(可以是字符串)isinf為數(shù)in
f取1
,
否則為0isstudent學(xué)生版取1isfinite有限大小元素取1
,
否則為0isprime質(zhì)數(shù)取1
,
否則取0ischar是字符串取1
,
否則為0isreal實(shí)數(shù)取1
,
否則取0find尋找非零元素坐標(biāo)isspace空格位置取1
,
否則取0isnumeric判斷數(shù)值矩陣islogical判斷邏輯數(shù)組①系數(shù)向量直接輸入法,MATLAB自動(dòng)將向量元素按降冪順序分配給各系數(shù)值。函數(shù)poly2sym可以將向量表示的多項(xiàng)式轉(zhuǎn)化為符號(hào)多項(xiàng)式表示。②特征多項(xiàng)式輸入法,從矩陣求其特征多項(xiàng)式獲得,由函數(shù)poly實(shí)現(xiàn)。注:由特征多項(xiàng)式生成的多項(xiàng)式首項(xiàng)系數(shù)一定為1;n階矩陣一般產(chǎn)生n次多項(xiàng)式。③由根創(chuàng)建多項(xiàng)式,由函數(shù)poly實(shí)現(xiàn)。注:若要生成實(shí)系數(shù)多項(xiàng)式,則根中的復(fù)數(shù)必定對(duì)應(yīng)共軛;生成的多項(xiàng)式向量包含很小的虛部時(shí)可用real命令將其過(guò)濾掉。(2)多項(xiàng)式的運(yùn)算①多項(xiàng)式求值。輸入變量值代入多項(xiàng)式計(jì)算時(shí)以數(shù)組為單元的使用函數(shù)polyval;以矩陣(必須為方陣)為計(jì)算單元求多項(xiàng)式的值用函數(shù)polyvalm;8
、多項(xiàng)式運(yùn)算(1)
多項(xiàng)式的表示方法——轉(zhuǎn)化為向量問(wèn)題用下面的行向量表示:對(duì)于多項(xiàng)式②多項(xiàng)式求根。兩種方法,一種是調(diào)用函數(shù)roots,另一種是通過(guò)建立多項(xiàng)式的伴隨矩陣再求其特征值的方法得到多項(xiàng)式的所有根。(使用compan和eig函數(shù))③多項(xiàng)式的乘除法運(yùn)算。乘法使用函數(shù)conv(向量卷積),除法使用函數(shù)deconv④多項(xiàng)式微分。微分函數(shù)polyder⑤多項(xiàng)式擬合。兩種方法,一種是由矩陣的除法求解超定方程來(lái)進(jìn)行,另一種是用擬合函數(shù)polyfit,調(diào)用方式為polyfit(X,Y,n)和[p,s]=polyfit(X,Y,n)三.MATLAB的符號(hào)運(yùn)算功能早期的MATLAB不具備符號(hào)運(yùn)算功能,在1993年Mathworks公司從加拿大滑鐵盧大學(xué)購(gòu)買(mǎi)了Maple的使用權(quán),并在此基礎(chǔ)上,利用Maple函數(shù)庫(kù),開(kāi)發(fā)了符號(hào)計(jì)算工具箱(SymbolicToolbox),從此MATLAB便具備了數(shù)值計(jì)算、符號(hào)計(jì)算和圖形處理三大基本功能于一身,稱(chēng)為在數(shù)學(xué)計(jì)算領(lǐng)域功能最強(qiáng)的語(yǔ)言。MATLAB實(shí)現(xiàn)符號(hào)計(jì)算功能主要有三種途徑:①調(diào)用MATLAB開(kāi)發(fā)的各種功能函數(shù)進(jìn)行常用的符號(hào)運(yùn)算,如符號(hào)表達(dá)式和符號(hào)矩陣的基本操作,符號(hào)矩陣的運(yùn)算,符號(hào)微積分,符號(hào)線(xiàn)性方程求解,符號(hào)微分方程求解,特殊數(shù)學(xué)符號(hào)函數(shù)以及符號(hào)函數(shù)圖形等。②通過(guò)使用函數(shù)maple.m和mpa.m與Maple接口,給一些特殊專(zhuān)業(yè)的人員提供方便。③符號(hào)函數(shù)計(jì)算器(FunctionCalculator)功能。1、符號(hào)表達(dá)式的生成符號(hào)表達(dá)式包括符號(hào)函數(shù)和符號(hào)方程,區(qū)別在于是否帶有等號(hào)。只要在表達(dá)式兩端添加分號(hào)(’’)就可以創(chuàng)建一個(gè)符號(hào)函數(shù)或者符號(hào)方程,例如:f=‘log(x)’,g=‘a(chǎn)*x^2+b*x+c=0’,也可以用函數(shù)sym或syms創(chuàng)建,如f=sym(‘cos(x)’),f=sym(‘sin(x)^2=0’);symsx;f=sin(x)+cos(x),注意syms不創(chuàng)建符號(hào)方程。2、符號(hào)與數(shù)值的轉(zhuǎn)換常用的方法是函數(shù)digits和vpa配合替換函數(shù)subs進(jìn)行轉(zhuǎn)換?!蘢igits函數(shù),digits(D)函數(shù)設(shè)置有效數(shù)字個(gè)數(shù)為D的近似解精度?!蘶pa函數(shù),R=vpa(S)符號(hào)表達(dá)式S在digits函數(shù)設(shè)置下的精度的數(shù)值解。vpa(S,D)符號(hào)表達(dá)式S在digits(D)精度下的數(shù)值解。√subs函數(shù),subs(S,OLD,NEW)√numeric函數(shù),n=numeric(S)將不含自由變量的符號(hào)表達(dá)式轉(zhuǎn)換為數(shù)值形式,效果等同于n=double(sym(S))3、符號(hào)函數(shù)的運(yùn)算(1)復(fù)合函數(shù)運(yùn)算。compose函數(shù),其調(diào)用形式如下:□compose(f,g)返回f(g(y))□compose(f,g,z)返回以z為自變量的復(fù)合函數(shù)□compose(f,g,x,z)返回f(g(z)),且使得x為f的獨(dú)立變量□compose(f,g,x,y,z)返回f(g(z)),且使得x為f的獨(dú)立變量,y為g的獨(dú)立變量,例如若f=cos(x/t),y=sin(y/u),compose(f,g,x,y,z)返回cos(sin(z/u)/t);compose(f返回cos(sin(y/z)/t)。(2)反函數(shù)運(yùn)算。finverse函數(shù),調(diào)用形式為:□g=finverse(f)□g=finverse(f,v)返回的符號(hào)函數(shù)表達(dá)式的自變量為符號(hào)v,當(dāng)f包括不止一個(gè)變量時(shí)最好使用此型。4、符號(hào)矩陣的創(chuàng)立(1)使用sym函數(shù)直接創(chuàng)建符號(hào)矩陣。同直接創(chuàng)建數(shù)值矩陣相同(2)用創(chuàng)建子陣的方法創(chuàng)建符號(hào)矩陣。要保證同一列的各元素字符串具有相同的長(zhǎng)度(3)將數(shù)值矩陣轉(zhuǎn)化為符號(hào)矩陣。sym(4)符號(hào)矩陣的索引和修改。同數(shù)值矩陣相同5、符號(hào)矩陣的運(yùn)算(1)基本運(yùn)算。包括加(+)、減(-)、乘(*)、除(/,\)、轉(zhuǎn)置(‘)(2)行列式運(yùn)算。det(A)(3)符號(hào)矩陣的逆。inv(A)(4)符號(hào)矩陣的秩。rank(A)(5)符號(hào)矩陣的冪運(yùn)算。^(6)符號(hào)矩陣的指數(shù)運(yùn)算.數(shù)組指數(shù)用exp,矩陣指數(shù)用expm(7)符號(hào)矩陣的分解。包括特征值分解函數(shù)eig,奇異值分解函數(shù)svd,約當(dāng)標(biāo)準(zhǔn)型函數(shù)jordan,三角抽取函數(shù)diag,tril,triu。(8)矩陣的空間運(yùn)算。包括列空間運(yùn)算colspace,所得結(jié)果列的維數(shù)即為秩,零空間運(yùn)算函數(shù)null(A)-正交基,null(A,’r’)-有理基。(9)符號(hào)矩陣的簡(jiǎn)化。因式分解factor(S),大整數(shù)分解factor(sym(‘N’));展開(kāi)expand(S);同類(lèi)式合并collect(S)合并同類(lèi)項(xiàng),collect(S,v)合并v的同冪項(xiàng);符號(hào)簡(jiǎn)simple(S),simplify(S)-簡(jiǎn)化符號(hào)矩陣的每一個(gè)元素。分式通分horner-秦九韶型多項(xiàng)式表達(dá)式函數(shù)(一種嵌套形式,可以減少乘法計(jì)算次數(shù))6、符號(hào)微積分(1)符號(hào)極限。limit函數(shù),調(diào)用形式有:?limit(F,x,a)F在x→a條件下的極限值?limit(F,a)計(jì)算由findsym(a)返回的獨(dú)立變量趨向于a的極限值?limit(F)計(jì)算a=0時(shí)的極限?limit(F,x,a,’left’)或limit(F,x,a,’right’)分別求左右極限(2)符號(hào)積分。int函數(shù),調(diào)用形式為:?int(S)?int(S,v)對(duì)自變量v的不定積分?int(S,a,b)計(jì)算從a到b的定積分,a,b為雙精度或符號(hào)數(shù)量?int(S,v,a,b)計(jì)算對(duì)變量v從a到b的定積分(3)符號(hào)合計(jì)函數(shù)symsum,調(diào)用形式:?symsum(S)計(jì)算符號(hào)表達(dá)式對(duì)由findsym函數(shù)返回的符號(hào)變量的不定和。?symsum(S,v)?symsum(S,a,b)和symsum(S,v,a,b)(4)符號(hào)微分和差分?微分和差分函數(shù)diff,調(diào)用形式:diff(S),diff(S,’v’)或diff(S,sym(‘v’)),diff(S,n)?梯度函數(shù)gradient,調(diào)用形式:[FX,FY]=gradient(F),[FX,FY]=gradient(F,H),H作為各方向的點(diǎn)間隔,[FX,FY]=gradient(F,HX,HY),[FX,FY,FZ]=gradient(F),[FX,FY,FZ]=gradient(F,HX,HY,HZ)。?多元函數(shù)的導(dǎo)數(shù)。jacobian(f,v),計(jì)算數(shù)量或向量f對(duì)向量v的Jacobi矩陣,當(dāng)f為數(shù)量時(shí)函數(shù)返回f的梯度。7、符號(hào)代數(shù)方程求解(1)線(xiàn)性方程組的求解,函數(shù)linsolve,solve,可以得到方程的精確解(2)非線(xiàn)性方程的符號(hào)解法,使用函數(shù)fsolve,調(diào)用格式有:?X=fsolve(‘fun’,X0)?X=fsolve(‘fun’,X0,options)options為選擇參數(shù)輸入向量?X=fsolve(‘fun’,X0,options,’gradfun’),gradfun為輸入函數(shù)在X處的偏導(dǎo)數(shù)?X=fsolve(‘fun’,X0,options,’gradfun’,P1,P2,…)P1,P2為問(wèn)題定性參數(shù)?[X,options]=fsolve(‘fun’,X0,…)返回使用的優(yōu)化方法的參數(shù)注:復(fù)雜的符號(hào)函數(shù)可以在M文件中創(chuàng)建8、符號(hào)微分方程求解帶微分方程的符號(hào)解,使用函數(shù)dsolve9、符號(hào)函數(shù)的二維圖(1)符號(hào)函數(shù)的簡(jiǎn)易繪圖函數(shù)ezplot(f),ezplot(f,xmin,xmax),ezplot(f,[xmin,xma(2)繪制函數(shù)圖函數(shù)fplot,調(diào)用格式有:√fplot(fun,lims)繪制由字符串fun指定函數(shù)名的函數(shù)在x軸區(qū)間lims=[xminxmax的函數(shù)圖,fun必須為一個(gè)m文件的函數(shù)名或?qū)ψ兞縳的可執(zhí)行字符串?!蘤plot(fun,lims,tol)tol<1用來(lái)指定相對(duì)誤差精度,默認(rèn)值為0.002√fplot(fun,lims,n)n>=1指定以最少n+1個(gè)點(diǎn)來(lái)繪制圖形,默認(rèn)n=1?!蘤plot(fun,lims,’LineSpec’)以指定線(xiàn)型繪制圖形√[x,y]=fplot(fun,lims,…)只返回用來(lái)繪圖的點(diǎn)的向量值,不繪出圖形。10
、
圖示化函數(shù)計(jì)算器(funtool)四.MATLAB程序設(shè)計(jì)用MATLAB語(yǔ)言編寫(xiě)的程序,稱(chēng)為M文件。M文件有兩類(lèi):命令式文件和函數(shù)式文件。命令式文件:命令行的簡(jiǎn)單疊加,沒(méi)有輸入?yún)?shù),也不返回輸出參數(shù)。它調(diào)用MATLAB工作域內(nèi)所有的數(shù)據(jù),而且產(chǎn)生的所有變量都是全局變量,需要用clear或quit清除。函數(shù)式文件:解決參數(shù)傳遞和函數(shù)調(diào)用的問(wèn)題,有輸入?yún)?shù),可返回輸出參數(shù)。第編一寫(xiě)句函必?cái)?shù)須式以文f語(yǔ)項(xiàng)句:為引導(dǎo)。其中的變量除了特殊聲明外均為局部變量。(1)文件名和函數(shù)名保持一致。(2)function后的語(yǔ)句定義函數(shù)和輸入輸出參數(shù)在函數(shù)被調(diào)用過(guò)程中將按此輸入輸出格式執(zhí)行。(3)要養(yǎng)成良好的注釋習(xí)慣。(4)善于將比較大的任務(wù)分解成容易處理的子任務(wù)。函數(shù)式文件的形式如下:function[outarg1,outarg2,…]=fname(inarg1,inarg2,…)%H1commentline%Othercommentlines…executablecode..(return)1、控制語(yǔ)句(1)循環(huán)語(yǔ)句①for循環(huán)。特點(diǎn)是其循環(huán)判斷條件是對(duì)循環(huán)次數(shù)的判斷,即要預(yù)先設(shè)定好循環(huán)次數(shù)。for
v=expressionstatementsendexpression表示為m
:n或者m
:
i
:n注:√for循環(huán)一定要有end作為結(jié)束標(biāo)志?!萄h(huán)語(yǔ)句中可以使用分號(hào);防止出現(xiàn)中間結(jié)果?!萄h(huán)語(yǔ)句書(shū)寫(xiě)要有層次,增加可讀性?!倘绻鹠或n有小于1的值,結(jié)構(gòu)上合法但是不運(yùn)行,對(duì)于缺少的元素系統(tǒng)會(huì)自動(dòng)添加?!萄h(huán)語(yǔ)句比較耗時(shí),能不用循環(huán)的地方要盡量避免使用。例如:向量t=[-10135]’,由此生成一個(gè)范德蒙矩陣n=max(size(t))
;for
jj=
1:nfor
ii=
1:na(ii,jj)=t(ii)
^
(n-jj)
;endendn=max(size(t))
;a(
:,n)=ones(n,
1)
;for
jj=n-
1:-
1:na(
:,jj)=t.*a(
:,jj+1)
;end如果expression為非零值(真),statements重復(fù)執(zhí)行直到expression為假。(2)選擇語(yǔ)句①if-[elseif]-…-else-end其執(zhí)行步驟如下:◆判斷表達(dá)式緊跟在關(guān)鍵字if后面,首先被計(jì)算?!羧粲?jì)算結(jié)果為0,判斷值為假,若為1,則判斷值為真◆若判斷值為真,則執(zhí)行其后語(yǔ)句,否則跳過(guò)。if語(yǔ)句有下面三種格式:格式為:while(expression)statements;end②while循環(huán)。判斷控制可以是一個(gè)邏輯判斷語(yǔ)句,適用性更加廣泛。格式二:if條件語(yǔ)句組1else語(yǔ)句組2end格式三:if條件1語(yǔ)句組1elseif條件2語(yǔ)句組2switch
表達(dá)式
case值1語(yǔ)句組1
case值2語(yǔ)句組2elseif
條件m語(yǔ)句組melse語(yǔ)句組m+1
endcase值m語(yǔ)句組m
otherwise語(yǔ)句組m+1
end格式一:if條件語(yǔ)句組end②switch-case-otherwise語(yǔ)句格式為2、人機(jī)交互語(yǔ)句(1)echo命令。echo命令可使文件命令在執(zhí)行時(shí)可見(jiàn),常用于命令式文件,有利于程序的調(diào)試和演示。格式有:echoon/off,echofileon/off,echofile,echoon/of(2)用戶(hù)輸入提示命令inputinput命令用于向計(jì)算機(jī)輸入一個(gè)參數(shù),并等待鍵盤(pán)輸入。調(diào)用格式:A=input(提示信息,選項(xiàng));注:‘s’選項(xiàng),則允許用戶(hù)輸入一個(gè)字符串。例如:求一元二次方程a2+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)](3)請(qǐng)求鍵盤(pán)輸入命令keyboard當(dāng)程序遇到此命令時(shí),MATLAB就將暫時(shí)停止運(yùn)行程序并處于等待鍵盤(pán)輸入狀態(tài),處理完畢后鍵入“R”程序?qū)⒗^續(xù)執(zhí)行。在M文件中使用此命令有利于調(diào)試及程序運(yùn)行中修改變量。(4)等待用戶(hù)反應(yīng)命令pause(延遲秒數(shù))暫停程序的執(zhí)行,等待用戶(hù)按任意鍵后繼續(xù),在程序調(diào)試或看中間結(jié)果時(shí)很有用。(5)中斷命令breakbreak語(yǔ)句常用于循環(huán)語(yǔ)句或條件語(yǔ)句中。(6)命令窗口輸出函數(shù)disp調(diào)用格式:disp(輸出項(xiàng))注:輸出項(xiàng)為字符串或矩陣。例如:A="Hello,MATLAB";disp(A)輸出為:Hello,MATLABstr=
[‘Thevalueofpi=
’num2str
(pi)]
;disp
(str)
;(7)格式化輸出函數(shù)fprintf用法同C語(yǔ)言中的printf語(yǔ)句,其調(diào)用格式為:fprintf(format,data);例如:fprintf(‘Thevalueofpiis%f\n’,pi);3、函數(shù)變量及變量作用域1)MATLAB語(yǔ)言中的變量主要有輸入變量,輸出變量和函數(shù)內(nèi)部變量。輸入變量相當(dāng)于函數(shù)的入口數(shù)據(jù),是一個(gè)函數(shù)操作的主要對(duì)象,MATLAB提供nargin函數(shù)來(lái)控制輸入變量的個(gè)數(shù)。調(diào)用格式一:Functionc=test(a,b)if(nargin==1)c=det(a);elseif(nargin==2)c=a+b;end調(diào)用格式二:nargin(‘function’)返回函數(shù)的輸入變量的個(gè)數(shù)。2)實(shí)現(xiàn)不定數(shù)目輸入變量的函數(shù)varargin,對(duì)函數(shù)的一切輸入變量將存儲(chǔ)在以varargin命名的單元型變量中。調(diào)用格式:function[out1,out2,...]=fname(varargin)3)函數(shù)inputname,只能在用戶(hù)定義的M文件中使用。調(diào)用格式:inputname(inputvarno)inputvarno為輸入變量列表中的位數(shù),調(diào)用該函數(shù)后將返回輸入變量列表中指定位數(shù)的變量在工作空間中的變量名.與輸入變量對(duì)應(yīng)的還有輸出變量控制函數(shù)nargout,vargout,用法與輸入變量控制函數(shù)類(lèi)似。4、子函數(shù)和局部函數(shù)在函數(shù)定義中開(kāi)頭位置定義的函數(shù)為主函數(shù),而在函數(shù)體內(nèi)定義的其他函數(shù)為子函數(shù),子函數(shù)只能為主函數(shù)或同一主函數(shù)下其他的子函數(shù)所調(diào)用。MATLAB語(yǔ)言把放置在目錄private下的函數(shù)稱(chēng)為局部函數(shù),這些函數(shù)只能由其父目錄中的函數(shù)調(diào)用。feval用于調(diào)用M文件,該函數(shù)識(shí)別不出多組的輸入變量,只能為單組輸入變量操作,一般用在以其他函數(shù)名為輸入變量進(jìn)行操作的函數(shù)內(nèi),以實(shí)現(xiàn)在程序設(shè)計(jì)中對(duì)未知函數(shù)的操作。調(diào)用格式為:[y1,y2,...yn]=feval(function,x1,x2,...,xn)function可以是內(nèi)置函數(shù)也可以是用自定義的函數(shù)。builtin也用來(lái)執(zhí)行函數(shù),不過(guò)它執(zhí)行內(nèi)置函數(shù)。evalin可以對(duì)指定的工作空間中的變量進(jìn)行操作,調(diào)用格式為:evalin(workspacename,’expression’)assignin用來(lái)在指定的工作空間中分配變量。5
、程序設(shè)計(jì)中的輔助函數(shù)1)
執(zhí)行函數(shù)說(shuō)明字符串調(diào)用執(zhí)行Matlab表達(dá)式字符串調(diào)用M文件計(jì)算工作空間中的表達(dá)式說(shuō)明外部?jī)r(jià)在調(diào)用內(nèi)置函數(shù)工作空間中的分配變量運(yùn)行腳本文件函數(shù)名builtinassign
inrun函數(shù)名evalevalcfevalevalin2)容錯(cuò)函數(shù)√error(‘錯(cuò)誤信息’)中斷程序運(yùn)行,顯示錯(cuò)誤信息?!蘷arning(‘錯(cuò)誤信息’)不中斷程序執(zhí)行,只給出警告信息?!蘴ry語(yǔ)句段1catch語(yǔ)句段2end錯(cuò)誤捕獲√lasterr,lastwarn,errortrapon/off等函數(shù)3)時(shí)間函數(shù)t=cputime
;
{需要計(jì)時(shí)程序段}
;t=cputime-t
;tic
;
{需要計(jì)時(shí)程序段}
;to
c
;t0=clock
;
{需要計(jì)時(shí)程序段}
;etime(clock,t0)說(shuō)明轉(zhuǎn)化為向量形式顯示日期當(dāng)月的日歷表當(dāng)前日期對(duì)應(yīng)的星期表達(dá)給出指定年月的當(dāng)月最后一天指定坐標(biāo)軸的日期表達(dá)式計(jì)時(shí)開(kāi)關(guān)函數(shù)轉(zhuǎn)化為數(shù)值型格式顯示日期說(shuō)明向量形式顯示時(shí)間和日期數(shù)值型顯示當(dāng)前時(shí)間日期字符型顯示當(dāng)前日期轉(zhuǎn)化為字符型格式顯示日期以CPU時(shí)間方式計(jì)時(shí)計(jì)算兩個(gè)時(shí)刻的時(shí)間表函數(shù)名datevecweekdaycalendareomdaydatetickticto
cdatestrclocketime函數(shù)名nowcputimedatedatenum6、程序設(shè)計(jì)的優(yōu)化(1)以矩陣作為操作主體循環(huán)運(yùn)算是MATLAB語(yǔ)言最大的弱點(diǎn),程序設(shè)計(jì)中要盡量避免使用循環(huán),絕大多數(shù)的循環(huán)運(yùn)算可以轉(zhuǎn)換為向量運(yùn)算。(2)數(shù)據(jù)的預(yù)定義雖然MATLAB語(yǔ)言沒(méi)有規(guī)定變量使用時(shí)必須預(yù)先定義,但是對(duì)于未定義的變量,如果操作過(guò)程中出現(xiàn)越界賦值時(shí),系統(tǒng)將不得不對(duì)變量進(jìn)行擴(kuò)充,這大大降低function
c=test2c=zeros(50,
1)
;for
ii=
1:50c(ii)=det(pascal(ii))
;endfunction
c=test1for
ii=
1:50c(ii)=det(pascal(ii))
;end了程序運(yùn)行的效率。例如:t=0.124126st=0.006310spack函數(shù)在一定程度上可以解決outofmemory的錯(cuò)誤,該函數(shù)將把內(nèi)存中所有使用的變量暫存入磁盤(pán),然后再用內(nèi)存中連續(xù)的空間存儲(chǔ)這些變量。7、程序調(diào)試(1)M文件錯(cuò)誤的種類(lèi)。分語(yǔ)法錯(cuò)誤和執(zhí)行錯(cuò)誤兩種。?語(yǔ)法錯(cuò)誤發(fā)生在M文件程序代碼的解釋過(guò)程中,一般是由函數(shù)參數(shù)輸入類(lèi)型有誤或者矩陣運(yùn)算階數(shù)不符等引起的。?執(zhí)行錯(cuò)誤的發(fā)生是由于在程序運(yùn)行過(guò)程中,出現(xiàn)溢出或死循環(huán)等引起的,由程序本身引起的,較難發(fā)現(xiàn)解決。說(shuō)明重新分配內(nèi)存把指定變量存到磁盤(pán)說(shuō)明從內(nèi)存中清除變量及函數(shù)退出MATLAB從磁盤(pán)調(diào)出指定變量函數(shù)名packsave函數(shù)名clearquitload(2)
內(nèi)存管理(2)錯(cuò)誤的識(shí)別?將程序的每一步執(zhí)行結(jié)果輸出到命令窗口,檢查運(yùn)行中間的結(jié)果,實(shí)現(xiàn)方法可以去掉分號(hào),也可以添加斷點(diǎn)。?使用keyboard函數(shù)中斷程序。?某些情況下可以注釋掉函數(shù)頭,變?yōu)槟_本文件執(zhí)行。?使用MATLAB調(diào)試功能。(3)調(diào)試過(guò)程?dbstop用來(lái)在M文件中設(shè)置斷點(diǎn),dbstopin<M文件名>at<行號(hào)>?dbstatus顯示斷點(diǎn)信息?dbtype顯示M文件文本?dbstep從斷點(diǎn)處繼續(xù)執(zhí)行M文件?dbstack顯示M文件執(zhí)行時(shí)調(diào)用的堆棧?dbup/dbdown實(shí)現(xiàn)工作空間的切換?dbquit退出函數(shù)調(diào)試狀態(tài)8、M文件的調(diào)用記錄通過(guò)記錄M文件調(diào)用過(guò)程可以分析執(zhí)行過(guò)程中各函數(shù)的耗時(shí)情況,由此可以了解文件執(zhí)行過(guò)程中的瓶頸問(wèn)題。(1)profile函數(shù),調(diào)用格式:?profile<優(yōu)化參數(shù)>?s=profile(‘status’)顯示當(dāng)前調(diào)用狀態(tài)?stats=profile(‘info’)中斷調(diào)用并返回記錄結(jié)果(2)調(diào)用記錄結(jié)果顯示?profilereporttest_eig將記錄輸出到test_eig.html文件中。?profileplot將調(diào)用記錄結(jié)果顯示為條狀圖9、函數(shù)句柄函數(shù)句柄用來(lái)保存函數(shù)的相關(guān)信息,尤其是關(guān)于函數(shù)執(zhí)行的信息,有以下優(yōu)點(diǎn):?可以方便的實(shí)現(xiàn)函數(shù)間的互相調(diào)用。?可以獲得函數(shù)加載的所有方式。?拓寬子函數(shù)以及局部函數(shù)的使用范圍。?可以提高函數(shù)調(diào)用過(guò)程中的可靠性。?可以減少程序設(shè)計(jì)的冗余。?可以提高重復(fù)執(zhí)行的效率。?函數(shù)句柄可以與數(shù)組、結(jié)構(gòu)型數(shù)組以及單元型數(shù)組結(jié)合定義數(shù)據(jù)。(1)函數(shù)句柄的創(chuàng)建和顯示通過(guò)@引導(dǎo)函數(shù)名即可創(chuàng)建相應(yīng)的函數(shù)句柄。如:fun_handle=@load函數(shù)句柄的內(nèi)容可以通過(guò)函數(shù)functions(函數(shù)句柄)來(lái)顯示。函數(shù)句柄實(shí)際是一個(gè)結(jié)構(gòu)型數(shù)組。(2)函數(shù)句柄的調(diào)用和操作√通過(guò)feval可以進(jìn)行函數(shù)句柄的調(diào)用,格式為:feval(<函數(shù)句柄>,參數(shù)列表)執(zhí)行以參數(shù)列表為輸入變量的函數(shù)句柄所對(duì)應(yīng)的函數(shù)。√函數(shù)句柄與函數(shù)名字符串之間可以進(jìn)行轉(zhuǎn)換,函數(shù)為func2str和str2func√函數(shù)isa可以判斷變量是否為函數(shù)句柄?!毯瘮?shù)isequal可以判斷兩函數(shù)句柄是否相同。五.MATLAB的基本圖形處理功能1、二維圖形繪制二維圖形最常用的函數(shù)是plot,調(diào)用格式有以下三種:(1)plot(Y)如果Y為實(shí)向量,則以Y的索引坐標(biāo)作為橫坐標(biāo),以Y本身的元素作為縱坐標(biāo)。如果Y為復(fù)數(shù)向量,則以該向量實(shí)部為橫坐標(biāo),虛部為縱坐標(biāo)。x=rand(100,
1)
;z=x+y.*i
;plot(z)y=rand(100,
1)
;plot(y)(2)plot(X,Y)此時(shí)以X為橫坐標(biāo),Y為縱坐標(biāo)。X和Y要求維數(shù)必須相同。當(dāng)變量X和Y是同階矩陣時(shí),將按照矩陣的行或列進(jìn)行操作。(3)plot(X,Y,s)第三個(gè)變量用于設(shè)置圖形顯示屬性。設(shè)置圖形的線(xiàn)型、顏色、標(biāo)記等。x=0:0.01*pi
:2*pi
;y=
[sin
(x
’),cos(x
’)]
;plot([x
’,x
’],y)
;x=0:0.01*pi
:pi
;y=sin
(x)
;z=cos(x)
;plot(x,y,
’--k
’,x,z,
’-.rd
’)
;2、特殊的二維圖形函數(shù)(1)特殊坐標(biāo)系的二維圖形函數(shù),區(qū)別于均勻單y軸坐標(biāo)系而言,具體有對(duì)數(shù)坐標(biāo)系、極坐標(biāo)系和雙y軸坐標(biāo)等。①對(duì)數(shù)坐標(biāo)曲線(xiàn),主要有semilogx,semilogy和loglog,前兩個(gè)分別以x坐標(biāo)和y坐標(biāo)x=
logspace(-
1,2)
;loglog
(x,exp
(x),"-s")
grid
onx=1:0.1*pi:2*pi;y=sin(x);semilogx(x,y,"-*")x=0:.1:10;semilogy(x,10.^x)為對(duì)數(shù)坐標(biāo),后一個(gè)是雙對(duì)數(shù)坐標(biāo)。②極坐標(biāo)系函數(shù)polar,調(diào)用形式為:polar(theta,rho)或polar(theta,rho,s)③雙縱坐標(biāo)(雙y軸坐標(biāo)系)函數(shù)plotyy,調(diào)用形式為:?plotyy(X1,Y1,X2,Y2)?plotyy(X1,Y1,X2,Y2,fun)fun可以是plot、semilogx、semilogy或loglog?plotyy(X1,Y1,X2,Y2,fun1,fun2)fun1繪制(X1,Y1),fun2繪制(X2,Y2)注:雙坐標(biāo)繪制圖形的調(diào)用過(guò)程中,不能夠像前面的plot函數(shù)那樣對(duì)曲線(xiàn)屬性進(jìn)行設(shè)置,需要使用句柄圖形控制完成。x=0:0.01:20;y1=200*exp(-0.05*x).*sin(x);y2=0.8*exp(-0.5*x).*sin(10*x);[AX,H1,H2]=plotyy(x,y1,x,y2,"plot");說(shuō)明直方圖三維圖的二維條狀顯示分散矩陣?yán)L制函數(shù)圖繪制餅圖Pareto
圖簡(jiǎn)單繪制極坐標(biāo)圖(2)
二維特殊函數(shù)圖形簡(jiǎn)單繪制函數(shù)圖說(shuō)明填充繪圖條形圖彗星圖誤差帶圖水平條形圖散射圖多邊形填充說(shuō)明矢量圖等高線(xiàn)圖離散序列餅狀圖階梯圖填充的等高線(xiàn)圖函數(shù)名pieplotmatrixfplotparetoribbonhistezpolarscattercometareabar函數(shù)名barhezploterrorbarstairsfillcontourfcontourstemfeather函數(shù)名2、三維圖形繪制三維圖形最常用的函數(shù)有plot3、網(wǎng)圖函數(shù)以及著色圖等(1)基本繪圖命令①plot3是plot的三位擴(kuò)展,只是增加了一個(gè)維數(shù)。調(diào)用格式有:√plot3(x,y,z)√plot3(X,Y,Z)X,Y,Z是相同階數(shù)的矩陣,繪出三矩陣的列向量的曲線(xiàn)。√plot3(X,Y,Z,s)√plot3(x1,y1,z1,s1,x2,y2,z2,s2,....)組合圖形以第二種形式為例:[x,y]=meshgrid(-2:0.1:2,-2:0.1:2);z=x.*exp(-x.^2-y.^2);plot3(x,y,z)MATLAB對(duì)于網(wǎng)格的處理方法是:將xy平面按指定方式分隔成平面網(wǎng)格,然后根據(jù)程序中給定的方式計(jì)算第三維變量的值,即z軸的值,與對(duì)應(yīng)的xy平面的坐標(biāo)構(gòu)成三維點(diǎn)元素,根據(jù)由此得到的(x,z)和(y,z)計(jì)算各平面的曲線(xiàn),彼此相連
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幕墻防火設(shè)計(jì)原則
- 管道檢測(cè)與評(píng)估技術(shù)方案
- 未來(lái)五年冷凍鰨魚(yú)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年證件攝影服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 上市公司董事會(huì)決議跟蹤落實(shí)及后評(píng)價(jià)制度(合規(guī)強(qiáng)化版)
- 2025-2030中國(guó)木材海運(yùn)行業(yè)發(fā)展?fàn)顩r與前景方向分析研究報(bào)告
- 智能風(fēng)控系統(tǒng)合規(guī)性研究-第5篇
- 2025-2030新發(fā)傳染病防控體系分析應(yīng)急儲(chǔ)備評(píng)估基層能力建設(shè)文獻(xiàn)
- 2025-2030新加坡眼鏡制造行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030新加坡生物醫(yī)藥行業(yè)市場(chǎng)現(xiàn)在供需全球化競(jìng)爭(zhēng)分析及投資戰(zhàn)略布局合理化分析研究報(bào)告
- 普外科科室護(hù)理年終總結(jié)
- 溫室氣體 產(chǎn)品碳足跡量化方法與要求 房間空調(diào)器 編制說(shuō)明
- 山東省菏澤市菏澤經(jīng)開(kāi)區(qū)2024-2025學(xué)年八年級(jí)(上)期末物理試卷(含解析)
- 改非申請(qǐng)書(shū)范文
- 2025年度光伏發(fā)電站智能監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)施合同
- 《老年康復(fù)照護(hù)》高職全套教學(xué)課件
- office辦公軟件應(yīng)用教學(xué)教案150
- 高級(jí)會(huì)計(jì)師評(píng)審專(zhuān)業(yè)技術(shù)工作業(yè)績(jī)報(bào)告
- 土地承包合同(2篇)
- 零首付買(mǎi)房合同范本
- 新人教版數(shù)學(xué)六年級(jí)下冊(cè)全冊(cè)課本練習(xí)題可編輯可打印
評(píng)論
0/150
提交評(píng)論