plot
功能
繪制二維圖形的最基本函數。
語法
//x為向量時,以x的元素值為縱坐標,x的序號為橫坐標繪制曲線。 //x為矩陣時,以其序號為橫坐標,按列繪制每列元素值相對於其序號的曲線。 polt(x) //以x 元素為橫坐標值,y 元素為縱坐標值繪制曲線 plot(x,y) //以公共的x 元素為橫坐標值,以y1,y2,… 元素為縱坐標值繪制多條曲線 plot(x,y1,x,y2,…)
其他屬性參數:
符號 | 作用 | 符號 | 作用 | 符號 | 作用 | 符號 | 作用 |
---|---|---|---|---|---|---|---|
y | 黃 | - | 實線 | . | 點 | < | 小於號 |
m | 紫 | : | 點線 | o | 圓 | s | 正方形 |
c | 青 | -. | 點划線 | x | 叉號 | d | 菱形 |
r | 紅色 | – | 虛線 | + | 加號 | h | 六角星 |
g | 綠 | * | 星號 | p | 五角星 | ||
b | 藍 | v | 向下三角形 | ||||
w | 白 | ^ | 向上三角形 | ||||
k | 黑 | > | 大於號 |
eg
clear; clc; clf; x = linspace(0,2*pi,50); y = sin(x); plot(x,y) xlabel('x軸') ylabel('y軸') title('題目') gtext('正弦曲線') %圖形上出現十字線,鼠標控制其移動,單擊鼠標顯示文字
ezplot
功能
無需數據准備,直接畫出函數圖形
語法
//在默認區間[-2pi,2pi]上繪制函數f=f(x) ezplot(f) //在區間min < x < max上繪制函數 f = f(x) ezplot(f,[min,max]) //對於隱式定義的函數f = f(x,y):ezplot(f)繪制的是 f(x,y) = 0 ezplot(f,[xmin,xmax,ymin,ymax]) //繪制含參函數 x = x(t)和y = y(t) 默認區間: 0 < t < 2pi. ezplot(x,y) //繪制含參函數 x = x(t)和y = y(t) 區間:tmin < t < tmax. ezplot(x,y,[tmin,tmax]) //在指定的區域,在figure窗口繪制通過handle figure指定的函數 ezplot(...,figure_handle)
fplot
功能
通過MATLAB平台內部設置的自適應算法來動態決定自變量的離散間隔,當函數值變化緩慢時離散間隔取大些,當函數值變化劇烈時,離散間隔取小一些。
語法
//在limits定義的自變量的取值范圍[xmin,xmax]內 //或者在自變量與因變量的取值范圍[xmin,xmax;ymin,ymax]內,繪制fun函數。 fplot(fun,limits) //在limits定義的取值范圍內,在Linespace所規定的線型、標記、顏色等屬性下,繪制fun函數 fplot(fun,limits,LineSpace) //在limits定義的取值范圍內,在LineSpace所規定的線型、顏色、標記等屬性下,在tol所規定的相對誤差內繪制fun函數, fplot(fun,limits,tol,LineSpace) //在limits定義的取值范圍內繪制fun函數,至少繪制n+1個點。 fplot(fun,limits,n)
eg
//函數 function Y = fun(x) Y(:,1) = 200 * sin(x(:)) ./ x(:); Y(:,2) = x(:) .^ 2; end // fplot('fun',[-20 20])
subplot
功能
分割figure,創建子坐標系(並不繪圖)
語法
//將figure分為m × n塊,在第p塊創建坐標 h = subplot(m,n,p) or subplot(mnp) //如果所指定的坐標系已存在,那創建新坐標系替換它 subplot(m,n,p,'replace') //p為向量,表示將P中指定的小塊合並成一個大塊創建坐標系,P中指定的小塊可連續也可不相連。 subplot(m,n,P) //將坐標系h設為當前坐標系,相當於axes(h) subplot(h) //在指定位置創建一個新坐標系 subplot('Position',[left bottom width height]) //在創建坐標系的同時,設置相關屬性 subplot(..., prop1, value1, prop2, value2, ...) //返回所創建坐標系的句柄 h = subplot(...)
eg:
clear; clc; t = -4:0.001:4; ut1 = stepfun(t,-2) ut2 = stepfun(t,2) gt = ut1 - ut2; subplot(3,1,1); plot(t,ut1); axis([-4,4,-0.5,1.5]); subplot(3,1,2); plot(t,ut2); axis([-4,4,-0.5,1.5]); subplot(3,1,3); plot(t,gt); axis([-4,4,-0.5,1.5]);
結果:
PS: stepfun函數實現單位階躍信號
PPS:其他常用的二維繪圖函數
semilogx(x,y) //半對數坐標,x軸為常用對數坐標 semilogy(x,y) //半對數坐標,y軸為常用對數坐標 loglog(x,y) //全對數坐標 pause // 用在plot命令之間,暫停命令執行,直到敲擊任意鍵