03-二维平面绘图99169ppt课件_第1页
03-二维平面绘图99169ppt课件_第2页
03-二维平面绘图99169ppt课件_第3页
03-二维平面绘图99169ppt课件_第4页
03-二维平面绘图99169ppt课件_第5页
已阅读5页,还剩58页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB 程式設計入門篇二維平面繪圖張智星.tw/jang清大資工系 多媒體檢索實驗室MATLAB 程式設計入門篇:二維平面繪圖3-1 基本的繪圖指令nPlot : 最基本的繪圖指令n對 x 座標及相對應的 y 座標進行作圖n範例3-1:plotxy01.mx = linspace(0, 2*pi);% 在 0 到 2 間,等分取 100 個點 y = sin(x);% 計算 x 的正弦函數值 plot(x, y);% 進行二維平面描點作圖MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-1nlinspace(0, 2*p

2、i) 產生從 0 到 2且長度為 100 (預設值)的向量 x ny 是對應的 y 座標n只給定一個向量n該向量則對其索引值(Index)作圖nplot(y)和plot(1:length(y), y)會得到相同的結果 01234567-1-0.8-0.6-0.4-0.60.81MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-2 (I)n一次畫出多條曲線 n將 x 及 y 座標依次送入plot 指令n範例3-2:plotxy02.mx = linspace(0, 2*pi); % 在 0 到 2 間,等分取 100 個點plot(x, sin(x), x, cos

3、(x), x, sin(x)+cos(x); % 進行多條曲線描點作圖MATLAB 程式設計入門篇:二維平面繪圖01234567-1.5-1-0.500.511.5Plot基本繪圖-2 (II)Plot(x,sin(x), x, cos(x), x, sin(x)+cos(x); 畫出多條曲線時,會自動輪換曲線顏色 MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-3 (I)n若要以不同的線標(Marker)來作圖n範例3-3:plotxy03.mx = linspace(0, 2*pi);% 在 0 到 2 間,等分取 100 個點 plot(x, sin(x), o, x, co

4、s(x), x, x, sin(x)+cos(x), *);MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-3 (II)01234567-1.5-1-0.500.511.5MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-4 (I)n只給定一個矩陣 yn對矩陣 y 的每一個行向量(Column Vector)作圖n範例3-4:plot04.my = peaks;% 產生一個 4949 的矩陣 plot(y);% 對矩陣 y 的每一個行向量作圖MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-4 (II)n npeaks 指令產生一個4949的矩陣,代表二維函數的

5、值nplot(y) 直接畫出 49 條直線n類似於從側面觀看 peaks 函數05101520253035404550-8-6-4-20246810MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-5 (I)nx 和 y 都是矩陣nplot(x, y) 會取用 y 的每一個行向量和對應的 x 行向量作圖n範例3-5:plotxy05.mx = peaks; y = x;% 求矩陣 x 的轉置矩陣 x plot(x, y);% 取用矩陣 y 的每一行向量,與對應矩陣 x % 的每一個行向量作圖MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-5 (II)-8-6-4-2024

6、6810-8-6-4-20246810MATLAB 程式設計入門篇:二維平面繪圖提示n一般情況下,MATLAB 將矩陣視為行向量的集合n對只能處理向量的函數(Ex : max、min、 mean)n給定一個矩陣,函數會對矩陣的行向量一一進行處理或運算MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-6 (I)n z 是一個複數向量或矩陣nplot(z) 將 z 的實部(即 real(z)和虛部(即 imag(z)當成 x 座標和 y 座標來作圖,n其效果等於 plot(real(z), imag(z)n範例3-6:plotxy06.mx = randn(30);% 產生 3030 的

7、亂數(正規分佈)矩陣z = eig(x);% 計算 x 的固有值(或稱特徵值)plot(z, o)grid on% 畫出格線MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-6 (II)n nx 是一個 3030 的亂數矩陣nz 則是 x 的固有值(Eigenvalue,或特徵值)nz 是複數向量,且每一個複數都和其共軛複數同時出現,因此畫出的圖是上下對稱-8-6-4-20246-5-4-3-2-1012345MATLAB 程式設計入門篇:二維平面繪圖基本二維繪圖指令指令說明Plotx 軸和 y 軸均為線性刻度(Linear Scale) loglogx 軸和 y 軸均為對數刻度(L

8、ogarithmic Scale)semilogxx 軸為對數刻度,y 軸為線性刻度 semilogyx 軸為線性刻度,y 軸為對數刻度 plotyy畫出兩個刻度不同的y軸 MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-7 (I)nSemilogx指令n使 x 軸為對數刻度,對正弦函數作圖n範例plotxy07.mx = linspace(0, 8*pi);% 在 0 到 8 間,等分取 100 個點semilogx(x, sin(x); % 使 x 軸為對數刻度,並對其正弦函數作圖MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-7 (II)10-1100101102

9、-1-0.8-0.6-0.4-0.60.81X軸為對數刻度MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-8 (I)nplotyy 指令n畫出兩個刻度不同的 y 軸n範例3-8:plotxy08.mx = linspace(0, 2*pi);% 在 0 到 2 間,等分取 100 個點 y1 = sin(x); y2 = exp(-x); plotyy(x, y1, x, y2); % 畫出兩個刻度不同的 y 軸,分別是 y1, y2MATLAB 程式設計入門篇:二維平面繪圖Plot基本繪圖-8 (II)n ny1 的刻度是在左手邊ny2 的刻度是在右手邊n兩邊

10、的刻度不同01234567-1010123456700.51Y1的刻度Y2的刻度MATLAB 程式設計入門篇:二維平面繪圖3-2 圖形的控制nplot 指令,可以接受一個控制字串輸入n用以控制曲線的顏色、格式及線標n使用語法nplot(x, y, CLM)nC:曲線的顏色(Colors) nL:曲線的格式(Line Styles) nM:曲線所用的線標(Markers) MATLAB 程式設計入門篇:二維平面繪圖圖形控制範例-1 (I)n用黑色點線畫出正弦波n每一資料點畫上一個小菱形n範例3-9:plotxy09.mx = 0:0.5:4*pi;% x 向量的起始與結束元素為 0 及 4, %

11、 0.5為各元素相差值y = sin(x); plot(x, y,k:diamond)% 其中k代表黑色,:代表點% 線,而diamond 則指定菱形為曲% 線的線標MATLAB 程式設計入門篇:二維平面繪圖圖形控制範例-1 (II)02468101214-1-0.8-0.6-0.4-0.60.81MATLAB 程式設計入門篇:二維平面繪圖plot 指令的曲線顏色 Plot指令的曲線顏色字串曲線顏色RGB值b藍色(Blue)(0,0,1)c青藍色(Cyan)(0,1,1)g綠色(Green)(0,1,0)k黑色(Black)(0,0,0)m紫黑色(Magenta)(1,0,

12、1)r紅色(Red)(1,0,0)w白色(1,1,1)y黃色(Yellow)(1,1,0)MATLAB 程式設計入門篇:二維平面繪圖plot 指令的曲線格式 plot 指令的曲線格式字串 曲線格式 -實線(預設值) -虛線 : 點線 -. 點虛線 MATLAB 程式設計入門篇:二維平面繪圖plot 指令的曲線線標 (I) plot 指令的曲線線標字串 曲線符號符號 O圓形+加號X叉號*星號.點號朝上三角形V朝下三角形MATLAB 程式設計入門篇:二維平面繪圖plot 指令的曲線線標 (II) plot 指令的曲線線標字串 曲線符號符號 朝右三角形朝左三角形square方形diamond菱形pe

13、ntagram五角星形hexagram六角星形None無符號(預設值)MATLAB 程式設計入門篇:二維平面繪圖3-3 圖軸的控制nplot 指令會根據座標點自動決定圖軸範圍n也可以使用 axis 指令指定圖軸範圍n使用語法:naxis(xmin, xmax, ymin, ymax)nxmin , xmax:指定 x 軸的最小和最大值nymin , ymax:指定 y 軸的最小和最大值MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-1 (I)n畫出正弦波在 y 軸介於 0 和 1 的部份n範例3-10:plotxy10.mx = 0:0.1:4*pi;% 起始與結束元素為 0 及 4,

14、0.1 為各% 元素相差值y = sin(x);plot(x, y);axis(-inf, inf, 0, 1);% 畫出正弦波 y 軸介於 0 和 1 的部份MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-1 (II)ninf指令:n以資料點(上例: x 軸的資料點)的最小和最大值取代之024681011MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-2 (I)n指定圖軸上的格線點(Ticks)n範例3-11:plotxy11.mx = 0:0.1:4*pi;plot(x, sin(x)+sin(3*x)set(gca

15、, ytick, -1 -0.3 0.1 1);% 在 y 軸加上格線點grid on% 加上格線MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-2 (II)ngrid on:加上格線ngca:nget current axis的簡稱n傳回目前使用中的圖軸 ngca屬Handle Graphics的指令,第七章會有更詳細的說明 02468101214-1-0.30.11使用者加入的格線點和文字MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-3 (I)n將格線點的數字改為文字n範例3-12:plotxy12.mx = 0:0.1:4*pi;plot(x, sin(x)+sin(3

16、*x)set(gca, ytick, -1 -0.3 0.1 1);% 改變格線點set(gca, yticklabel, 極小,臨界值,崩潰值,極大);% 改變格線點的文字grid on% 加上格線MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-3 (II) MATLAB 程式設計入門篇:二維平面繪圖Subplotn subplotn在一個視窗產生多個圖形(圖軸)n一般形式為 subplot (m, n, p)n將視窗分為 m n 個區域 n下一個 plot 指令繪圖於第 p 個區域n p 的算法為由左至右,一列一列MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-4 (I)n

17、同時畫出四個圖於一個視窗中n範例3-13:plotxy13.mx = 0:0.1:4*pi; subplot(2, 2, 1); plot(x, sin(x);% 此為左上角圖形subplot(2, 2, 2); plot(x, cos(x);% 此為右上角圖形subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5);% 此為左下角圖形subplot(2, 2, 4); plot(x, x.2);% 此為右下角圖形MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-4 (II) 051015-1-0.500.51051015-1-0.500.51051015-

18、0.500.51051015050100150200Subplot(2,2,1)Subplot(2,2,3)Subplot(2,2,2)Subplot(2,2,4)MATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-5 (I)n長寬比(Aspect Ratio)n一般圖軸長寬比是視窗的長寬比n可在 axis 指令後加不同的字串來修改n範例3-14:plotxy14.mt = 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); axi

19、s squaresubplot(2, 2, 3); plot(x, y); axis equalsubplot(2, 2, 4); plot(x, y); axis equal tightMATLAB 程式設計入門篇:二維平面繪圖圖軸控制範例-5 (II) -4-2024-1-0.500.51-505-1-0.500.51-2-10123-2-1012-2-10123-0.500.5axis normalaxis equalaxis squareaxis square tightMATLAB 程式設計入門篇:二維平面繪圖改變圖軸長寬比的指令n改變目前圖軸長寬比的指令n需在 plot 指令之後呼

20、叫才能發揮效用指令說明axis normal使用預設長寬比(等於圖形長寬比)axis square長寬比例為 1axis equal長寬比例不變,但兩軸刻度一致axis equal tight兩軸刻度比例一致,且圖軸貼緊圖形 axis image兩軸刻度比例一致(適用於影像顯示)MATLAB 程式設計入門篇:二維平面繪圖改變圖軸背景顏色的指令ncolordefn改變圖軸與視窗之背景顏色n先呼叫 colordef 指令,其後 plot 指令產生的圖形才有效用指令說明colordef white 圖軸背景為白色,視窗背景為淺灰色colordef black 圖軸背景為黑色,視窗背景為暗灰色colo

21、rdef none圖軸背景為黑色,視窗背景為黑色(這是 MATLAB 第 4 版的預設值)MATLAB 程式設計入門篇:二維平面繪圖grid 和 box 指令n畫出格線或畫出圖軸外圍的方形指令說明grid on 畫出格線 grid off 取消格線 box on 畫出圖軸的外圍長方形 box off 取消圖軸的外圍長方形 MATLAB 程式設計入門篇:二維平面繪圖3-4 加入說明文字n在圖形或圖軸加入說明文字,增進整體圖形的可讀性指令說明title圖形的標題 xlabelx 軸的說明 ylabely 軸的說明 zlabelz 軸的說明(適用於立體繪圖) legend多條曲線的說明 text在圖

22、形中加入文字 gtext使用滑鼠決定文字的位置 MATLAB 程式設計入門篇:二維平面繪圖說明文字範例-1 (I)n範例3-15:plotxy15.msubplot(1,1,1); x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x); plot(x, y1, -*, x, y2, :o); xlabel(t = 0 to 2pi); ylabel(values of sin(t) and e-x) title(Function Plots of sin(t) and e-x); legend(sin(t),e-x);MATLAB 程式設計入門篇:二維平面繪圖說明

23、文字範例-1 (II)nlegend 指令n畫出一小方塊,包含每條曲線的說明n為特殊符號n產生上標、下標、希臘字母、數學符號等n遵循一般 LaTex 或 TeX數學模式01234567-1-0.8-0.6-0.4-0.60.81t = 0 to 2values of sin(t) and e-xFunction Plots of sin(t) and e-xsin(t)e-xMATLAB 程式設計入門篇:二維平面繪圖說明文字範例-2 (I)ntext指令n使用語法: ntext(x, y, string) nx、y :文字的起始座標位置nstring :代表此文字n範例3-

24、16:plotxy16.mx = 0:0.1:2*pi;plot(x, sin(x), x, cos(x);text(pi/4, sin(pi/4),leftarrow sin(pi/4) = 0.707);text(5*pi/4, cos(5*pi/4),cos(5pi/4) = -0.707rightarrow, HorizontalAlignment, right);MATLAB 程式設計入門篇:二維平面繪圖說明文字範例-2 (II) nHorizontalAlignment及right指示 text 指令將文字向右水平靠齊NoImageMATLAB 程式設計入門篇:二維平面繪圖gtex

25、t指令n使用語法ngtext(string) n在圖上點選一位置後,string 顯示在其上。ngtext 只能用在二維平面繪圖 MATLAB 程式設計入門篇:二維平面繪圖3-5 其他平面繪圖指令n各種二維繪圖指令指令說明errorbar在曲線加上誤差範圍fplot、ezplot較精確的函數圖形polar、ezpolar極座標圖形hist直角座標質方圖(累計圖)rose極座標質方圖(累計圖)compass羅盤圖 feather羽毛圖 area面積圖(第五章特殊圖形介紹) stairs階梯圖(第五章特殊圖形介紹) MATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖範例-1 (I)n已知資料的

26、誤差範圍,用 errorbar 表示n以 y 座標高度 20% 作為做資料的誤差範圍n範例3-17:plotxy17.mx = linspace(0,2*pi,30);% 在 0 到 2 間,等分取 30 個點y = sin(x);e = y*0.2;errorbar(x,y,e)% 圖形上加上誤差範圍 eMATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖範例-1 (II) -101234567-1.5-1-0.500.511.5誤差範圍MATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖範例-2 (I)nfplot 指令n對劇烈變化處進行較密集的取樣n範例3-18:plotxy18.m

27、fplot(sin(1/x), 0.02 0.2);% 0.02 0.2是繪圖範圍MATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖範例-2 (II) 0.020.040.060.0-1-0.8-0.6-0.4-0.60.81此區作較精確的取點繪圖MATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖範例-3 (I)npolar 指令n產生極座標圖形n範例3-19:plotxy19.mtheta = linspace(0, 2*pi); r = cos(4*theta); polar(theta, r);% 進行極座標繪圖M

28、ATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖範例-3 (II) 0.2 0.4 0.6 0.8 13021060240902701203001503301800MATLAB 程式設計入門篇:二維平面繪圖直方圖及hist指令n直方圖(Histogram)n對大量的資料,顯示資料的分佈情況和統計特性nhist指令n將資料依大小分成數堆,將每堆的個數畫出MATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖範例-4 (I)n將 10000 個由 randn 產生的正規分佈之亂數分成 25 堆n範例3-20:plotxy20.mx = randn(10000, 1);% 產生 10000 個正規分佈亂數 hist(x, 25);% 繪出直方圖,顯示 x 資料的分佈情%況和統計特性,數字 25 代表資料依%大小分堆的堆數,即是指方圖內長條%的個數 set(findobj(gca, type, patch), edgecolor, w);% 將長條%圖的邊緣設定成白色MATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖範例-4 (II)n質方圖逼近亂數的機率分佈函數,且資料量越大時,逼近程度越高 -4-3-2-1012340200400600800100012001400MATLAB 程式設計入門篇:二維平面繪圖其他平面繪圖

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论