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)
的輪廓線。該函數有兩個變量。 所以,必須生成兩個獨立的變量,即兩個數據集x
和y
。 這可以通過調用meshgrid
命令完成。
meshgrid
命令用於生成在每種情況下給出x
和y
範圍以及增量規範的元素矩陣。
繪製函數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
(注:x
和y
的平方之和)
創建腳本文件並鍵入以下代碼 -
[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
命令創建一個線框表面,帶有連接定義點的彩色線。