Matlab繪圖
要使用plot
函數來繪製圖形,需要執行以下步驟:
- 通過指定要繪製函數的變量
x
的值的範圍來定義x
。 - 定義函數,
y = f(x)
- 調用
plot
命令,如下:plot(x,y)
以下示例將演示該概念。下面繪製x
的值範圍是從0
到100
,使用簡單函數y = x
,增量值爲5
。
創建腳本文件並鍵入以下代碼 -
x = [0:5:100];
y = x;
plot(x, y)
執行上面示例代碼,得到以下結果 -
下面再來一個例子來繪製函數y = x^2
。 在這個例子中,將繪製兩個具有相同函數的圖,但是在第二次,將減小增量的值。請注意,當減少增量時,圖形變得更平滑。
創建腳本文件並鍵入以下代碼 -
x = [1 2 3 4 5 6 7 8 9 10];
x = [-100:10:100];
y = x.^2;
plot(x, y)
執行上面示例代碼,得到以下結果 -
更改代碼,減少增量爲2
-
在圖上添加標題,標籤,網格線和縮放
MATLAB允許沿x
軸和y
軸,網格線添加標題,標籤,並且還可以調整軸來繪製圖形。
-
xlabel
和ylabel
命令沿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生成以下圖表 -
在同一個圖上繪製多個函數
可以在同一個圖上繪製多個圖形。以下示例演示了這一概念 -
示例
創建腳本文件並鍵入以下代碼 -
x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')
MATLAB生成以下圖表 -
在圖上設置顏色
MATLAB提供了八個基本的顏色選項來繪製圖形。 下表顯示了顏色及其代碼 -
代碼
顏色
w
White
k
Black
b
Blue
r
Red
c
Cyan
g
Green
m
Magenta
y
Yellow
示例
下面我們來繪製兩個多項式的圖形 -
創建腳本文件並鍵入以下代碼 -
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生成以下圖表 -
設置軸刻度
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生成以下圖表 -
生成子圖
當在同一個圖中創建一個繪圖數組時,這些圖中的每一個圖稱爲子圖。 subplot
命令用於創建子圖。
該命令的語法是 -
subplot(m, n, p)
其中,m
和n
是繪圖數組的行數和列數,p
表示放置指定圖形的位置。
使用subplot
命令創建的每個曲線都可以有自己的特點。 以下示例演示了這一概念 -
示例
下面示例將生成兩個區域塊 -
創建腳本文件並鍵入以下代碼 -
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])
執行上面示例代碼,得到以下結果 -