《MATLAB R2018基礎(chǔ)與實(shí)例教程》課件(共十一章)_第1頁(yè)
《MATLAB R2018基礎(chǔ)與實(shí)例教程》課件(共十一章)_第2頁(yè)
《MATLAB R2018基礎(chǔ)與實(shí)例教程》課件(共十一章)_第3頁(yè)
《MATLAB R2018基礎(chǔ)與實(shí)例教程》課件(共十一章)_第4頁(yè)
《MATLAB R2018基礎(chǔ)與實(shí)例教程》課件(共十一章)_第5頁(yè)
已閱讀5頁(yè),還剩238頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章

MATLAB入門1.1MATLAB概述

MATLAB是以線性代數(shù)軟件包LINPACK和特征值計(jì)算軟件包EISPACK中的子程序?yàn)榛A(chǔ)發(fā)展起來(lái)的一種開放式程序設(shè)計(jì)語(yǔ)言,是一種高性能的工程計(jì)算語(yǔ)言,其基本的數(shù)據(jù)單位是沒(méi)有維數(shù)限制的矩陣。1.1.1MATLAB的發(fā)展歷程1.1.2MATLAB系統(tǒng)MATLAB系統(tǒng)主要包括以下五個(gè)部分:(1)桌面工具和開發(fā)環(huán)境(2)數(shù)學(xué)函數(shù)庫(kù)(3)語(yǔ)言(4)圖形處理(5)外部接口

1.1.3MATLAB語(yǔ)言的特點(diǎn)(1)語(yǔ)言簡(jiǎn)潔緊湊,庫(kù)函數(shù)極其豐富,使用方便靈活。(2)運(yùn)算符豐富。(3)MATLAB既具有結(jié)構(gòu)化的控制語(yǔ)句(如for循環(huán)、while循環(huán)、break語(yǔ)句和if語(yǔ)句),又有面向?qū)ο缶幊痰奶匦?。?)程序設(shè)計(jì)自由度大。(5)程序的可移植性很好,基本上不作修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)行。(6)圖形功能強(qiáng)大。(7)與其他高級(jí)程序相比,程序的執(zhí)行速度較慢。(8)功能強(qiáng)大的工具箱。(9)源程序的開放性。1.2啟動(dòng)MATLAB啟動(dòng)MATLAB有多種方式。最常用的啟動(dòng)方式就是用鼠標(biāo)左鍵雙擊桌面上的MATLAB圖標(biāo);也可以在“開始”菜單中單擊MATLAB的快捷方式;還可以在MATLAB的安裝路徑中的bin文件夾中雙擊可執(zhí)行文件Matlab.exe。要退出MATLAB程序,可以選擇以下幾種方式:(1)用鼠標(biāo)單擊窗口右上角的關(guān)閉圖標(biāo)。(2)在命令窗口上方的標(biāo)題欄點(diǎn)擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“關(guān)閉”命令。(3)使用快捷鍵Alt+F4。要想掌握好MATLAB,一定要學(xué)會(huì)使用它的幫助系統(tǒng)。1.聯(lián)機(jī)幫助系統(tǒng)2.命令窗口查詢幫助系統(tǒng)help命令help+函數(shù)名

圖MATLAB默認(rèn)桌面平臺(tái)圖聯(lián)機(jī)幫助窗口

圖查詢工具框1.3MATLAB2018的工作環(huán)境MATLAB2018的工作界面形式簡(jiǎn)潔,主要由功能區(qū)、工具欄、當(dāng)前工作目錄窗口(CurrentFolder)、命令窗口(CommandWindow)、工作空間管理窗口(Workspace)和歷史命令窗口(CommandHistory)等組成。1.3.1工具欄功能區(qū)上方是工具欄、工具欄以圖標(biāo)方式匯集了常用的操作命令。下面簡(jiǎn)要介紹工具欄中部分常用按鈕的功能。:保存M文件。、、:剪切、復(fù)制或粘貼已選中的對(duì)象。、:撤銷或恢復(fù)上一次操作。:切換窗口。:打開MATLAB幫助系統(tǒng)。:向前、向后、向上一級(jí)、瀏覽路徑文件夾。:當(dāng)前路徑設(shè)置欄。圖MATLAB快捷菜單1.3.2命令窗口1.3.3歷史窗口圖命令窗口

圖歷史窗口圖當(dāng)前目錄窗口1.3.4當(dāng)前目錄窗口圖M文件分析報(bào)告1.3.5工作空間管理窗口工作空間管理窗口是MATLAB一個(gè)非常重要的數(shù)據(jù)分析與管理窗口。它的主要按鈕功能如下:“新建腳本”按鈕:新建一個(gè)M文件?!靶陆▽?shí)時(shí)腳本”按鈕:新建一個(gè)實(shí)時(shí)腳本。“打開”按鈕:打開所選擇的數(shù)據(jù)對(duì)象。單擊該按鈕之后,進(jìn)入所示的數(shù)組編輯窗口,在這里可以對(duì)數(shù)據(jù)進(jìn)行各種編輯操作?!皩?dǎo)入數(shù)據(jù)”按鈕

:將數(shù)據(jù)文件導(dǎo)入到工作空間?!靶陆ㄗ兞俊卑粹o:創(chuàng)建一個(gè)變量?!氨4婀ぷ鲄^(qū)”按鈕:保存工作區(qū)數(shù)據(jù)。:刪除變量。Simulink按鈕:打開Simulink主窗口?!安季帧卑粹o:打開用戶界面設(shè)計(jì)窗口?!胺治龃a”按鈕:打開代碼分析器主窗口。

圖實(shí)時(shí)腳本編輯窗口

數(shù)組編輯窗口“收藏夾”按鈕:為了方便記錄,在調(diào)試M文件時(shí)在不同工作區(qū)之間進(jìn)行切換。MATLAB在執(zhí)行M文件時(shí),會(huì)把M文件的數(shù)據(jù)保存到其對(duì)應(yīng)的工作區(qū)中,并將該工作區(qū)添加到“收藏夾”文件夾里?!袄L圖”選項(xiàng)卡:繪制數(shù)據(jù)圖形。單擊右側(cè)的下拉按鈕,彈出下拉列表,從中可以選擇不同的繪制命令。

圖繪圖命令下拉列表1.4課后習(xí)題1.MATLAB的命令窗口的作用是什么?2.MATLAB的編輯/調(diào)試窗口的作用是什么?3.MATLAB的圖形窗口的作用是什么?第2章數(shù)據(jù)計(jì)算與矩陣函數(shù)2.1數(shù)據(jù)計(jì)算強(qiáng)大的計(jì)算功能是MATLAB軟件的特點(diǎn),數(shù)據(jù)計(jì)算是MATLAB軟件的基礎(chǔ)。MATLAB包括各種各樣的數(shù)據(jù)類型,主要包括:數(shù)值、字符串、向量、矩陣、單元型數(shù)據(jù)及結(jié)構(gòu)型數(shù)據(jù)。MATLAB還提供了豐富的運(yùn)算符,能滿足用戶的各種應(yīng)用。這些運(yùn)算符包括算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符三種。2.1.1變量與常量1.變量在MATLAB中變量的命名應(yīng)遵循如下規(guī)則:變量名必須以字母開頭,之后可以是任意的字母、數(shù)字或下劃線。變量名區(qū)分字母的大小寫。變量名不超過(guò)31個(gè)字符,第31個(gè)字符以后的字符將被忽略。2.預(yù)定義的變量表MATLAB中的特殊變量3.賦值MATLAB賦值語(yǔ)句有兩種格式(1)變量=表達(dá)式(2)表達(dá)式變量名稱變量說(shuō)明ansMATLAB中默認(rèn)變量pi圓周率eps浮點(diǎn)運(yùn)算的相對(duì)精度inf無(wú)窮大,如1/0NaN不定值,如0/0、∞/∞、0*∞i(j)復(fù)數(shù)中的虛數(shù)單位realmin最小正浮點(diǎn)數(shù)realmax最大正浮點(diǎn)數(shù)2.1.2數(shù)據(jù)的顯示格式

一般而言,在MATLAB中數(shù)據(jù)的存儲(chǔ)與計(jì)算都是以雙精度進(jìn)行的,但有多種顯示形式。在默認(rèn)情況下,若數(shù)據(jù)為整數(shù),就以整數(shù)表示;若數(shù)據(jù)為實(shí)數(shù),則以保留小數(shù)點(diǎn)后4位的精度近似表示。

表format調(diào)用格式調(diào)用格式說(shuō)明formatshort5位定點(diǎn)表示(默認(rèn)值)formatlong15位定點(diǎn)表示formatshorte5位浮點(diǎn)表示formatlonge15位浮點(diǎn)表示formatshortg在5位定點(diǎn)和5位浮點(diǎn)中選擇最好的格式表示,MATLAB自動(dòng)選擇formatlongg在15位定點(diǎn)和15位浮點(diǎn)中選擇最好的格式表示,MATLAB自動(dòng)選擇formathex16進(jìn)制格式表示format+在矩陣中,用符號(hào)+、-和空格表示正號(hào)、負(fù)號(hào)和零formatbank用美元與美分定點(diǎn)表示formatrat以有理數(shù)形式輸出結(jié)果formatcompact變量之間沒(méi)有空行formatloose變量之間有空行2.1.3算術(shù)運(yùn)算符

