要使用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])
執行上面範例程式碼,得到以下結果 -