Matlab圖形


本章將繼續探討MATLAB的繪圖和圖形函式功能。下面將會討論 -

  • 繪製條形圖
  • 繪製輪廓
  • 三維圖

繪製條形圖

bar命令繪製二維條形圖,下面舉個例子來演示如何使用。

範例

假設有10名學生,這些學生某次考試獲得分數是:75,58,90,87,50,85,92,75,60和95,使用這此分數來繪製條形圖如下。

建立指令碼檔案並鍵入以下程式碼 -

x = [1:10];
y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95];
bar(x,y), xlabel('Student'),ylabel('Score'),
title('First Sem:')
print -deps graph.eps

執行檔案時,MATLAB顯示以下條形圖 -

繪製等高線

兩個變數的函式的輪廓線是一個曲線,函式有一個恆定值。等高線用於通過連線等於高於某一水平的點(如平均海平面)來建立輪廓圖。

MATLAB提供了繪製輪廓圖的contour函式。

範例

下面演示如何生成一個輪廓圖,顯示給定函式g = f(x,y)的輪廓線。該函式有兩個變數。 所以,必須生成兩個獨立的變數,即兩個資料集xy。 這可以通過呼叫meshgrid命令完成。

meshgrid命令用於生成在每種情況下給出xy範圍以及增量規範的元素矩陣。

繪製函式g = f(x,y),其中-5≤x≤5-3≤y≤3。對於這兩個值,遞增0.1。變數設定為 -

[x,y] = meshgrid(–5:0.1:5, –3:0.1:3);

最後,需要分配這個函式。使用函式為:x^2 + y^2(註:xy的平方之和)
建立指令碼檔案並鍵入以下程式碼 -

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); %independent variables
g = x.^2 + y.^2;                     % our function
contour(x,y,g)                       % call the contour function
print -deps graph.eps

執行上面範例程式碼,得到以下結果 -

下面再修改一下程式碼,使地圖上變得有資料標識 -

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); %independent variables
g = x.^2 + y.^2;                     % our function
[C, h] = contour(x,y,g);             % call the contour function
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
print -deps graph.eps

執行上面範例程式碼,得到以下結果 -

三維圖

三維圖基本上顯示的是由兩個變數g = f(x,y)中的函式定義的表面。

像之前一樣,要定義g,首先使用meshgrid命令在函式的域上建立一組(x,y)點。 接下來,分配函式本身。 最後,使用surf命令建立一個曲面圖。

以下範例演示了這一概念 -

範例

為以下函式建立一個3D曲面圖 -

建立指令碼檔案並鍵入以下程式碼 -

[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

執行檔案時,MATLAB顯示以下三維圖 -

也可以使用mesh命令生成三維表面。 但是,surf命令顯示連線線和表面的顏色,而mesh命令建立一個線框表面,帶有連線定義點的彩色線。