表MATLAB語(yǔ)言的算術(shù)運(yùn)算符運(yùn)算符定義+算術(shù)加-算術(shù)減*算術(shù)乘.*點(diǎn)乘^算術(shù)乘方.^點(diǎn)乘方\算術(shù)左除.\點(diǎn)左除/算術(shù)右除./點(diǎn)右除'

矩陣轉(zhuǎn)置。當(dāng)矩陣是復(fù)數(shù)時(shí),求矩陣的共軛轉(zhuǎn)置.'

矩陣轉(zhuǎn)置。當(dāng)矩陣是復(fù)數(shù)時(shí),不求矩陣的共軛2.1.4關(guān)系運(yùn)算符關(guān)系運(yùn)算符主要用于對(duì)矩陣與數(shù)、矩陣與矩陣進(jìn)行比較,返回表示二者關(guān)系的由數(shù)0和1組成的矩陣,0和1分別表示不滿足和滿足指定關(guān)系。表MATLAB語(yǔ)言的關(guān)系運(yùn)算符運(yùn)算符定義==等于~=不等于>大于>=大于等于<小于<=小于等于2.1.5邏輯運(yùn)算符MATLAB語(yǔ)言進(jìn)行邏輯判斷時(shí),所有非零數(shù)值均被認(rèn)為真,而零為假。在邏輯判斷結(jié)果中,判斷為真時(shí)輸出1,判斷為假時(shí)輸出0。表MATLAB語(yǔ)言的邏輯運(yùn)算符運(yùn)算符定義&邏輯與。兩個(gè)操作數(shù)同時(shí)為1時(shí),結(jié)果為1,否則為0|邏輯或。兩個(gè)操作數(shù)同時(shí)為0時(shí),結(jié)果為0,否則為1~邏輯非。當(dāng)操作數(shù)為0時(shí),結(jié)果為1,否則為0xor邏輯異或。兩個(gè)操作數(shù)相同時(shí),結(jié)果為0,否則為12.1.6數(shù)據(jù)類型函數(shù)MATLAB以矩陣為基本運(yùn)算單元,而構(gòu)成矩陣的基本單元是數(shù)據(jù)。為了更好地學(xué)習(xí)和掌握矩陣的運(yùn)算,首先對(duì)數(shù)據(jù)的基本函數(shù)作簡(jiǎn)單介紹。1.常用的基本數(shù)學(xué)函數(shù)

表基本數(shù)學(xué)函數(shù)與三角函數(shù)名稱說(shuō)明名稱說(shuō)明abs(x)數(shù)量的絕對(duì)值或向量的長(zhǎng)度sign(x)符號(hào)函數(shù)(Signumfunction)。當(dāng)x<0時(shí),sign(x)=-1;當(dāng)x=0時(shí),sign(x)=0;當(dāng)x>0時(shí),sign(x)=1angle(z)復(fù)數(shù)z的相角(Phaseangle)sin(x)正弦函數(shù)sqrt(x)開平方cos(x)余弦函數(shù)real(z)復(fù)數(shù)z的實(shí)部tan(x)正切函數(shù)imag(z)復(fù)數(shù)z的虛部asin(x)反正弦函數(shù)conj(z)復(fù)數(shù)z的共軛復(fù)數(shù)acos(x)反余弦函數(shù)round(x)四舍五入至最近整數(shù)atan(x)反正切函數(shù)fix(x)無(wú)論正負(fù),舍去小數(shù)至最近整數(shù)atan2(x,y)四象限的反正切函數(shù)floor(x)向負(fù)無(wú)窮大方向取整sinh(x)超越正弦函數(shù)ceil(x)向正無(wú)窮大方向取整cosh(x)超越余弦函數(shù)rat(x)將實(shí)數(shù)x化為分?jǐn)?shù)表示tanh(x)超越正切函數(shù)rats(x)將實(shí)數(shù)x化為多項(xiàng)分?jǐn)?shù)展開asinh(x)反超越正弦函數(shù)rem求兩整數(shù)相除的余數(shù)acosh(x)反超越余弦函數(shù)sqrt乘方、開方atanh(x)反超越正切函數(shù)

2.2矩陣函數(shù)2.2.1向量的生成向量的生成有直接輸入法、冒號(hào)法和利用MATLAB函數(shù)創(chuàng)建三種方法。

直接輸入法生成向量最直接的方法就是在命令窗口中直接輸入。格式上的要求如下:向量元素需要用“[]”括起來(lái)。元素之間可以用以空格、逗號(hào)或分號(hào)分隔。冒號(hào)法利用函數(shù)linspace創(chuàng)建向量利用函數(shù)logspace創(chuàng)建一個(gè)對(duì)數(shù)分隔的向量

表向量元素引用的方式格式說(shuō)明x(n)表示向量中的第n個(gè)元素x(n1:n2)表示向量中的第n1至n2個(gè)元素2.2.2向量運(yùn)算1.向量的點(diǎn)積運(yùn)算2.向量的叉積運(yùn)算3.向量的混合積運(yùn)算表dot調(diào)用格式表cross調(diào)用格式調(diào)用格式說(shuō)明dot(a,b)返回向量a和b的點(diǎn)積。需要說(shuō)明的是,a和b必須同維。另外,當(dāng)a、b都是列向量時(shí),dot(a,b)等同于a’*bdot(a,b,dim)返回向量a和b在dim維的點(diǎn)積調(diào)用格式說(shuō)明cross(a,b)返回向量a和b的叉積。需要說(shuō)明的是,a和b必須是3維的向量cross(a,b,dim)返回向量a和b在dim維的叉積。需要說(shuō)明的是,a和b必須有相同的維數(shù),size(a,dim)和size(b,dim)的結(jié)果必須為32.2.3矩陣的生成直接輸入法在鍵盤上直接按行方式輸入矩陣是最方便、最常用的創(chuàng)建數(shù)值矩陣的方法,尤其適合較小的簡(jiǎn)單矩陣。在用此方法創(chuàng)建矩陣時(shí),應(yīng)當(dāng)注意以下幾點(diǎn):輸入矩陣時(shí)要以“[]”為其標(biāo)識(shí)符號(hào),矩陣的所有元素必須都在括號(hào)內(nèi)矩陣同行元素之間由空格(個(gè)數(shù)不限)或逗號(hào)分隔,行與行之間用分號(hào)或回車鍵分隔矩陣大小不需要預(yù)先定義矩陣元素可以是運(yùn)算表達(dá)式若“[]”中無(wú)元素,表示空矩陣如果不想顯示中間結(jié)果,可以用“;”結(jié)束利用M文件創(chuàng)建利用文本創(chuàng)建表測(cè)量數(shù)據(jù)2.2.4特殊矩陣

表特殊矩陣生成命令

表gallery命令的使用格式2.2.5矩陣元素函數(shù)

表矩陣元素的引用格式

表矩陣元素修改命令調(diào)用格式說(shuō)明[A,B,C,...]=gallery(matname,P1,P2,.)返回matname,指定的測(cè)試矩陣P1,P2,...是單個(gè)矩陣系列所需的輸入?yún)?shù)。調(diào)用語(yǔ)法中使用的可選參數(shù)P1,P2,...的數(shù)目因矩陣而異。[A,B,C,...]=gallery(matname,P1,P2,...,classname)生成一個(gè)classname類的矩陣,classname輸入必須為'single'或'double'。格式說(shuō)明X(m,:)表示矩陣中第m行的元素X(:,n)表示矩陣中第n列的元素X(m,n1:n2)表示矩陣中第m行中第n1至n2個(gè)元素命令名說(shuō)明D=[A;BC]A為原矩陣,B、C中包含要擴(kuò)充的元素,D為擴(kuò)充后的矩陣A(m,:)=[]刪除A的第m行A(:,n)=[]刪除A的第n列A(m,n)=a;A(m,:)=[ab…];A(:,n)=[ab…]對(duì)A的第m行第n列的元素賦值;對(duì)A的第m行賦值;對(duì)A的第n列賦值表對(duì)角矩陣和三角矩陣的抽取命令表矩陣變維命令

