11/06/2006

9.2.2 PLOT繪圖指令

MATLAB 的plot()與line()是基本的繪圖指令,可以將一組(x, y) 之對應座標繪於圖上,x與 y可分別為行矩陣或列矩陣,由此進行描點作圖,例如:


% Demo_1 Draw curves using plot
theta=(1:50)*(2*pi)/50; %2π之區間分成50等分
plot(theta,cos(theta));
xlabel('Angle(x), radians'); %水平座標名稱
ylabel('cos(x)'); %垂直座標名稱
grid on; %打開格線模式





上面使用plot()指令繪出圖9.10,但使用line()也有同樣的效果。如下面之程式:

% Demo_2 Draw curves using plot
theta=(1:50)*(2*pi)/50; %2π之區間分成50等分
line(theta,cos(theta)); %使用line指令
xlabel('Angle(x), radians'); %水平座標名稱
ylabel('cos(x)'); %垂直座標名稱
grid on; %打開格線模式


除使用line()指令外,與前面略有不同的是,在Demo_2之例中,另外使用linspace(0, 2*pi,50)指令亦可產生 0 至2π弧度範圍分為50等分點的功能。這個指令若不特別說明等分量,其預設值為100。使用此指令時,特別注意linspace()中,其'lin' 後面沒有'e'。

此外座標名稱之標示可用xlabel()與ylabel()兩指令,其名稱內容必須使用' '括起來,此部份亦可用文字資料矩陣取代。

plot()與line()不同的地方是前者可以同時繪製多重曲線面上的點進行描點作圖,而且可以賦予不同顏色與屬性。line()指令雖也有相同的功能,但其屬性之設定必須利用set()指令相輔助。例如:



% Demo_3 Draw curves using plot
x=linspace(0,2*pi,50); %2π之區間分成50等分
plot(x,x.*x,x,x.^3,x,x); %使用plot指令
xlabel('Angle(x), radians'); %水平座標名稱
ylabel('y= x^2, x^3, x'); %垂直座標名稱
grid on; %打開格線模式