MATLAB 繪圖



要繪製函式圖形,您需要執行以下步驟:

  • 定義x,指定變數x值域,在此值域內繪製函式。

  • 定義函式,y = f(x)

  • 呼叫plot命令,例如plot(x, y)

以下示例將演示此概念。讓我們繪製簡單函式y = x,x 的值域為 0 到 100,增量為 5。

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

x = [0:5:100];
y = x;
plot(x, y)

執行檔案後,MATLAB 將顯示以下圖表:

Plotting y = x

讓我們再舉一個例子來繪製函式 y = x2 的圖形。在這個例子中,我們將繪製兩個具有相同函式的圖形,但在第二次繪製時,我們將減少增量值。請注意,隨著增量的減少,圖形變得更平滑。

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

x = [1 2 3 4 5 6 7 8 9 10];
x = [-100:20:100];
y = x.^2;
plot(x, y)

執行檔案後,MATLAB 將顯示以下圖表:

Plotting y = x^2

稍微修改一下程式碼檔案,將增量減少到 5:

x = [-100:5:100];
y = x.^2;
plot(x, y)

MATLAB 繪製更平滑的圖形:

Plotting y = x^2 with less increment

在圖表上新增標題、標籤、網格線和縮放

MATLAB 允許您新增標題、x 軸和 y 軸的標籤、網格線,並調整座標軸以美化圖形。

  • xlabelylabel 命令分別在 x 軸和 y 軸生成標籤。

  • title 命令允許您在圖表上新增標題。

  • grid on 命令允許您在圖表上新增網格線。

  • axis equal 命令允許生成具有相同比例因子和兩軸上相同間距的圖表。

  • axis square 命令生成一個正方形圖表。

示例

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

x = [0:0.01:10];
y = sin(x);
plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'),
grid on, axis equal

MATLAB 生成以下圖表:

Sprucing up our graphs

在同一圖表上繪製多個函式

您可以在同一圖表上繪製多個圖形。以下示例演示了該概念:

示例

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

x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')

MATLAB 生成以下圖表:

Multiple Functions on the Same Graph

設定圖形顏色

MATLAB 提供八種基本顏色選項來繪製圖形。下表顯示顏色及其程式碼:

程式碼 顏色
w 白色
k 黑色
b 藍色
r 紅色
c 青色
g 綠色
m 品紅色
y 黃色

示例

讓我們繪製兩個多項式函式的圖形

  • f(x) = 3x4 + 2x3+ 7x2 + 2x + 9 和

  • g(x) = 5x3 + 9x + 2

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

x = [-10 : 0.01: 10];
y = 3*x.^4 + 2 * x.^3 + 7 * x.^2 + 2 * x + 9;
g = 5 * x.^3 + 9 * x + 2;
plot(x, y, 'r', x, g, 'g')

執行檔案後,MATLAB 將生成以下圖表:

Colors on Graph

設定座標軸比例

axis 命令允許您設定座標軸比例。您可以使用以下方式的 axis 命令為 x 軸和 y 軸提供最小值和最大值:

axis ( [xmin xmax ymin ymax] )

以下示例演示了這一點:

示例

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

x = [0 : 0.01: 10];
y = exp(-x).* sin(2*x + 3);
plot(x, y), axis([0 10 -1 1])

執行檔案後,MATLAB 將生成以下圖表:

Setting Axis Scales

生成子圖

當您在同一圖形中建立一組圖表時,每個圖表都稱為子圖。subplot 命令用於建立子圖。

該命令的語法為:

subplot(m, n, p)

其中,mn 是圖表陣列的行數和列數,p 指定放置特定圖表的 位置。

使用 subplot 命令建立的每個圖表都可以具有其自身的特性。以下示例演示了該概念:

示例

讓我們生成兩個圖表:

y = e−1.5xsin(10x)

y = e−2xsin(10x)

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

x = [0:0.01:5];
y = exp(-1.5*x).*sin(10*x);
subplot(1,2,1)
plot(x,y), xlabel('x'),ylabel('exp(–1.5x)*sin(10x)'),axis([0 5 -1 1])
y = exp(-2*x).*sin(10*x);
subplot(1,2,2)
plot(x,y),xlabel('x'),ylabel('exp(–2x)*sin(10x)'),axis([0 5 -1 1])

執行檔案後,MATLAB 將生成以下圖表:

Generating Sub-Plots
廣告
© . All rights reserved.