表矩陣變向命令命令名說(shuō)明diag(X,k)抽取矩陣X的第k條對(duì)角線上的元素向量。k為0時(shí)即抽取主對(duì)角線,k為正整數(shù)時(shí)抽取上方第k條對(duì)角線上的元素,k為負(fù)整數(shù)時(shí)抽取下方第k條對(duì)角線上的元素diag(X)抽取主對(duì)角線diag(v,k)使得v為所得矩陣第k條對(duì)角線上的元素向量diag(v)使得v為所得矩陣主對(duì)角線上的元素向量tril(X)提取矩陣X的主下三角部分tril(X,k)提取矩陣X的第k條對(duì)角線下面的部分(包括第k條對(duì)角線)triu(X)提取矩陣X的主上三角部分triu(X,k)提取矩陣X的第k條對(duì)角線上面的部分(包括第k條對(duì)角線)命令名說(shuō)明C(:)=A(:)將A矩陣轉(zhuǎn)換成C矩陣的維度,A、C矩陣元素個(gè)數(shù)必須相同reshape(X,m,n)將已知矩陣變維成m行n列的矩陣。命令名說(shuō)明rot(90)將A逆時(shí)針?lè)较蛐D(zhuǎn)90°rot(90,k)將A逆時(shí)針?lè)较蛐D(zhuǎn)90°*k,k可為正整數(shù)或負(fù)整數(shù)fliplr(X)將X左右翻轉(zhuǎn)flipud(X)將X上下翻轉(zhuǎn)flipdim(X,dim)dim=1時(shí)對(duì)行翻轉(zhuǎn),dim=2時(shí)對(duì)列翻轉(zhuǎn)2.2.6矩陣運(yùn)算1.矩陣的基本運(yùn)算2.基本的矩陣函數(shù)函數(shù)名說(shuō)明函數(shù)名說(shuō)明cond矩陣的條件數(shù)值diag對(duì)角變換condest1-范數(shù)矩陣條件數(shù)值exmp矩陣的指數(shù)運(yùn)算det矩陣的行列式值logm矩陣的對(duì)數(shù)運(yùn)算eig矩陣的特征值sqrtm矩陣的開方運(yùn)算inv矩陣的逆cdf2rdf復(fù)數(shù)對(duì)角矩陣轉(zhuǎn)換成實(shí)數(shù)塊對(duì)角矩陣norm矩陣的范數(shù)值rref轉(zhuǎn)換成逐行遞減的階梯矩陣normest矩陣的2-范數(shù)值rsf2csf實(shí)數(shù)塊對(duì)角矩陣轉(zhuǎn)換成復(fù)數(shù)對(duì)角矩陣rank矩陣的秩rot90矩陣逆時(shí)針?lè)较蛐D(zhuǎn)90°orth矩陣的正交化運(yùn)算fliplr左、右翻轉(zhuǎn)矩陣rcond矩陣的逆條件數(shù)值flipud上、下翻轉(zhuǎn)矩陣trace矩陣的跡reshape改變矩陣的維數(shù)triu上三角變換funm一般的矩陣函數(shù)tril下三角變換

表MATLAB常用矩陣函數(shù)2.3操作實(shí)例矩陣更新在編寫算法或處理工程、優(yōu)化等問(wèn)題時(shí),經(jīng)常會(huì)碰到一些矩陣更新的情況,這時(shí)讀者必須弄清楚矩陣的更新步驟,這樣才能編寫出相應(yīng)的更新算法。1.編寫矩陣更新函數(shù)2.輸入矩陣參數(shù),調(diào)用函數(shù)3.驗(yàn)證結(jié)果2.4課后習(xí)題1.如何清空MATLAB變量的值?2.練習(xí)指數(shù)數(shù)字3E6的顯示。3.練習(xí)直接賦值與變量賦值的不同之處。4.編制一個(gè)名為DJZ.m的M文件。其中,A=[3788990833829229;3829329283293837883929;388389200923920927478;3829892668990568980;78276789065574512335]5.創(chuàng)建一個(gè)從10開始,到211結(jié)束,包含4個(gè)數(shù)據(jù)元素的向量x。6.創(chuàng)建包含復(fù)數(shù)的矩陣A。其中,A=第3章程序設(shè)計(jì)3.1M文件M文件有兩種形式:一種是命令文件(有的書中也叫腳本文件(Script)),另一種是函數(shù)文件(Function)。下面分別來(lái)了解一下兩種形式。3.1.1命令文件在實(shí)際應(yīng)用中,如果要輸入較多的命令,且需要經(jīng)常重復(fù)輸入時(shí),就可以利用M文件來(lái)實(shí)現(xiàn)。

圖輸入程序圖工作區(qū)變量3.1.2函數(shù)文件在編輯函數(shù)文件時(shí),MATLAB也允許對(duì)函數(shù)進(jìn)行嵌套調(diào)用和遞歸調(diào)用。被調(diào)用的函數(shù)必須為已經(jīng)存在的函數(shù),這包括MATLAB的內(nèi)部函數(shù)以及用戶自己編寫的函數(shù)。下面分別來(lái)看一下兩種調(diào)用格式。函數(shù)的嵌套調(diào)用函數(shù)的遞歸調(diào)用3.1.3文件函數(shù)在MATLAB中使用fopen函數(shù)打開文件或獲得有關(guān)打開文件的信息。

表fopen命令的使用格式調(diào)用格式說(shuō)明fileID=fopen(filename)打開文件

filename以便以二進(jìn)制讀取形式進(jìn)行訪問(wèn),并返回等于或大于3的整數(shù)文件標(biāo)識(shí)符。如果fopen無(wú)法打開文件,則fileID為-1。fileID

=fopen(filename,permission)將打開由

permission指定訪問(wèn)類型的文件。fileID=fopen(filename,permission,machinefmt,encodingIn)使用machinefmt參數(shù)另外指定在文件中讀寫字節(jié)或位時(shí)的順序。[fileID,errmsg]=fopen(___)如果fopen打開文件失敗,則返回一條因系統(tǒng)而異的錯(cuò)誤消息。否則,errmsg是一個(gè)空字符向量。fIDs=fopen('all')返回包含所有打開文件的文件標(biāo)識(shí)符的行向量。filename=fopen(fileID)返回上一次調(diào)用fopen在打開fileID指定的文件時(shí)所使用的文件名。[filename,permission,machinefmt,encodingOut]=fopen(fileID)返回上一次調(diào)用

fopen在打開指定文件時(shí)所使用的權(quán)限、計(jì)算機(jī)格式以及編碼。表文件類型

表fclose命令的使用格式表frewind命令的使用格式

表fgetl命令的使用格式

表fprintf命令的使用格式

表轉(zhuǎn)換字符

圖TXT文件

圖添加表格數(shù)據(jù)表fread命令的使用格式

表fwrite命令的使用格式表文件設(shè)置函數(shù)及調(diào)用函數(shù)3.2程序結(jié)構(gòu)3.2.1順序結(jié)構(gòu)順序結(jié)構(gòu)是最簡(jiǎn)單、最易學(xué)的一種程序結(jié)構(gòu),它由多個(gè)MATLAB語(yǔ)句順序構(gòu)成,各語(yǔ)句之間用分號(hào)“;”隔開(若不加分號(hào),則必須分行編寫),程序執(zhí)行時(shí)也是按照由上至下的順序進(jìn)行的。3.2.2循環(huán)結(jié)構(gòu)

for-end循環(huán)while-end循環(huán)3.2.3分支結(jié)構(gòu)if-else-end結(jié)構(gòu)(1)形式1。(2)形式2。(3)形式3。switch-case-end結(jié)構(gòu)try-catch-end結(jié)構(gòu)3.3操作實(shí)例——統(tǒng)計(jì)M文件代碼行數(shù)操作步驟1.計(jì)算日期和時(shí)間值的加減運(yùn)算函數(shù)。2.打開M文件。3.計(jì)算所有行數(shù)。4.計(jì)算代碼行數(shù)。5.計(jì)算代碼行數(shù)。3.4課后習(xí)題1.什么是M文件?M文件有幾種分類?2.如何創(chuàng)建M文件?3.程序的結(jié)構(gòu)有幾種,分別有什么特點(diǎn)?4.什么是函數(shù)文件,如何定義和調(diào)用函數(shù)文件?5.創(chuàng)建數(shù)值M文件,輸出元素為λ的三行三列矩陣。6.日用商品在三家商店中有不同的價(jià)格,其中,毛巾有三種3.5元、4元、5元;臉盆10元、15元、20元;輸出單位量的售價(jià)(以某種貨幣單位計(jì))矩陣,用M文件表示。(行表示商店,列表示商品)。7.實(shí)驗(yàn)在對(duì)浮點(diǎn)數(shù)使用不同的運(yùn)算順序時(shí),是否會(huì)對(duì)運(yùn)算結(jié)果產(chǎn)生不同的影響。8.表中顯示J02系列電機(jī)數(shù)據(jù),利用M文件將其保存到文件中。9.讀取上例M文件的值。10.利用try-catch-end結(jié)構(gòu)調(diào)試10!

表J02系列電機(jī)數(shù)據(jù)第4章

繪圖命令4.1二維繪圖4.1.1figure命令

表figure命令的使用格式

