版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MATLAB 程式設(shè)計(jì)入門篇二維平面繪圖,張智星jang@cs.nthu.edu.twhttp://www.cs.nthu.edu.tw/~jang清大資工系 多媒體檢索實(shí)驗(yàn)室,3-1 基本的繪圖指令,Plot : 最基本的繪圖指令對(duì) x 座標(biāo)及相對(duì)應(yīng)的 y 座標(biāo)進(jìn)行作圖範(fàn)例3-1:plotxy01.m,x = linspace(0, 2*pi);% 在 0 到 2π 間,等分取 100 個(gè)點(diǎn) y = sin(x);
2、% 計(jì)算 x 的正弦函數(shù)值 plot(x, y);% 進(jìn)行二維平面描點(diǎn)作圖,Plot基本繪圖-1,,linspace(0, 2*pi) 產(chǎn)生從 0 到 2π且長(zhǎng)度為 100 (預(yù)設(shè)值)的向量 x y 是對(duì)應(yīng)的 y 座標(biāo)只給定一個(gè)向量該向量則對(duì)其索引值(Index)作圖plot(y)和plot(1:length(y), y)會(huì)得到相同的結(jié)果,,Plot基本繪圖-2 (I),一次畫出多條曲線 將 x 及 y 座標(biāo)依
3、次送入plot 指令範(fàn)例3-2:plotxy02.m,x = linspace(0, 2*pi); % 在 0 到 2 間,等分取 100 個(gè)點(diǎn)plot(x, sin(x), x, cos(x), x, sin(x)+cos(x)); % 進(jìn)行多條曲線描點(diǎn)作圖,,,,Plot基本繪圖-2 (II),Plot(x,sin(x), x, cos(x), x, sin(x)+cos(x));,,,,,,,,,,,畫
4、出多條曲線時(shí),會(huì)自動(dòng)輪換曲線顏色,Plot基本繪圖-3 (I),若要以不同的線標(biāo)(Marker)來作圖範(fàn)例3-3:plotxy03.m,x = linspace(0, 2*pi);% 在 0 到 2 間,等分取 100 個(gè)點(diǎn) plot(x, sin(x), 'o', x, cos(x), 'x', x, sin(x)+cos(x), '*');,,Plot基本繪圖-3 (II),
5、,,Plot基本繪圖-4 (I),只給定一個(gè)矩陣 y對(duì)矩陣 y 的每一個(gè)行向量(Column Vector)作圖範(fàn)例3-4:plot04.m,y = peaks;% 產(chǎn)生一個(gè) 49×49 的矩陣 plot(y);% 對(duì)矩陣 y 的每一個(gè)行向量作圖,Plot基本繪圖-4 (II),peaks 指令產(chǎn)生一個(gè)49×49的矩陣,代表二維函數(shù)的值plot(y) 直接畫出 49 條直線類似於從側(cè)面觀看 pe
6、aks 函數(shù),,Plot基本繪圖-5 (I),x 和 y 都是矩陣plot(x, y) 會(huì)取用 y 的每一個(gè)行向量和對(duì)應(yīng)的 x 行向量作圖範(fàn)例3-5:plotxy05.m,x = peaks; y = x';% 求矩陣 x 的轉(zhuǎn)置矩陣 x' plot(x, y);% 取用矩陣 y 的每一行向量,與對(duì)應(yīng)矩陣 x % 的每一個(gè)行向量作圖,Plot基本繪圖-5 (II),,,提示,一般情況下,MATLAB
7、 將矩陣視為行向量的集合對(duì)只能處理向量的函數(shù)(Ex : max、min、 mean)給定一個(gè)矩陣,函數(shù)會(huì)對(duì)矩陣的行向量一一進(jìn)行處理或運(yùn)算,Plot基本繪圖-6 (I),z 是一個(gè)複數(shù)向量或矩陣plot(z) 將 z 的實(shí)部(即 real(z))和虛部(即 imag(z))當(dāng)成 x 座標(biāo)和 y 座標(biāo)來作圖,其效果等於 plot(real(z), imag(z))範(fàn)例3-6:plotxy06.m,x = randn(30);%
8、產(chǎn)生 30×30 的亂數(shù)(正規(guī)分佈)矩陣z = eig(x);% 計(jì)算 x 的「固有值」(或稱「特徵值」)plot(z, 'o')grid on% 畫出格線,Plot基本繪圖-6 (II),x 是一個(gè) 30×30 的亂數(shù)矩陣z 則是 x 的「固有值」(Eigenvalue,或「特徵值」)z 是複數(shù)向量,且每一個(gè)複數(shù)都和其共軛複數(shù)同時(shí)出現(xiàn),因此畫出的圖是上下對(duì)稱,,基本二維繪圖指令,,P
9、lot基本繪圖-7 (I),Semilogx指令使 x 軸為對(duì)數(shù)刻度,對(duì)正弦函數(shù)作圖範(fàn)例plotxy07.m,x = linspace(0, 8*pi);% 在 0 到 8 間,等分取 100 個(gè)點(diǎn)semilogx(x, sin(x)); % 使 x 軸為對(duì)數(shù)刻度,並對(duì)其正弦函數(shù)作圖,Plot基本繪圖-7 (II),,,,X軸為對(duì)數(shù)刻度,Plot基本繪圖-8 (I),plotyy 指令畫出兩個(gè)刻度不同的 y 軸範(fàn)例3-
10、8:plotxy08.m,x = linspace(0, 2*pi);% 在 0 到 2 間,等分取 100 個(gè)點(diǎn) y1 = sin(x); y2 = exp(-x); plotyy(x, y1, x, y2); % 畫出兩個(gè)刻度不同的 y 軸,分別是 y1, y2,Plot基本繪圖-8 (II),y1 的刻度是在左手邊y2 的刻度是在右手邊兩邊的刻度不同,,,,Y1的刻度,Y2的刻度,3-2 圖形的控制,plot
11、 指令,可以接受一個(gè)控制字串輸入用以控制曲線的顏色、格式及線標(biāo)使用語法plot(x, y, ‘CLM‘)C:曲線的顏色(Colors) L:曲線的格式(Line Styles) M:曲線所用的線標(biāo)(Markers),圖形控制範(fàn)例-1 (I),用黑色點(diǎn)線畫出正弦波每一資料點(diǎn)畫上一個(gè)小菱形範(fàn)例3-9:plotxy09.m,x = 0:0.5:4*pi;% x 向量的起始與結(jié)束元素為 0 及 4, % 0.5為各元素
12、相差值y = sin(x); plot(x, y,‘k:diamond’)% 其中「k」代表黑色,「:」代表點(diǎn)% 線,而「diamond 」則指定菱形為曲% 線的線標(biāo),圖形控制範(fàn)例-1 (II),,,plot 指令的曲線顏色,,plot 指令的曲線格式,,plot 指令的曲線線標(biāo) (I),,plot 指令的曲線線標(biāo) (II),,3-3 圖軸的控制,plot 指令會(huì)根據(jù)座標(biāo)點(diǎn)自動(dòng)決定圖軸範(fàn)圍也可以使用 axis 指令指
13、定圖軸範(fàn)圍使用語法:axis([xmin, xmax, ymin, ymax])xmin , xmax:指定 x 軸的最小和最大值ymin , ymax:指定 y 軸的最小和最大值,圖軸控制範(fàn)例-1 (I),畫出正弦波在 y 軸介於 0 和 1 的部份範(fàn)例3-10:plotxy10.m,x = 0:0.1:4*pi;% 起始與結(jié)束元素為 0 及 4,0.1 為各% 元素相差值y = sin(x);plot(x,
14、y);axis([-inf, inf, 0, 1]);% 畫出正弦波 y 軸介於 0 和 1 的部份,圖軸控制範(fàn)例-1 (II),inf指令:以資料點(diǎn)(上例: x 軸的資料點(diǎn))的最小和最大值取代之,,圖軸控制範(fàn)例-2 (I),指定圖軸上的格線點(diǎn)(Ticks)範(fàn)例3-11:plotxy11.m,x = 0:0.1:4*pi;plot(x, sin(x)+sin(3*x))set(gca, ‘ytick’, [-1 -0.3 0
15、.1 1]);% 在 y 軸加上格線點(diǎn)grid on% 加上格線,圖軸控制範(fàn)例-2 (II),grid on:加上格線gca:get current axis的簡(jiǎn)稱傳回目前使用中的圖軸 gca屬Handle Graphics的指令,第七章會(huì)有更詳細(xì)的說明,,,使用者加入的格線點(diǎn)和文字,圖軸控制範(fàn)例-3 (I),將格線點(diǎn)的數(shù)字改為文字範(fàn)例3-12:plotxy12.m,x = 0:0.1:4*pi;plot(x,
16、sin(x)+sin(3*x))set(gca, 'ytick', [-1 -0.3 0.1 1]);% 改變格線點(diǎn)set(gca, ‘yticklabel’, {‘極小’,‘臨界值’,‘崩潰值’,‘極大’});% 改變格線點(diǎn)的文字grid on% 加上格線,圖軸控制範(fàn)例-3 (II),,,Subplot,subplot在一個(gè)視窗產(chǎn)生多個(gè)圖形(圖軸)一般形式為 subplot (m,
17、 n, p)將視窗分為 m ×n 個(gè)區(qū)域 下一個(gè) plot 指令繪圖於第 p 個(gè)區(qū)域 p 的算法為由左至右,一列一列,圖軸控制範(fàn)例-4 (I),同時(shí)畫出四個(gè)圖於一個(gè)視窗中範(fàn)例3-13:plotxy13.m,x = 0:0.1:4*pi; subplot(2, 2, 1); plot(x, sin(x));% 此為左上角圖形subplot(2, 2, 2); plot(x, cos(x));% 此為右上角圖
18、形subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5));% 此為左下角圖形subplot(2, 2, 4); plot(x, x.^2);% 此為右下角圖形,圖軸控制範(fàn)例-4 (II),,,Subplot(2,2,1),Subplot(2,2,3),Subplot(2,2,2),Subplot(2,2,4),,,,,圖軸控制範(fàn)例-5 (I),長(zhǎng)寬比(Aspect Ratio)一般圖軸長(zhǎng)寬比
19、是視窗的長(zhǎng)寬比可在 axis 指令後加不同的字串來修改範(fàn)例3-14:plotxy14.m,t = 0:0.1:2*pi;x = 3*cos(t);y = sin(t);subplot(2, 2, 1); plot(x, y); axis normalsubplot(2, 2, 2); plot(x, y); axis squaresubplot(2, 2, 3); plot(x, y); axis equalsubplo
20、t(2, 2, 4); plot(x, y); axis equal tight,圖軸控制範(fàn)例-5 (II),,,axis normal,axis equal,axis square,axis square tight,,,,,改變圖軸長(zhǎng)寬比的指令,改變目前圖軸長(zhǎng)寬比的指令需在 plot 指令之後呼叫才能發(fā)揮效用,改變圖軸背景顏色的指令,colordef改變圖軸與視窗之背景顏色先呼叫 colordef 指令,其後 plot 指令產(chǎn)
21、生的圖形才有效用,grid 和 box 指令,畫出格線或畫出圖軸外圍的方形,3-4 加入說明文字,在圖形或圖軸加入說明文字,增進(jìn)整體圖形的可讀性,說明文字範(fàn)例-1 (I),範(fàn)例3-15:plotxy15.m,subplot(1,1,1); x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x); plot(x, y1, '--*', x, y2, ':o');
22、 xlabel('t = 0 to 2\pi'); ylabel('values of sin(t) and e^{-x}') title('Function Plots of sin(t) and e^{-x}'); legend('sin(t)','e^{-x}');,說明文字範(fàn)例-1 (II),,legend 指令畫出一小方塊,包含每條
23、曲線的說明「\」為特殊符號(hào)產(chǎn)生上標(biāo)、下標(biāo)、希臘字母、數(shù)學(xué)符號(hào)等遵循一般 LaTex 或 TeX數(shù)學(xué)模式,,說明文字範(fàn)例-2 (I),text指令使用語法: text(x, y, string) x、y :文字的起始座標(biāo)位置string :代表此文字範(fàn)例3-16:plotxy16.m,x = 0:0.1:2*pi;plot(x, sin(x), x, cos(x));text(pi/4, sin(pi/4),'
24、\leftarrow sin(\pi/4) = 0.707');text(5*pi/4, cos(5*pi/4),'cos(5\pi/4) = -0.707\rightarrow', 'HorizontalAlignment', 'right');,說明文字範(fàn)例-2 (II),,「HorizontalAlignment」及「right」指示 text 指令將文字向右水平靠齊,,
25、gtext指令,使用語法gtext(string) 在圖上點(diǎn)選一位置後,string 顯示在其上。gtext 只能用在二維平面繪圖,3-5 其他平面繪圖指令,各種二維繪圖指令,其他平面繪圖範(fàn)例-1 (I),已知資料的誤差範(fàn)圍,用 errorbar 表示以 y 座標(biāo)高度 20% 作為做資料的誤差範(fàn)圍範(fàn)例3-17:plotxy17.m,x = linspace(0,2*pi,30);% 在 0 到 2 間,等分取 30 個(gè)點(diǎn)y
26、 = sin(x);e = y*0.2;errorbar(x,y,e)% 圖形上加上誤差範(fàn)圍 e,其他平面繪圖範(fàn)例-1 (II),,,誤差範(fàn)圍,,其他平面繪圖範(fàn)例-2 (I),fplot 指令對(duì)劇烈變化處進(jìn)行較密集的取樣範(fàn)例3-18:plotxy18.m,fplot('sin(1/x)', [0.02 0.2]);% [0.02 0.2]是繪圖範(fàn)圍,,其他平面繪圖範(fàn)例-2 (II),,,此區(qū)作較精確的取點(diǎn)
27、繪圖,,,其他平面繪圖範(fàn)例-3 (I),polar 指令產(chǎn)生極座標(biāo)圖形範(fàn)例3-19:plotxy19.m,theta = linspace(0, 2*pi); r = cos(4*theta); polar(theta, r);% 進(jìn)行極座標(biāo)繪圖,其他平面繪圖範(fàn)例-3 (II),,,直方圖及hist指令,直方圖(Histogram)對(duì)大量的資料,顯示資料的分佈情況和統(tǒng)計(jì)特性hist指令將資料依大小分成數(shù)堆,
28、將每堆的個(gè)數(shù)畫出,其他平面繪圖範(fàn)例-4 (I),將 10000 個(gè)由 randn 產(chǎn)生的正規(guī)分佈之亂數(shù)分成 25 堆範(fàn)例3-20:plotxy20.m,x = randn(10000, 1);% 產(chǎn)生 10000 個(gè)正規(guī)分佈亂數(shù) hist(x, 25);% 繪出直方圖,顯示 x 資料的分佈情%況和統(tǒng)計(jì)特性,數(shù)字 25 代表資料依%大小分堆的堆數(shù),即是指方圖內(nèi)長(zhǎng)條%的個(gè)數(shù) set(findob
29、j(gca, ‘type’, ‘patch’), ‘edgecolor’, ‘w’);% 將長(zhǎng)條%圖的邊緣設(shè)定成白色,其他平面繪圖範(fàn)例-4 (II),質(zhì)方圖逼近亂數(shù)的機(jī)率分佈函數(shù),且資料量越大時(shí),逼近程度越高,,其他平面繪圖範(fàn)例-5 (I),rose指令角度:資料大小距離:資料個(gè)數(shù)以極座標(biāo)繪製表示範(fàn)例3-21:plotxy21.m,x = randn(5000, 1);% 產(chǎn)生 5000 個(gè)正規(guī)分佈的亂數(shù)rose
30、(x);% x 資料大小為角度,x 資料個(gè)數(shù)為距離,%以繪製類似玫瑰花瓣的極座標(biāo)直方圖,其他平面繪圖範(fàn)例-5 (II),,,其他平面繪圖範(fàn)例-6 (I),compass 指令畫出以原點(diǎn)為起始點(diǎn)的向量圖稱為「羅盤圖」範(fàn)例3-22:plotxy22.m,theta = linspace(0, 2*pi, 50);rho = sin(0.5*theta);[x, y] = pol2cart(theta, rho);%
31、 由極座標(biāo)轉(zhuǎn)換至直角座標(biāo)compass(x, y);% 畫出以原點(diǎn)為向量起始點(diǎn)% 的羅盤圖,其他平面繪圖範(fàn)例-6 (II),範(fàn)例3-23:plotxy23.m,若只有一個(gè)引數(shù)輸入z將 z 的實(shí)部做為 x 座標(biāo),將 z 的虛部做為 y 座標(biāo),再進(jìn)行作圖compass(z) 即等效於 compass(real(z),imag(z))上述四列程式碼可簡(jiǎn)化,,theta = linspace(0, 2*pi, 50);
32、 compass(sin(0.5*theta).*exp(j*theta));,其他平面繪圖範(fàn)例-7 (I),羽毛圖起始點(diǎn)是 (k, 0),k = 1~n ,其中 n 是向量個(gè)數(shù)範(fàn)例3-24:plotxy24.m,theta = linspace(0.2*pi,50);rho = 10;[x, y] = pol2cart(theta,rho);% 由極座標(biāo)轉(zhuǎn)換至直角座標(biāo)feather(x, y);% 繪製羽毛圖,其他
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- matlab程式設(shè)計(jì)入門篇初探matlab
- matlab程式設(shè)計(jì)入門篇影像顯示與讀寫
- matlab程式設(shè)計(jì)入門篇程式碼與記憶體之最佳化
- matlab程式設(shè)計(jì)入門篇一般數(shù)學(xué)函數(shù)的處理與分析-mirlab
- matlab程式設(shè)計(jì)與應(yīng)用
- net程式設(shè)計(jì)入門(使用c#)-國立臺(tái)灣大學(xué)資訊工程學(xué)系
- 實(shí)驗(yàn)6二維繪圖
- 店長(zhǎng)手冊(cè)(一)入門篇
- vb入門篇之虎虎
- 【入門篇】微博教程
- 自己動(dòng)手來裝修-入門篇
- 速成圍棋入門篇(下)答案
- 速成圍棋入門篇(中)答案
- 咖啡教程(新手入門篇)
- 二維繪圖工具文檔_xjh
- matlab二維圖形注釋命令
- 速成圍棋入門篇(中)答案
- 速成圍棋入門篇上答案
- 利用matlab繪制二維函數(shù)圖形
- 漢語口語速成(入門篇下)
評(píng)論
0/150
提交評(píng)論