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圖形

繪製等高線

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

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

執行上面示例代碼,得到以下結果 -

Matlab圖形

下面再修改一下代碼,使地圖上變得有數據標識 -

[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

執行上面示例代碼,得到以下結果 -

Matlab圖形

三維圖

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

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

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

示例

爲以下函數創建一個3D曲面圖 -

Matlab圖形

創建腳本文件並鍵入以下代碼 -

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

運行文件時,MATLAB顯示以下三維圖 -

Matlab圖形

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