表figure屬性屬性名說(shuō)明有效值默認(rèn)值Position圖形窗口的位置與大小四維向量[left,bottom,width,height]取決于顯示Units用于解釋屬性Position的單位inches(英寸)centimeters(厘米)normalized(標(biāo)準(zhǔn)化單位認(rèn)為窗口長(zhǎng)寬是1)points(點(diǎn))pixels(像素)characters(字符)pixelsColor窗口的背景顏色ColorSpec(有效的顏色參數(shù))取決于顏色表Menubar轉(zhuǎn)換圖形窗口菜單條的“開”與“關(guān)”none、figurefigureName顯示圖形窗口的標(biāo)題任意字符串‘’(空字符串)NumberTitle標(biāo)題欄中是否顯示’FigureNo.n’,其中n為圖形窗口的編號(hào)on、offonResize指定圖形窗口是否可以通過(guò)鼠標(biāo)改變大小on、offonSelectionHighlight當(dāng)圖形窗口被選中時(shí),是否突出顯示on、offonVisible確定圖形窗口是否可見(jiàn)on、offonWindowStyle指定窗口是標(biāo)準(zhǔn)窗口還是典型窗口normal(標(biāo)準(zhǔn)窗口)、modal(典型窗口normalColormap圖形窗口的色圖m×3的RGB顏色矩陣jet色圖Dithermap用于真顏色數(shù)據(jù)以偽顏色顯示的色圖m×3的RGB顏色矩陣有所有顏色的色圖DithermapMode是否使用系統(tǒng)生成的抖動(dòng)色圖auto、manualmanualFixedColors不是從色圖中獲得的顏色m×3的RGB顏色矩陣無(wú)(只讀模式)MinColormap系統(tǒng)顏色表中能使用的最少顏色數(shù)任一標(biāo)量64ShareColors允許MATLAB共享系統(tǒng)顏色表中的顏色on、offonAlphamap圖形窗口的α色圖,用于設(shè)定透明度m維向量,每一分量在[0,1]之間64維向量表figure屬性(續(xù)表)屬性名說(shuō)明有效值默認(rèn)值BackingStore打開或關(guān)閉屏幕像素緩沖區(qū)on、offonDoubleBuffer對(duì)于簡(jiǎn)單的動(dòng)畫渲染是否使用快速緩沖on、offoffRenderer用于屏幕和圖片的渲染模式painters、zbuffer、OpenGL系統(tǒng)自動(dòng)選擇Children顯示于圖形窗口中的任意對(duì)象句柄句柄向量[]FileName命令guide使用的文件名字符串無(wú)Parent圖形窗口的父對(duì)象:根屏幕總是0(即根屏幕)0Selected是否顯示窗口的“選中”狀態(tài)on、offonTag用戶指定的圖形窗口標(biāo)簽任意字符串''(空字符串)Type圖形對(duì)象的類型(只讀類型)'figure'figureUserData用戶指定的數(shù)據(jù)任一矩陣[](空矩陣)RendererMode默認(rèn)的或用戶指定的渲染程序auto、manualautoCurrentAxes在圖形窗口中當(dāng)前坐標(biāo)軸的句柄坐標(biāo)軸句柄[]CurrentCharacter在圖形窗口中最后一個(gè)輸入的字符單個(gè)字符無(wú)CurrentObject圖形窗口中當(dāng)前對(duì)象的句柄圖形對(duì)象句柄[]CurrentPoint圖形窗口中最后單擊的按鈕的位置二維向量[x-coord,y-coord][00]SelectionType鼠標(biāo)選取類型normal、extended、alt、opennormaBusyAction指定如何處理中斷調(diào)用程序cancel、queuequeueButtonDownFcn當(dāng)在窗口中空閑處按下鼠標(biāo)左鍵時(shí),執(zhí)行的回調(diào)程序字符串''(空字符串)CloseRequestFcn當(dāng)執(zhí)行命令關(guān)閉時(shí)定義一回調(diào)程序字符串closereqCreateFcn當(dāng)打開一圖形窗口時(shí)定義一回調(diào)程序字符串''(空字符串)DeleteFcn當(dāng)刪除一圖形窗口時(shí)定義一回調(diào)程序字符串''(空字符串)Interruptible定義一回調(diào)程序是否可中斷on、offon(可以中斷)屬性名說(shuō)明有效值默認(rèn)值KeyPressFcn當(dāng)在圖形窗口中按下時(shí),定義一回調(diào)程序字符串''(空字符串)ResizeFcn當(dāng)圖形窗口改變大小時(shí),定義一回調(diào)程序字符串''(空字符串)UIContextMenu定義與圖形窗口相關(guān)的菜單屬性UIContrextmenu的句柄無(wú)WindowButtonDownFcn當(dāng)在圖形窗口中按下鼠標(biāo)時(shí),定義一回調(diào)程序字符串''(空字符串)WindowButtonMotionFcn當(dāng)將鼠標(biāo)移進(jìn)圖形窗口中時(shí),定義一回調(diào)程序字符串''(空字符串)WindowButtonUpFcn當(dāng)在圖形窗口中松開按鈕時(shí),定義一回調(diào)程序字符串''(空字符串)IntegerHandle指定使用整數(shù)或非整數(shù)圖形句柄on、offon(整數(shù)句柄)HandleVisiblity指定圖形窗口句柄是否可見(jiàn)on、callback、offonHitTest定義圖形窗口是否能變成當(dāng)前對(duì)象(參見(jiàn)圖形窗口屬性CurrentObject)on、offonNextPlot在圖形窗口中定義如何顯示另外的圖形replacechildren、add、replaceaddPointer選取鼠標(biāo)記號(hào)crosshair、arrow、topr、watch、topl、botl、botr、circle、cross、fleur、left、right、top、fullcrosshair、bottom、ibeam、customarrowPointerShapeCData定義鼠標(biāo)外形的數(shù)據(jù)16×16矩陣將鼠標(biāo)設(shè)置為'custom'且可見(jiàn)PointerShapeHotSpot設(shè)置鼠標(biāo)活躍的點(diǎn)二維向量[row,column][1,1]表figure屬性(續(xù)表)MATLAB提供了查閱上表中屬性和屬性值的函數(shù)set和get,它們的使用格式為:set(n)返回關(guān)于圖形窗口Figure(n)的所有圖像屬性的名稱和屬性值所有可能取值;get(n)返回關(guān)于圖形窗口Figure(n)的所有圖像屬性的名稱和當(dāng)前屬性值。

4.1.2plot繪圖命令調(diào)用格式說(shuō)明plot(x)u 當(dāng)x是實(shí)向量時(shí),則繪制出以該向量元素的下標(biāo)(即向量的長(zhǎng)度,可用MATLAB函數(shù)length()求得)為橫坐標(biāo),以該向量元素的值為縱坐標(biāo)的一條連續(xù)曲線。u 當(dāng)x是實(shí)矩陣時(shí),按列繪制出每列元素值相對(duì)齊下標(biāo)的曲線,曲線數(shù)等于x的列數(shù)。u 當(dāng)x是負(fù)數(shù)矩陣時(shí),按列分別繪制出以元素實(shí)部為橫坐標(biāo),以元素虛部為縱坐標(biāo)的多條曲線。plot(x,y)u 當(dāng)x、y是同維向量時(shí),繪制以x為橫坐標(biāo)、以y為縱坐標(biāo)的曲線。u 當(dāng)x是向量,y是有一維與x等維的矩陣時(shí),繪制出多根不同顏色的曲線,曲線數(shù)等于y陣的另一維數(shù),x作為這些曲線的橫坐標(biāo)。u 當(dāng)x是矩陣,y是向量時(shí),同上,但以y為橫坐標(biāo)。u 當(dāng)x、y是同維矩陣時(shí),以x對(duì)應(yīng)的列元素為橫坐標(biāo),以y對(duì)應(yīng)的列元素為縱坐標(biāo)分別繪制曲線,曲線數(shù)等于矩陣的列數(shù)。plot(x1,y1,x2,y2,…)繪制多條曲線。在這種用法中,(xi,yi)必須是成對(duì)出現(xiàn)的,上面的命令等價(jià)于逐次執(zhí)行plot(xi,yi)命令,其中i=1,2,…。plot(x,y,s)其中x、y為向量或矩陣,s為用單引號(hào)標(biāo)記的字符串,用來(lái)設(shè)置所畫數(shù)據(jù)點(diǎn)的類型、大小、顏色以及數(shù)據(jù)點(diǎn)之間連線的類型、粗細(xì)、顏色等。plot(x1,y1,s1,x2,y2,s2,…)這種格式的用法與用法3相似,不同之處的是此格式有參數(shù)的控制,運(yùn)行此命令等價(jià)于依次執(zhí)行plot(xi,yi,si),其中i=1,2,…。plot(ax,___)將在由ax指定的坐標(biāo)區(qū)中,而不是在當(dāng)前坐標(biāo)區(qū)(gca)中創(chuàng)建線條。選項(xiàng)ax可以位于前面的語(yǔ)法中的任何輸入?yún)?shù)組合之前。表plot命令的使用格式表顏色控制字符表表線型符號(hào)及說(shuō)明線型符號(hào)符號(hào)含義線型符號(hào)符號(hào)含義-實(shí)線(默認(rèn)值):點(diǎn)線--虛線-.點(diǎn)畫線字符色彩RGB值b(blue)藍(lán)色001g(green)綠色010r(red)紅色100c(cyan)青色011m(magenta)品紅101y(yellow)黃色110k(black)黑色000w(white)白色111字符數(shù)據(jù)點(diǎn)字符數(shù)據(jù)點(diǎn)+加號(hào)>向右三角形o小圓圈<向左三角形*星號(hào)s正方形.實(shí)點(diǎn)h正六角星x交叉號(hào)p正五角星d棱形v向下三角形^向上三角形

表線型控制字符表

圖1圖2

圖3圖4

