Matlab繪圖

要使用plot函數來繪製圖形,需要執行以下步驟:

  • 通過指定要繪製函數的變量x的值的範圍來定義x
  • 定義函數,y = f(x)
  • 調用plot命令,如下:plot(x,y)

以下示例將演示該概念。下面繪製x的值範圍是從0100,使用簡單函數y = x,增量值爲5

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

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

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

Matlab繪圖

下面再來一個例子來繪製函數y = x^2。 在這個例子中,將繪製兩個具有相同函數的圖,但是在第二次,將減小增量的值。請注意,當減少增量時,圖形變得更平滑。

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

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

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

Matlab繪圖

更改代碼,減少增量爲2 -

Matlab繪圖

在圖上添加標題,標籤,網格線和縮放

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生成以下圖表 -

Matlab繪圖

在同一個圖上繪製多個函數

可以在同一個圖上繪製多個圖形。以下示例演示了這一概念 -

示例

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

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

MATLAB生成以下圖表 -

Matlab繪圖

在圖上設置顏色

MATLAB提供了八個基本的顏色選項來繪製圖形。 下表顯示了顏色及其代碼 -

代碼

顏色

w

White

k

Black

b

Blue

r

Red

c

Cyan

g

Green

m

Magenta

y

Yellow

示例

下面我們來繪製兩個多項式的圖形 -

Matlab繪圖

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

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生成以下圖表 -

Matlab繪圖

設置軸刻度

axis命令用來設置軸刻度。可以通過以下方式使用axis命令爲xy軸提供最小和最大值:

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生成以下圖表 -

Matlab繪圖

生成子圖

當在同一個圖中創建一個繪圖數組時,這些圖中的每一個圖稱爲子圖。 subplot命令用於創建子圖。

該命令的語法是 -

subplot(m, n, p)

其中,mn是繪圖數組的行數和列數,p表示放置指定圖形的位置。

使用subplot命令創建的每個曲線都可以有自己的特點。 以下示例演示了這一概念 -

示例

下面示例將生成兩個區域塊 -

Matlab繪圖

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

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