20
Matlab Matlab 二二 二二二二二 二二 二二二二二

Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

  • View
    296

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

MatlabMatlab二維、三維圖形篇二維、三維圖形篇

Page 2: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

二維 二維 x-y x-y 座標圖座標圖

plotplot (( x,y,’CLM’x,y,’CLM’ )將已知的點繪出)將已知的點繪出 ,C,C為顏色為顏色 ,L,L 為曲線格式為曲線格式 ,M,M 為線標 為線標

loglogloglog (( x,yx,y )其座標軸皆以對數比表示)其座標軸皆以對數比表示 semilogxsemilogx (( x,yx,y )其)其 xx 軸以對數比例表示 軸以對數比例表示 polarpolar (( θ,ρθ,ρ )用極座標來繪圖)用極座標來繪圖 ,θ,θ 為角 為角

度度 ,ρ,ρ 為大小 為大小

Page 3: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

強化圖形之說明 強化圖形之說明

title(‘string’) :以 string 為標題文字 xlabel(‘string’) : x 軸上說明文字 ylabel(‘string’) : y 軸上說明文字 grid :在座標上畫格線

Page 4: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

例例 x=linspace(0,2*pi)x=linspace(0,2*pi) plot(x,sin(x),'b-o',x,cos(x),'g--+',x,sin(x)+cosplot(x,sin(x),'b-o',x,cos(x),'g--+',x,sin(x)+cos

(x),'r:*') (x),'r:*') title('y-x')title('y-x') xlabel('x')xlabel('x') ylabel('y')ylabel('y') Legend('sin(x)','cos(x)','sin(x)+cos(x)')Legend('sin(x)','cos(x)','sin(x)+cos(x)') gridgrid

Page 5: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C
Page 6: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

給定座標繪製給定座標繪製 2D2D 曲線曲線 x=[3 2 1 0 -1 -2 -3], y=[14 4 -2 -4 -2 4 14]x=[3 2 1 0 -1 -2 -3], y=[14 4 -2 -4 -2 4 14] plot (x,y)plot (x,y) 所繪之所繪之 2D2D 曲線為:曲線為:

-3 -2 -1 0 1 2 3-4

-2

0

2

4

6

8

10

12

14

Page 7: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

常用 XYZ立體繪圖命令

Page 8: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

plot3(xplot3(x ,, yy ,, z)z) 分別是代表分別是代表 X Y Z X Y Z 的立體的立體座標 座標

例t=linspace(0,10*pi,500)% 在 0 到 10pi 取 500 個點plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t)

Page 9: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C
Page 10: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

給定座標繪製給定座標繪製 3D3D 曲線曲線 x=[3 2 1 0 -1 -2 -3], y=[2.9 1.9 0.9 -0.1 -1.1 -2.1 -3.1], x=[3 2 1 0 -1 -2 -3], y=[2.9 1.9 0.9 -0.1 -1.1 -2.1 -3.1],

z=[14 4 -2 -4 -2 4 14]z=[14 4 -2 -4 -2 4 14] plot3 (x,y,z)plot3 (x,y,z) 所繪之所繪之 3D3D 曲線圖為:曲線圖為:

-4-2

02

4

-4

-2

0

2

4-5

0

5

10

15

Page 11: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

3D3D 曲線影像重建曲線影像重建

已知某曲線在已知某曲線在 yzyz 及及 xyxy 平面的投影為左圖,平面的投影為左圖,則可重建之則可重建之 3D3D 曲線為右圖:曲線為右圖:

Page 12: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

兩者產生的圖形都會依高度而有不兩者產生的圖形都會依高度而有不同顏色同顏色

surfsurf 可畫出立體曲面圖 可畫出立體曲面圖

meshmesh 可畫出立體網狀圖可畫出立體網狀圖

基本 XYZ 立體繪圖命令

Page 13: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

由函數形成的立體網狀圖由函數形成的立體網狀圖 ::

x=linspace(-2, 2, 25); % x=linspace(-2, 2, 25); % 在在 xx 軸上取軸上取 2525 點 點 y=linspace(-2, 2, 25); % y=linspace(-2, 2, 25); % 在在 yy 軸上取軸上取 2525 點 點 [xx,yy]=meshgrid(x, y); % xx[xx,yy]=meshgrid(x, y); % xx 和和 yyyy 都是都是 25x2525x25 的矩陣 的矩陣 zz=xx.*exp(-xx.^2-yy.^2); % zz=xx.*exp(-xx.^2-yy.^2); % 計算函數值,計算函數值, zzzz 也是也是 2121

x21x21 的矩陣 的矩陣 mesh(xx, yy, zz); % mesh(xx, yy, zz); % 畫出立體網狀圖 畫出立體網狀圖 surf(xx, yy, zz); % surf(xx, yy, zz); % 畫出立體曲面圖 畫出立體曲面圖

Page 14: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

圖圖

Page 15: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

peakspeaks 函數 函數

可產生一個凹凸有致的曲面 包含了三個局部極大點及三個局部極小點

Page 16: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

peaks peaks

Page 17: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

MeshzMeshz 會將圖加上會將圖加上 [[ 圍裙圍裙 ]] [x,y,z]=peaks; [x,y,z]=peaks; meshz(x,y,z); meshz(x,y,z); axis tight; %axis tight; % 塞滿整個塞滿整個

圖軸圖軸

Page 18: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

waterfall可在 x 方向或 y 方向產生水流效果

[x,y,z]=peaks; [x,y,z]=peaks; waterfall(x,y,z); waterfall(x,y,z); axis tight; axis tight;

Page 19: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

meshcmeshc 同時畫出網狀圖與等高線 同時畫出網狀圖與等高線

[x,y,z]=peaks; [x,y,z]=peaks; meshc(x,y,z); meshc(x,y,z); axis tight; %axis tight; % 塞滿整個塞滿整個

圖軸圖軸

Page 20: Matlab 二維、三維圖形篇. 二維 x-y 座標圖 plot ( x,y, ’ CLM ’ )將已知的點繪出,C 為顏 色,L 為曲線格式,M 為線標 plot ( x,y, ’ CLM ’ )將已知的點繪出,C

surfcsurfc 同時畫出曲面圖與等高線同時畫出曲面圖與等高線 [x,y,z]=peaks; [x,y,z]=peaks; surfc(x,y,z); surfc(x,y,z); axis tight;axis tight;