圖plot作圖4.1.3line命令調(diào)用格式說(shuō)明line(x,y)使用向量x和y中的數(shù)據(jù)在當(dāng)前坐標(biāo)區(qū)中繪制線條。line(x,y,z)

在三維坐標(biāo)中繪制線條。line使用默認(rèn)屬性設(shè)置繪制一條從點(diǎn)(0,0)到(1,1)的線條。line(___,Name,Value)使用一個(gè)或多個(gè)名稱-值對(duì)組參數(shù)修改線條的外觀。line(ax,___)在由ax指定的坐標(biāo)區(qū)中,而不是在當(dāng)前坐標(biāo)區(qū)(gca)中創(chuàng)建線條。pl=line(___)返回創(chuàng)建的所有基元Line對(duì)象。表line命令的使用格式

圖繪制線條4.1.4subplot命令表subplot命令的使用格式

圖顯示圖形分割

圖視圖分割4.1.5fplot繪圖命令對(duì)于上面的各種用法有下面幾點(diǎn)需要說(shuō)明:(1)f對(duì)字符向量輸入的支持將在未來(lái)版本中刪除,可以改用函數(shù)句柄,例如’sin(x)’,改為@(x)sin(x)。(2)lim是一個(gè)指定x軸范圍的向量[xmin,xmax]或者y軸范圍的向量[ymin,ymax]。(3)[X,Y]=fplot(f,lim,…)不會(huì)畫出圖形,如用戶想畫出圖形,可用命令plot(X,Y)。這個(gè)語(yǔ)法將在將來(lái)的版本中刪除。而是使用line對(duì)象FP的XData和YData屬性。調(diào)用格式說(shuō)明fplot(f,lim)在指定的范圍lim內(nèi)畫出一元函數(shù)f的圖形fplot(f,lim,s)用指定的線型s畫出一元函數(shù)f的圖形fplot(f,lim,n)畫一元函數(shù)f的圖形時(shí),至少描出n+1個(gè)點(diǎn)fplot(funx,funy)在t的默認(rèn)間隔[-55]上繪制由x=funx(t)和y=funy(t)定義的曲線fplot(,,)在指定的時(shí)間間隔內(nèi)繪制。將間隔指定為[tmintmax形式的二元向量]。fplot(___,)指定線條樣式、標(biāo)記符號(hào)和線條顏色。例如,'-r'繪制一條紅線。在前面語(yǔ)法中的任何輸入?yún)?shù)組合之后使用此選項(xiàng)。fplot(___,Name,Value)使用一個(gè)或多個(gè)名稱-值對(duì)參數(shù)指定行屬性。fplot(ax,___)繪制到由x指定的軸中,而不是當(dāng)前軸(GCA)。指定軸作為第一個(gè)輸入?yún)?shù)。fp=fplot(___)根據(jù)輸入返回函數(shù)行對(duì)象或參數(shù)化函數(shù)行對(duì)象。使用FP查詢和修改特定行的屬性。[X,Y]=fplot(f,lim,…)返回橫坐標(biāo)與縱坐標(biāo)的值給變量X和Y。表fplot命令的使用格式(4)fplot命令中的參數(shù)n至少把范圍limits分成n個(gè)小區(qū)間,最大步長(zhǎng)不超過(guò)(xmax-xmin)/n。(5)fplot不再支持用于指定誤差容限或評(píng)估點(diǎn)數(shù)的輸入?yún)?shù)。若要指定評(píng)估點(diǎn)數(shù),請(qǐng)使用網(wǎng)格密度屬性。

圖fplot與plot的比較

圖繪制參數(shù)化曲線4.2設(shè)置坐標(biāo)系4.2.1極坐標(biāo)系下繪圖調(diào)用格式說(shuō)明polar(theta,rho)在極坐標(biāo)中繪圖,theta的元素代表弧度,rho代表極坐標(biāo)矢徑polar(theta,rho,s)在極坐標(biāo)中繪圖,參數(shù)s的內(nèi)容與plot命令相似

表polar命令的使用格式調(diào)用格式說(shuō)明[theta,rho]=cart2pol(x,y)在極坐標(biāo)中,theta的元素代表弧度,rho代表極坐標(biāo)矢徑[theta,rho,z]=cart2pol(x,y,z)將柱坐標(biāo)數(shù)組theta、rho和z的對(duì)應(yīng)元素轉(zhuǎn)換為三維笛卡爾坐標(biāo)或xyz坐標(biāo)。表cart2pol命令的使用格式調(diào)用格式說(shuō)明[x,y]=pol2cart(theta,rho)在極坐標(biāo)中繪圖,theta的元素代表弧度,rho代表極坐標(biāo)矢徑[x,y,z]=pol2cart(theta,rho,z)將柱坐標(biāo)數(shù)組theta、rho和z的對(duì)應(yīng)元素轉(zhuǎn)換為三維笛卡爾坐標(biāo)或xyz坐標(biāo)。

表pol2cart命令的使用格式圖1直角坐標(biāo)系圖2極坐標(biāo)系

圖3轉(zhuǎn)換坐標(biāo)系

圖極坐標(biāo)轉(zhuǎn)換圖形4.2.2半對(duì)數(shù)坐標(biāo)系下繪圖調(diào)用格式說(shuō)明semilogx(X)繪制以10為底對(duì)數(shù)刻度的x軸和線性刻度的y軸的半對(duì)數(shù)坐標(biāo)曲線,若X是實(shí)矩陣,則按列繪制每列元素值相對(duì)其下標(biāo)的曲線圖,若為復(fù)矩陣,則等價(jià)于semilogx(real(X),imag(X))命令semilogx(X1,Y1,…)對(duì)坐標(biāo)對(duì)(Xi,Yi)(i=1,2,…),繪制所有的曲線,如果(Xi,Yi)是矩陣,則以(Xi,Yi)對(duì)應(yīng)的行或列元素為橫縱坐標(biāo)繪制曲線semilogx(X1,Y1,s1,…)對(duì)坐標(biāo)對(duì)(Xi,Yi)(i=1,2,…),繪制所有的曲線,其中si是控制曲線線型、標(biāo)記以及色彩的參數(shù)semilogx(…,’PropertyName’,PropertyValue,…)對(duì)所有用semilogx命令生成的圖形對(duì)象的屬性進(jìn)行設(shè)置h=semilogx(…)返回line圖形句柄向量,每條線對(duì)應(yīng)一個(gè)句柄

表semilogx命令的使用格式

圖坐標(biāo)圖比較4.2.3雙y軸坐標(biāo)調(diào)用格式說(shuō)明plotyy(x1,y1,x2,y2)用左邊的y軸畫出x1對(duì)應(yīng)于y1的圖,用右邊的y軸畫出x2對(duì)應(yīng)于y2的圖plotyy(x1,y1,x2,y2,’function’)使用字符串’function’指定的繪圖函數(shù)產(chǎn)生每一個(gè)圖形,’function’可以是plot、semilogx、semilogy、stem或任何滿足h=function(x,y)的MATLAB函數(shù)plotyy(x1,y1,x2,y2,’function1’,’function2’)使用function1(x1,y1)為左軸畫出圖形,用function2(x2,y2)為左軸畫出圖形

表plotyy命令的使用格式

圖雙Y軸繪圖4.2.4坐標(biāo)系控制1.當(dāng)前坐標(biāo)系2.設(shè)置坐標(biāo)框調(diào)用格式說(shuō)明ax=gca返回當(dāng)前圖窗的當(dāng)前坐標(biāo)區(qū)或圖,這通常是最后創(chuàng)建的圖窗或用鼠標(biāo)點(diǎn)擊的最后一個(gè)圖窗。表gca命令的使用格式

圖設(shè)置坐標(biāo)系調(diào)用格式說(shuō)明boxon添加坐標(biāo)框,顯示坐標(biāo)區(qū)輪廓boxoff刪去坐標(biāo)框box切換框輪廓的顯示。box(ax,___)使用

ax指定的坐標(biāo)區(qū),而不是使用當(dāng)前坐標(biāo)區(qū)。

表hold命令的使用格式圖4-11設(shè)置坐標(biāo)系輪廓3.創(chuàng)建新坐標(biāo)系參數(shù)可能取值mode’auto’或’manual’visibility’on’或’off’dirextion’xy’或’ij’

表參數(shù)

圖控制坐標(biāo)系調(diào)用格式說(shuō)明axis([xminxmaxyminymax])設(shè)置當(dāng)前坐標(biāo)軸的x軸與y軸的范圍axis([xminxmaxyminymaxzminzmax])設(shè)置當(dāng)前坐標(biāo)軸的x軸、y軸與z軸的范圍axis([xminxmaxyminymaxzminzmaxcmincmax])設(shè)置當(dāng)前坐標(biāo)軸的x軸、y軸與z軸的范圍,以及當(dāng)前顏色刻度范圍v=axis返回一包含x軸、y軸與z軸的刻度因子的行向量,其中v為一個(gè)四維或六維向量,這取決于當(dāng)前坐標(biāo)為二維還是三維的axisauto自動(dòng)計(jì)算當(dāng)前軸的范圍,該命令也可針對(duì)某一個(gè)具體坐標(biāo)軸使用,例如:autox自動(dòng)計(jì)算x軸的范圍;autoyz

