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 會顯示以下條形圖:

Drawing Bar Charts

繪製等值線

函式兩個變數的等值線是在函式具有恆定值的曲線。等值線用於透過連線高於給定水平(例如平均海平面)的相同高度的點來建立等值線圖。

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);

最後,我們需要分配函式。讓我們的函式為:x2 + y2

建立一個指令碼檔案並鍵入以下程式碼:

[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 會顯示以下等值線圖:

Contour Map in 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 會顯示以下等值線圖:

A good looking Contour Map

三維圖形

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

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

以下示例演示了該概念:

示例

讓我們為函式 g = xe-(x2 + y2) 建立一個 3D 曲面圖

建立一個指令碼檔案並鍵入以下程式碼:

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

執行該檔案時,MATLAB 會顯示以下 3D 圖:

3-D Map in Matlab

您還可以使用 mesh 命令生成三維曲面。但是,surf 命令以彩色顯示連線線和曲面的面,而 mesh 命令建立帶彩色線的線框曲面,連線定義點。

廣告
© . All rights reserved.