2013年3月25日 星期一

第五週課程----繪圖函數plot()

 一、繪圖函數plot
plot()函數命令格式如下
         格式一
                                     plot(y)


其中 y 為向量變數圖形時,若 y 屬於為實數向量x 軸將以 1、2、...、length(y),方式指定 x 軸座標,並藍色" . 點"符號(預設)分別在(1,y(1))(2,y(2))...(length(y),y(end))座標上顯示,再以實線(預設)依序將各座標連接起來若 y 屬於為複數向量x 軸將以real(y(1))real(y(2))、...real(y(end)),方式指定 x 軸座標(也就是y的實部),y 軸則為imag(y(1))imag(y(2))、...imag(y(end))(也就是y的虛部)。其中real()為取實部函數、imag()為取函數、length()可回傳向量的最大列(行)數,而end指的是向量最後一個元素

例如
          >> y=[3 2 5 7 1];
          >> plot(y)                                                             % 預設為藍色.符號與實線連接

          >> y=[3+3i 2-6i 5+i 7 1+5i];

          >> plot(y)                                                             % 預設為藍色.符號與實線連接
格式二
                                     plot(x, y, LineSpec)


其中 xy 皆為向量變數且 xy 的元素個數須相同圖形時,若 xy 皆屬於為實數向量x 軸將以 x(1)、x(2)、...、x(end) 方式指定x軸座標,並以 y(1)y(2)...y(end) 方式指定 x 軸座標線條規範語法(Line specification syntaxLineSpec)來指定繪圖曲線的樣式若 x 或 y 屬於為複數向量將忽略向量虛部部份,僅以實數部份呈現繪圖座標,並提出警告訊息(Warning: Imaginary parts of complex X and/or Y arguments ignored)

例如
          >> x=[2 4 6 7 9];
          >> y=[3 2 5 7 1];
          >> plot(x, y)                                                          % 預設為藍色.符號與實線連接
例如
          >> x=[2 4 6 7 9];
          >> y=[3+3i 2-6i 5+i 7 1+5i];
          >> plot(x, y)                                                          % 預設為藍色.符號與實線連接
          Warning: Imaginary parts of complex X and/or Y arguments ignored
格式
                                     plot(x1, y1, LineSpec1x1, y1, LineSpec2, ...)

其中 x1y1x2y2、...皆為向量變數。此時將可繪出多條曲線,分別為 x1y1 x2y2 曲線、...。各曲線皆依各線條規範語法LineSpec1LineSpec1、...指定繪圖曲線的樣式

例如
          >> x=linspace(0,2*pi,50);
          >> plot(x,sin(x),'-ro',x,cos(x),':gx')

線條規範語法(Line specification syntaxLineSpec)
        
          線條規範語法如下表所示,使用時以字串串接方式輸入,各符號的順序可以不計。

其中黃底為預設值

格式
                                     plot(x, y, LineSpec'property1', p1, 'property2'p2 ...)

其中 xy 皆為向量變數。此時僅能繪出一條曲線。曲線依線條規範語法LineSpec指定繪圖曲線的樣式。而各標記與線條的屬性 property1property2、...由p1p2、...指定屬性的英文字母大小寫不拘

         屬性如下

例如
          >> x=linspace(0,2*pi,50);
          >> plot(x,sin(x),'-rs','LineWidth',4,'markeredgecolor','b','markerfacecolor','m')
有時也可以使用set()函數重新定義標記與線條的屬性
例如
          >> x=linspace(0,2*pi,50);
          >> h = plot(x,cos(x),'-md');                                   % h為曲線的handle

接著輸入
          >> set(h, 'LineWidth',2,'Markerfacecolor','b')       % 指定調整曲線handle h的屬性

繪多條曲線也可以善加運用 hold 命令


 三、除了繪圖函數plot之外,MATLAB亦提供許多二維(2D)類型的繪圖函數。包括

1. 簡單易使用的fplot()與ezplot()
2.對數semilogx()、semilogy()、loglog()
3.累積圖形area()
4.填色函數fill()
5.火柴棒圖stem()
6.階梯圖stairs()
7.羽毛圖feather()
8.誤差條狀圖errorbar()
9.羅盤圖compass()
10.雙y軸函數plotyy()
11.繪製梯度向量場的gradient()及quiver()
12.長條圖bar()
13.橫向長條圖barh()
14.派形圖pie()
15.直方圖(histogram)hist()
16.極座標統計圖rose()
17.彗星圖comet()---俱畫的繪製圖形
18.等高線圖contour()、contourc()、contourf()
          19.極座標曲線圖polar()
使用 lookfor plot 可查出大部份的繪圖函數


沒有留言:

張貼留言