自動(dòng)計(jì)算y軸與z軸的范圍axismanual把坐標(biāo)固定在當(dāng)前的范圍,這樣,若保持狀態(tài)(hold)為on,后面的圖形仍用相同界限axistight把坐標(biāo)軸的范圍定為數(shù)據(jù)的范圍,即將三個(gè)方向上的縱高比設(shè)為同一個(gè)值axisfill該命令用于將坐標(biāo)軸的取值范圍分別設(shè)置為繪圖所用數(shù)據(jù)在相應(yīng)方向上的最大、最小值axisij將二維圖形的坐標(biāo)原點(diǎn)設(shè)置在圖形窗口的左上角,坐標(biāo)軸i垂直向下,坐標(biāo)軸j水平向右axisxy使用笛卡兒坐標(biāo)系axisequal設(shè)置坐標(biāo)軸的縱橫比,使在每個(gè)方向的數(shù)據(jù)單位都相同,其中x軸、y軸與z軸將根據(jù)所給數(shù)據(jù)在各個(gè)方向的數(shù)據(jù)單位自動(dòng)調(diào)整其縱橫比axisimage效果與命令axisequal相同,只是圖形區(qū)域剛好緊緊包圍圖像數(shù)據(jù)axissquare設(shè)置當(dāng)前圖形為正方形(或立方體形),系統(tǒng)將調(diào)整x軸、y軸與z軸,使它們有相同的長(zhǎng)度,同時(shí)相應(yīng)地自動(dòng)調(diào)整數(shù)據(jù)單位之間的增加量axisnormal自動(dòng)調(diào)整坐標(biāo)軸的縱橫比,還有用于填充圖形區(qū)域的、顯示于坐標(biāo)軸上的數(shù)據(jù)單位的縱橫比axisvis3d該命令將凍結(jié)坐標(biāo)系此時(shí)的狀態(tài),以便進(jìn)行旋轉(zhuǎn)axisoff關(guān)閉所用坐標(biāo)軸上的標(biāo)記、格柵和單位標(biāo)記,但保留由text和gtext設(shè)置的對(duì)象axison顯示坐標(biāo)軸上的標(biāo)記、單位和格柵[mode,visibility,direction]=axis('state')返回表明當(dāng)前坐標(biāo)軸的設(shè)置屬性的三個(gè)參數(shù)mode、visibility、dirextion,它們的可能取值見(jiàn)表參數(shù)

表axis命令的使用格式4.3二維圖形修飾處理4.3.1圖形的重疊控制調(diào)用格式說(shuō)明holdon保留當(dāng)前坐標(biāo)區(qū)中的繪圖,從而使新添加到坐標(biāo)區(qū)中的繪圖不會(huì)刪除現(xiàn)有繪圖。holdoff將保留狀態(tài)設(shè)置為off,從而使新添加到坐標(biāo)區(qū)中的繪圖清除現(xiàn)有繪圖并重置所有的坐標(biāo)區(qū)屬性。hold(,___)為ax指定的坐標(biāo)區(qū)而非當(dāng)前坐標(biāo)區(qū)設(shè)置hold狀態(tài)。

表hold命令的使用格式

圖繪制函數(shù)4.3.2圖形注釋1.注釋圖形標(biāo)題及軸名稱調(diào)用格式說(shuō)明title('string')在當(dāng)前坐標(biāo)軸上方正中央放置字符串string作為圖形標(biāo)題title(fname)先執(zhí)行能返回字符串的函數(shù)fname,然后在當(dāng)前軸上方正中央放置返回的字符串作為標(biāo)題title('text','PropertyName',PropertyValue,…)對(duì)由命令title生成的圖形對(duì)象的屬性進(jìn)行設(shè)置,輸入?yún)?shù)“text”為要添加的標(biāo)注文本h=title(…)返回作為標(biāo)題的text對(duì)象句柄表title命令的使用格式調(diào)用格式說(shuō)明xlabel('string')在當(dāng)前軸對(duì)象中的x軸上標(biāo)注說(shuō)明語(yǔ)句stringxlabel(fname)先執(zhí)行函數(shù)fname,返回一個(gè)字符串,然后在x軸旁邊顯示出來(lái)xlabel('text','PropertyName',PropertyValue,…)指定軸對(duì)象中要控制的屬性名和要改變的屬性值,參數(shù)“text”為要添加的標(biāo)注名稱表xlabel命令的使用格式

圖圖形標(biāo)注(一)2.標(biāo)注圖形調(diào)用格式說(shuō)明text(x,y,'string')在圖形中指定的位置(x,y)上顯示字符串stringtext(x,y,z,'string')在三維圖形空間中的指定位置(x,y,z)上顯示字符串stringtext(x,y,z,’string’,'PropertyName',PropertyValue,…)在三維圖形空間中的指定位置(x,y,z)上顯示字符串string,且對(duì)指定的屬性進(jìn)行設(shè)置,表4-23給出了文字屬性名、含義及屬性值的有效值與默認(rèn)值表text命令的使用格式調(diào)用格式說(shuō)明gtext(str)在圖形中鼠標(biāo)指定的位置上插入文本strgtext(str,Name,Value)使用一個(gè)或多個(gè)名稱-值對(duì)組參數(shù)指定文本屬性。t=gtext(___)返回由gtext創(chuàng)建的文本對(duì)象的數(shù)組。

表gtext命令的使用格式

圖圖形標(biāo)注(二)屬性名含義有效值默認(rèn)值Editing能否對(duì)文字進(jìn)行編輯on、offoffInterpretationtex字符是否可用tex、nonetexExtenttext對(duì)象的范圍(位置與大小)[left,bottom,width,height]隨機(jī)HorizontalAlignment文字水平方向的對(duì)齊方式left、center、rightleftPosition文字范圍的位置[x,y,z]直角坐標(biāo)系[](空矩陣)Rotation文字對(duì)象的方位角度標(biāo)量[單位為度(°)]0Units文字范圍與位置的單位pixels(屏幕上的像素點(diǎn))、normalized(把屏幕看成一個(gè)長(zhǎng)、寬為1的矩形)、inches、centimeters、points、datadataVerticalAlignment文字垂直方向的對(duì)齊方式normal(正常字體)、italic(斜體字)、oblique(斜角字)top(文本外框頂上對(duì)齊)、cap(文本字符頂上對(duì)齊)、middle(文本外框中間對(duì)齊)、baseline(文本字符底線對(duì)齊)、bottom(文本外框底線對(duì)齊)middleFontAngle設(shè)置斜體文字模式normal(正常字體)、italic(斜體字)、oblique(斜角字)normalFontName設(shè)置文字字體名稱用戶系統(tǒng)支持的字體名或者字符串FixedWidthHelveticaFontSize文字字體大小結(jié)合字體單位的數(shù)值10pointsFontUnits設(shè)置屬性FontSize的單位points(1points=1/72inches)、normalized(把父對(duì)象坐標(biāo)軸作為單位長(zhǎng)的一個(gè)整體;當(dāng)改變坐標(biāo)軸的尺寸時(shí),系統(tǒng)會(huì)自動(dòng)改變字體的大小)、inches、centimeters、pixelspoints表text命令屬性列表屬性名含義有效值默認(rèn)值FontWeight設(shè)置文字字體的粗細(xì)light(細(xì)字體)、normal(正常字體)、demi(黑體字)、bold(黑體字)normalClipping設(shè)置坐標(biāo)軸中矩形的剪輯模式on:當(dāng)文本超出坐標(biāo)軸的矩形時(shí),超出的部分不顯示off:當(dāng)文本超出坐標(biāo)軸的矩形時(shí),超出的部分顯示offEraseMode設(shè)置顯示與擦除文字的模式normal、none、xor、backgroundnormalSelectionHighlight設(shè)置選中文字是否突出顯示on、offonVisible設(shè)置文字是否可見(jiàn)on、offonColor設(shè)置文字顏色有效的顏色值:ColorSpec

HandleVisibility設(shè)置文字對(duì)象句柄對(duì)其他函數(shù)是否可見(jiàn)on、callback、offonHitTest設(shè)置文字對(duì)象能否成為當(dāng)前對(duì)象on、offonSeleted設(shè)置文字是否顯示出“選中”狀態(tài)on、offoffTag設(shè)置用戶指定的標(biāo)簽任何字符串''(即空字符串)Type設(shè)置圖形對(duì)象的類型字符串’text’

UserData設(shè)置用戶指定數(shù)據(jù)任何矩陣[](即空矩陣)BusyAction設(shè)置如何處理對(duì)文字回調(diào)過(guò)程中斷的句柄cancel、queuequeueButtonDownFcn設(shè)置當(dāng)鼠標(biāo)在文字上單擊時(shí),程序做出的反應(yīng)字符串''(即空字符串)CreateFcn設(shè)置當(dāng)文字被創(chuàng)建時(shí),程序做出的反應(yīng)字符串''(即空字符串)DeleteFcn

設(shè)置當(dāng)文字被刪除(通過(guò)關(guān)閉或刪除操作)時(shí),程序做出的反應(yīng)字符串''(即空字符串)

