Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATLAB 程式設計入門篇 二維平面繪圖 改自張智星講義

Similar presentations


Presentation on theme: "MATLAB 程式設計入門篇 二維平面繪圖 改自張智星講義"— Presentation transcript:

1 MATLAB 程式設計入門篇 二維平面繪圖 改自張智星講義 jang@cs.nthu.edu.tw
清大資工系 多媒體檢索實驗室 2009/12/15

2 3-1 基本的繪圖指令 Plot : 最基本的繪圖指令 對 x 座標及相對應的 y 座標進行作圖 範例3-1:plotxy01.m
x = linspace(0, 2*pi); % 在 0 到 2π 間,等分取 100 個點 y = sin(x); % 計算 x 的正弦函數值 plot(x, y); % 進行二維平面描點作圖 2009/12/15

3 Plot基本繪圖-1 只給定一個向量 plot(y)和plot(1:length(y), y)會得到相同的結果
linspace(0, 2*pi) 產生從 0 到 2π且長度為 100 (預設值)的向量 x y 是對應的 y 座標 只給定一個向量 該向量則對其索引值(Index)作圖 plot(y)和plot(1:length(y), y)會得到相同的結果 2009/12/15

4 Plot基本繪圖-2 (I) 一次畫出多條曲線 將 x 及 y 座標依次送入plot 指令 範例3-2:plotxy02.m
x = linspace(0, 2*pi); % 在 0 到 2 間,等分取 100 個點 plot(x, sin(x), x, cos(x), x, sin(x)+cos(x)); % 進行多條曲線描點作圖 2009/12/15

5 Plot基本繪圖-2 (II) 畫出多條曲線時,會自動輪換曲線顏色
Plot(x,sin(x), x, cos(x), x, sin(x)+cos(x)); 畫出多條曲線時,會自動輪換曲線顏色 2009/12/15

6 Plot基本繪圖-3 (I) 若要以不同的線標(Marker)來作圖 範例3-3:plotxy03.m
x = linspace(0, 2*pi); % 在 0 到 2 間,等分取 100 個點 plot(x, sin(x), 'o', x, cos(x), 'x', x, sin(x)+cos(x), '*'); 2009/12/15

7 Plot基本繪圖-3 (II) 2009/12/15

8 Plot基本繪圖-4 (I) 只給定一個矩陣 y 對矩陣 y 的每一個行向量(Column Vector)作圖 範例3-4:
y = peaks(5); % 產生一個 5×5 的矩陣 plot(y); % 對矩陣 y 的每一個行向量作圖 2009/12/15

9 Plot基本繪圖-4 (II) peaks(5) 指令產生一個5×5的矩陣,代表二維函數的值 plot(y) 直接畫出 5 條直線
Curve 1 Curve 2 Curve 5 0.0001 0.0042 0.0000 0.3265 0.0036 0.0331 0.4784 0.0044 0.0312 2009/12/15

10 Plot基本繪圖-5 (I) x 和 y 都是矩陣 plot(x, y) 會取用 y 的每一個行向量和對應的 x 行向量作圖 範例:
v=linspace(0,2*pi); x=[cos(v)' 2*cos(v)' 3*cos(v)']; y=[sin(v)' 2*sin(v)' 3*sin(v)']; plot(x, y); % 取用矩陣 y 的每一行向量,與對應矩陣 x 的每一個行向量作圖 2009/12/15

11 Plot基本繪圖-5 (II) X= ,Y= 相當於plot( , ) Note: MATLAB 會將圖片視窗預設成較“寬”的長方形
>> axis(‘equal’); 2009/12/15

12 提示 一般情況下,MATLAB 將矩陣視為行向量的集合 對只能處理向量的函數(Ex : max、min、 mean)
給定一個矩陣,函數會對矩陣的行向量一一進行處理或運算 2009/12/15

13 基本二維繪圖指令 指令 說明 Plot x 軸和 y 軸均為線性刻度(Linear Scale) loglog
x 軸和 y 軸均為對數刻度(Logarithmic Scale) semilogx x 軸為對數刻度,y 軸為線性刻度 semilogy x 軸為線性刻度,y 軸為對數刻度 plotyy 畫出兩個刻度不同的y軸 2009/12/15

14 3-2 圖形的控制 plot 指令,可以接受一個控制字串輸入 用以控制曲線的顏色、格式及線標 使用語法 C:曲線的顏色(Colors)
plot(x, y, ‘CLM‘) C:曲線的顏色(Colors) L:曲線的格式(Line Styles) M:曲線所用的線標(Markers) 2009/12/15

15 圖形控制範例-1 (I) 用黑色點線畫出正弦波 每一資料點畫上一個小菱形 範例3-9:plotxy09.m
x = 0:0.5:4*pi; % x 向量的起始與結束元素為 0 及 4*pi, % 0.5為各元素相差值 y = sin(x); plot(x, y,‘k:diamond’) % 其中「k」代表黑色,「:」代表點 % 線,而「diamond 」則指定菱形為曲 % 線的線標 2009/12/15

16 圖形控制範例-1 (II) 2009/12/15

17 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,1) r 紅色(Red) (1,0,0) w 白色 (1,1,1) y 黃色(Yellow) (1,1,0) 2009/12/15

18 plot 指令的曲線格式 plot 指令的曲線格式字串 曲線格式 - 實線(預設值) -- 虛線 : 點線 -. 點虛線
2009/12/15

19 plot 指令的曲線線標 (I) plot 指令的曲線線標字串 曲線符號符號 O 圓形 + 加號 X 叉號 * 星號 . 點號 ^
朝上三角形 V 朝下三角形 2009/12/15

20 plot 指令的曲線線標 (II) plot 指令的曲線線標字串 曲線符號符號 > 朝右三角形 < 朝左三角形 square
方形 diamond 菱形 pentagram 五角星形 hexagram 六角星形 None 無符號(預設值) 2009/12/15

21 課堂練習1 試寫一個函數regPoly(n),其功能為 畫出一個圓心在(0,0)半徑為1的圓,並且圓內畫出一個內接正n邊形
其中一個頂點在(1,0) 將圖的標題寫 “內接正 n邊形”,這裡的n請顯示成使用者給定的數字。(提示:先用sprintf這個函式將字串印出來,再丟給title這個function) 將格線畫出來。(grid on) 請計算出內接正n邊形的週長。 請問如果n趨近於無窮大,整個內接正n邊形的週長會等於? 2009/12/15

22 課堂練習1 2009/12/15

23 程式作業三 請寫出一個程式 polygon(delta) 1. 輸入一個值 delta 計算出
的最小 n 值。(提示:使用while loop 去作判斷) 2. 畫出圓形和內接 n 邊形的圖形,並以 title 這個函數 去寫出標題”正內接 n 邊形, delta = …” (提示:n是計算出來的,所以要用sprintf這個函數) 3. 請將程式命名為 polygon_學號.m 4. 程式一定要能夠執行,且附註解。 5. 繳交日期:2009/01/05 2009/12/15

24 課堂練習2 Chebysheve 多項式 其中 x 的值介於 [-1,1]。當 m 的值由 1 變化到 5,我們可得到五條曲線。請將這五條曲線畫在同一張圖上,並用 legend 註明每一條曲線。 可以的話請利用plot(矩陣)的方式做。 2009/12/15

25 課堂練習2 2009/12/15


Download ppt "MATLAB 程式設計入門篇 二維平面繪圖 改自張智星講義"

Similar presentations


Ads by Google