表text命令屬性列表(續(xù)表)3.標(biāo)注圖例調(diào)用格式說(shuō)明legend('string1','string2',…,Pos)用指定的文字string1,string2,…在當(dāng)前坐標(biāo)軸中對(duì)所給數(shù)據(jù)的每一部分顯示一個(gè)圖例legend(h,'string1','string2',…)用指定的文字string在一個(gè)包含于句柄向量h中的圖形中顯示圖例legend(string_matrix)用字符矩陣參量string_matrix的每一行字符串作為標(biāo)簽legend(h,string_matrix)用字符矩陣參量string_matrix的每一行字符串作為標(biāo)簽給包含于句柄向量h中的相應(yīng)的圖形對(duì)象加標(biāo)簽legend(axes_handle,…)給由句柄axes_handle指定的坐標(biāo)軸顯示圖例legend_handle=legend返回當(dāng)前坐標(biāo)軸中的圖例句柄,若坐標(biāo)軸中沒(méi)有圖例存在,則返回空向量legend('off')從當(dāng)前的坐標(biāo)軸中除掉圖例legend對(duì)當(dāng)前圖形中所有的圖例進(jìn)行刷新legend(legend_handle)對(duì)由句柄legend_handle指定的圖例進(jìn)行刷新legend(…,pos)在指定的位置pos放置圖,pos的取值及相應(yīng)的圖例位置見(jiàn)下表h=legend(…)返回圖例的句柄向量

表legend命令的使用格式pos取值圖例位置-1坐標(biāo)軸之外的右邊0自動(dòng)把圖例置于最佳位置,使其與圖中曲線的重復(fù)最少1坐標(biāo)軸的右上角(默認(rèn)位置)2坐標(biāo)軸的左上角3坐標(biāo)軸的左下角4坐標(biāo)軸的右下角

表pos取值

圖圖形標(biāo)注(三)4.3.3分格線控制調(diào)用格式說(shuō)明gridon給當(dāng)前的坐標(biāo)軸增加分格線gridoff從當(dāng)前的坐標(biāo)軸中去掉分格線grid轉(zhuǎn)換分隔線的顯示與否的狀態(tài)grid(axes_handle,on|off)對(duì)指定的坐標(biāo)軸axes_handle是否顯示分隔線

表grid命令的使用格式

圖圖形標(biāo)注(四)4.3.4圖形放大與縮小調(diào)用格式說(shuō)明zoomon打開交互式圖形放大功能zoomoff關(guān)閉交互式圖形放大功能zoomout將系統(tǒng)返回非放大狀態(tài),并將圖形恢復(fù)原狀zoomreset系統(tǒng)將記住當(dāng)前圖形的放大狀態(tài),作為放大狀態(tài)的設(shè)置值,當(dāng)使用zoomout或雙擊鼠標(biāo)時(shí),圖形并不是返回到原狀,而是返回reset時(shí)的放大狀態(tài)zoom用于切換放大的狀態(tài):on和offzoomxon只對(duì)x軸進(jìn)行放大zoomyon只對(duì)y軸進(jìn)行放大zoom(factor)用放大系數(shù)factor進(jìn)行放大或縮小,而不影響交互式放大的狀態(tài)。若factor>1,系統(tǒng)將圖形放大factor倍;若0<factor≤1,系統(tǒng)將圖形放大1/factor倍zoom(fig,option)對(duì)窗口fig(不一定為當(dāng)前窗口)中的二維圖形進(jìn)行放大,其中參數(shù)option為on、off、xon、yon、reset、factor等

表zoom命令的使用格式4.4三維繪圖4.4.1三維曲線命令1.plot3命令2.fplot3命令

圖plot3作圖

表ezplot3命令的使用格式圖fplot3作圖3.ezplot3命令表ezplot3命令的使用格式

圖繪制參數(shù)曲線運(yùn)動(dòng)軌跡4.fill3命令調(diào)用格式說(shuō)明fill3(X,Y,Z,C)填充三維多邊形。C指定顏色,其中C為當(dāng)前顏色圖索引的向量或矩陣。fill3(X,Y,Z,ColorSpec)填充X、Y和Z定義的三維多邊形(顏色由指定)。fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...)指定多個(gè)三維填充區(qū)。ezplot3(…,’animate’)指定特定的補(bǔ)片屬性設(shè)置值。fill3(ax,...)在由ax指定的坐標(biāo)區(qū)而不是當(dāng)前坐標(biāo)區(qū)(gca)中創(chuàng)建多邊形。h=fill3(...)返回由句柄對(duì)象構(gòu)成的向量。

表fill3命令的使用格式圖填充的三維多邊形4.4.2三維網(wǎng)格命令1.mesh命令2.meshgrid命令調(diào)用格式說(shuō)明mesh(X,Y,Z)繪制三維網(wǎng)格圖,顏色和曲面的高度相匹配。若X與Y均為向量,且length(X)=n,length(Y)=m,而[m,n]=size(Z),空間中的點(diǎn)(X(j),Y(i),Z(I,j))為所畫曲面網(wǎng)線的交點(diǎn);若X與Y均為矩陣,則空間中的點(diǎn)(X(i,j),Y(i,j),Z(i,j))為所畫曲面的網(wǎng)線的交點(diǎn)mesh(X,Y,Z,c)同mesh(X,Y,Z),只不過(guò)顏色由c指定mesh(Z)生成的網(wǎng)格圖滿足X=1:n與Y=1:m,[n,m]=size(Z),其中Z為定義在矩形區(qū)域上的單值函數(shù)mesh(…,’PropertyName’,PropertyValue,…)對(duì)指定的屬性PropertyName設(shè)置屬性值PropertyValue,可以在同一語(yǔ)句中對(duì)多個(gè)屬性進(jìn)行設(shè)置h=mesh(…)返回圖形對(duì)象句柄

表mesh命令的使用格式調(diào)用格式說(shuō)明[X,Y]=meshgrid(x,y)向量X為xy平面上矩形定義域的矩形分割線在x軸的值,向量Y為xy平面上矩形定義域的矩形分割線在y軸的值。輸出向量X為xy平面上矩形定義域的矩形分割點(diǎn)的橫坐標(biāo)值矩陣,輸出向量Y為xy平面上矩形定義域的矩形分割點(diǎn)的縱坐標(biāo)值矩陣[X,Y]=meshgrid(x)等價(jià)于形式[X,Y]=meshgrid(x,x)[X,Y,Z]=meshgrid(x,y,z)向量X為立方體定義域在x軸上的值,向量Y為立方體定義域在y軸上的值,向量Z為立方體定義域在z軸上的值。輸出向量X為立方體定義域中分割點(diǎn)的x軸坐標(biāo)值,Y為立方體定義域中分割點(diǎn)的y軸坐標(biāo)值,Z為立方體定義域中分割點(diǎn)的z軸坐標(biāo)值表meshgrid命令的使用格式調(diào)用格式說(shuō)明hiddenon將網(wǎng)格設(shè)為不透明狀態(tài)hiddenoff將網(wǎng)格設(shè)為透明狀態(tài)hidden在on與off之間切換

表hidden命令的使用格式

圖圖像比較3.ndgrid命令調(diào)用格式說(shuō)明[X1,X2,...,Xn]=ndgrid(x1,x2,...,xn)復(fù)制網(wǎng)格向量x1,x2,...,xn以生成n維完整網(wǎng)格。[X,Y,Z]=peaks(...)指定對(duì)所有維度使用單一網(wǎng)格向量xg。您指定的輸出參數(shù)的數(shù)目決定輸出的維度n。表ndgrid命令的使用格式

圖矩形網(wǎng)格圖像4.peak命令調(diào)用格式說(shuō)明Z=peaks返回一個(gè)49×49矩陣[X,Y,Z]=peaks(...)返回兩個(gè)矩陣X和Y用于參數(shù)繪圖表mesh命令的使用格式

圖峰值圖像比較4.4.3三維曲面命令1.surf命令調(diào)用格式說(shuō)明surfl(Z)以向量Z的元素生成一個(gè)三維的帶陰影的曲面,其中陰影模式中的默認(rèn)光源方位為從當(dāng)前視角開始,逆時(shí)針轉(zhuǎn)45°surfl(X,Y,Z)以矩陣X,Y,Z生成的一個(gè)三維的帶陰影的曲面,其中陰影模式中的默認(rèn)光源方位為從當(dāng)前視角開始,逆時(shí)針轉(zhuǎn)45°surfl(…,’light’)用一個(gè)matlab光照對(duì)象(lightobject)生成一個(gè)帶顏色、帶光照的曲面,這與用默認(rèn)光照模式產(chǎn)生的效果不同surfl(…,’cdata’)改變曲面顏色數(shù)據(jù)(colordata),使曲面成為可反光的曲面surfl(…,s)指定光源與曲面之間的方位s,其中s為一個(gè)二維向量[azimuth,elevation],或者三維向量[sx,sy,sz],默認(rèn)光源方位為從當(dāng)前視角開始,逆時(shí)針轉(zhuǎn)45°surfl(X,Y,Z,s,k)指定反射常系數(shù)k,其中k為一個(gè)定義環(huán)境光(ambientlight)系數(shù)(0≤ka≤1)、漫反射(diffusereflection)系數(shù)(0≤kb≤1)、鏡面反射(specularreflection)系數(shù)(0≤ks≤1)與鏡面反射亮度(以相素為單位)等的四維向量[ka,kd,ks,shine],默認(rèn)值為k=[0.550.60.410]h=surfl(…)返回一個(gè)曲面圖形句柄向量h

表surfl命令的使用格式圖不同樣式的的山峰表面圖2.fsurf命令

表ezsurf命令的使用格式

圖fsurf作圖4.4.4散點(diǎn)圖命令調(diào)用格式說(shuō)明scatter3(X,Y,Z)在X,Y和Z指定的位置顯示圓scatter3(X,Y,Z,S)以S指定的大小繪制每個(gè)圓。scatter3(X,Y,Z,S,C)用C指定的顏色繪制每個(gè)圓scatter3(___,'filled')使用前面語(yǔ)法中的任何輸入?yún)?shù)組合填充圓圈。scatter3(___,markertype)markertype指定標(biāo)記類型。scatter3(___,Name,Value)對(duì)指定的屬性Name設(shè)置屬性值Value,可以在同一語(yǔ)句中對(duì)多個(gè)屬性進(jìn)行設(shè)置scatter3(ax,___)繪制到ax指定的軸中。h=scatter3(___)使用h修改散點(diǎn)圖的屬性。表scatter3命令的使用格式

圖散點(diǎn)圖

圖螺旋散點(diǎn)圖4.5三維圖形修飾處理4.5.1視角處理

表view命令的使用格式圖函數(shù)的網(wǎng)格圖4.5.2顏色處理1.顏色控制調(diào)配矩陣顏色調(diào)配矩陣顏色[111]白色[110]黃色[101]洋紅色[011]青色[100]紅色[001]藍(lán)色[010]綠色[000]黑色[0.50.50.5]灰色[0.500]暗紅色[10.620.4]紅負(fù)色[0.4910.83]碧綠色

表顏色調(diào)配表調(diào)用格式說(shuō)明colormap([RGB])設(shè)置當(dāng)前色圖為由矩陣[RGB]所調(diào)配出的顏色colormap('default')設(shè)置當(dāng)前色圖為默認(rèn)顏色cmap=colormap獲取當(dāng)前色的調(diào)配矩陣表colormap命令的使用格式調(diào)用函數(shù)色圖名稱調(diào)用函數(shù)色圖名稱autumn紅色黃色陰影色圖jethsv的一種變形(以藍(lán)色開始和結(jié)束)bone帶一點(diǎn)藍(lán)色的灰度色圖lines線性色圖colorcube增強(qiáng)立方色圖pink粉紅色圖cool青紅濃淡色圖prism光譜色圖copper線性銅色spring洋紅黃色陰影色圖flag紅、白、藍(lán)、黑交錯(cuò)色圖summer綠色黃色陰影色圖gray線性灰度色圖white全白色圖hot黑、紅、黃、白色圖winter藍(lán)色綠色陰影色圖hsv色彩飽和色圖(以紅色開始和結(jié)束)

表色圖及調(diào)用函數(shù)2.色圖明暗控制命令調(diào)用格式說(shuō)明brighten(beta)增強(qiáng)或減小色圖的色彩強(qiáng)度,若0<beta<1,則增強(qiáng)色圖強(qiáng)度;若-1<beta<0,則減小色圖強(qiáng)度brighten(h,beta)增強(qiáng)或減小句柄h指向的對(duì)象的色彩強(qiáng)度newmap=brighten(beta)返回一個(gè)比當(dāng)前色圖增強(qiáng)或減弱的新的色圖newmap=brighten(cmap,beta)該命令沒(méi)有改變指定色圖cmap的亮度,而是返回變化后的色圖給newmap表brighten命令的使用格式

圖4-30色圖強(qiáng)弱對(duì)比3.色軸刻度調(diào)用格式說(shuō)明

caxis([cmincmax])將顏色的刻度范圍設(shè)置為[cmincmax]。數(shù)據(jù)中小于cmin或大于cmax的,將分別映射于cmin與cmax;處于cmin與cmax之間的數(shù)據(jù)將線性地映射于當(dāng)前色圖caxisauto讓系統(tǒng)自動(dòng)地計(jì)算數(shù)據(jù)的最大值與最小值對(duì)應(yīng)的顏色范圍,這是系統(tǒng)的默認(rèn)狀態(tài)。數(shù)據(jù)中的Inf對(duì)應(yīng)于最大顏色值;-Inf對(duì)應(yīng)于最小顏色值;帶顏色值設(shè)置為NaN的面或邊界將不顯示caxismanual凍結(jié)當(dāng)前顏色坐標(biāo)軸的刻度范圍。這樣,當(dāng)hold設(shè)置為on時(shí),可使后面的圖形命令使用相同的顏色范圍caxis(caxis)同上v=caxis返回一包含當(dāng)前正在使用的顏色范圍的二維向量v=[cmincmax]caxis(axes_handle,…)使用由參量axis_handle指定的坐標(biāo)軸,而非當(dāng)前坐標(biāo)軸表caxis命令的使用格式調(diào)用格式說(shuō)明colorbar在當(dāng)前圖形窗口中顯示當(dāng)前色軸colorbar(‘vert’)增加一個(gè)垂直色軸colorbar(‘horiz’)增加一個(gè)水平色軸colorbar(h)在h指定的位置放置一個(gè)色軸,若圖形寬度大于高度,則將色軸水平放置h=colorbar(…)返回一個(gè)指向色軸的句柄

表colorbar命令的使用格式

圖色軸控制圖4.顏色渲染設(shè)置調(diào)用格式說(shuō)明shadingflat使網(wǎng)格圖上的每一線段與每一小面有一相同顏色,該顏色由線段末端的顏色確定;或由小面的、有小型的下標(biāo)或索引的四個(gè)角的顏色確定shadingfaceted用重疊的黑色網(wǎng)格線來(lái)達(dá)到渲染效果。這是默認(rèn)的渲染模式shadinginterp在每一線段與曲面上顯示不同的顏色,該顏色為通過(guò)在每一線段兩邊或?yàn)椴煌∏嬷g的色圖的索引或真顏色進(jìn)行內(nèi)插值得到的顏色表shading命令的使用格式

圖顏色渲染控制圖4.6操作實(shí)例——繪制函數(shù)的三維視圖函數(shù)方程為,繪制該函數(shù)方程的三維視圖。操作步驟:1.繪制三維圖形2.轉(zhuǎn)換視圖3.視圖添加等值線4.填充圖形5.創(chuàng)建半透明曲面6.關(guān)閉邊顯示曲面7.半透明視圖8.透視圖9.裁剪處理

圖主視圖圖轉(zhuǎn)換視角圖帶等值線的表面圖圖填充結(jié)果圖半透明曲面

圖無(wú)邊視圖圖半透明圖圖透視圖結(jié)果圖坐標(biāo)系轉(zhuǎn)換結(jié)果

圖裁剪圖4.7課后習(xí)題1.圖形窗口的打開方式有幾種?2.在同一個(gè)窗口中繪制多條三維曲線,包括幾種方法?.3.繪制下面的曲線。(1)(2)4.在圖形窗口中顯示函數(shù)在已知的區(qū)間100等分取值計(jì)算的結(jié)果。5.設(shè)x=rcost+3t,y=rsint+3,分別令r=2,3,4,畫出參數(shù)t=0~10區(qū)間生成的x~y曲線。6.在MATLAB中,提供了一個(gè)演示函數(shù)peaks,它是用來(lái)產(chǎn)生一個(gè)山峰曲面的函數(shù),利用它畫兩個(gè)圖,一個(gè)不顯示其背后的網(wǎng)格,一個(gè)顯示其背后的網(wǎng)格。7.畫出下面參數(shù)曲面的圖像:8.利用MATLAB內(nèi)部函數(shù)peaks繪制山峰表面圖。9.畫出一個(gè)半徑變化的柱面。10.繪制具有5個(gè)等值線的山峰函數(shù)peaks,然后對(duì)各個(gè)等值線進(jìn)行標(biāo)注,并給所畫的圖加上標(biāo)題。11.畫出下面的三維曲線的圖像12.畫出下面函數(shù)的圖像。13.畫出曲面在x∈的圖像及其在xy面的等值線圖。第5章符號(hào)運(yùn)算5.1符號(hào)與多項(xiàng)式5.1.1字符串1.字符串的生成直接賦值生成由函數(shù)char來(lái)生成字符數(shù)組2.?dāng)?shù)值數(shù)組和字符串之間的轉(zhuǎn)換3.字符串操作命令名說(shuō)明命令名說(shuō)明num2str數(shù)字轉(zhuǎn)換成字符串str2num字符串轉(zhuǎn)換為數(shù)字in2str整數(shù)轉(zhuǎn)換成字符串spintf將格式數(shù)據(jù)寫成字符串mat2str矩陣轉(zhuǎn)換成字符串sscanf在格式控制下讀字符串表數(shù)值數(shù)組合字符串之間的轉(zhuǎn)換函數(shù)表命令名說(shuō)明命令名說(shuō)明strcat水平串聯(lián)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論