二維曲線
1.\(plot(x)\)
若\(x\)內為實數,則該函數以向量下標為橫坐標,向量內對應的值為縱坐標繪制折線。
若\(x\)內為復數,則該函數以實部為橫坐標,虛部為縱坐標繪制折線。
2.\(plot(x,y)\)
若\(x\)和\(y\)為兩個長度相等的向量,則它們分別對應\(x\)坐標和\(y\)坐標,將繪制出一條折線。
若\(x\)是向量,\(y\)是矩陣,則以向量\(x\)為橫坐標,\(y\)的列元素為縱坐標繪制出若干條折線。
若\(x\)和\(y\)為同型矩陣,則以\(x\)和\(y\)對應的列元素為橫縱坐標繪制出若干條折線。
3.\(plot(x_1,y_1,x_2,y_2,\dots,x_n,y_n)\)
該函數分別以每一對\((x_i,y_i)\)繪制\(n\)條折線。
4.\(plot(x,y,'opt')\)
可在plot函數后面添加選項,主要有線型,顏色,數據點標記三種。
線型:"-"對應實線,":"對應虛線,"-."對應點畫線,"--"對應雙畫線\(\dots\)
顏色:"r"對應紅色,"b"對應藍色,"g"對應綠色,"w"對應白色,"k"對應黑色\(\dots\)
數據點標記:"*"對應星號,"o"對應圓圈,"s"對應方塊,"p"對應五角星,"^"對應朝上三角符號\(\dots\)
用法舉例:\(plot(x_1,y_1,'k:',x_2,y_2,'b--',x_1,y_3,'rp')\)
5.\(fplot(f,lim,'opt')\)
\(f\)是一個函數,通常采用函數句柄形式,@為定義句柄的運算符。
\(lim\)為函數\(x\)軸取值范圍,用二元向量\([xmin,xmax]\)描述。
用法舉例:\(fplot(@(x)sin(1./x),[0,0.02],'b')\)
6.\(fplot(fx,fy,tlim,'opt')\)
該函數用於描繪參數方程表示出來的函數圖像,\(fx\)是\(x\)關於\(t\)的函數\(fy\)是\(y\)關於\(t\)的函數,\(tlim\)是\(t\)的取值范圍
繪制圖形的輔助操作
1.給圖形添加標注
\(title('x')\)用於給圖像添加標題
\(title('x','y')\)用於給圖像添加多行標題
\(title('x','name','opt')\)用於改變圖像標題屬性,如\('Color'\)改變標題顏色,\('FontSize'\)改變標題字號。
\(xlabel(x)\)用於給\(x\)軸添加說明,用法同上
\(ylabel(x)\)用於給\(y\)軸添加說明,用法同上
\(text(x,y,w)\)用於給圖像中\((x,y)\)位置添加說明
\(gtext(w)\)用於給圖像中鼠標確定的位置添加說明
\(legend('x','y','z')\)用於給圖像添加圖形標注,順序和調用\(plot\)時的順序一致
2.坐標控制
\(axis(xmin,xmax,ymin,ymax)\)用於控制圖像的坐標范圍
\(grid\) \(on\)命令用於在坐標系中顯示網格,\(grid\) \(off\)用於消去網格
3.圖形保持
執行MATLAB時每次默認刷新圖形窗口,若希望在已存在的圖形上疊加新圖形,可以使用\(hold\) \(on\)命令保持圖形
4.圖形窗口的分割
\(subplot(m,n,p)\)將圖形窗口分成\(m*n\)個繪圖區,指定當前處理第\(p\)塊區域
其他形式的二維圖形
1.其他坐標系下的二維曲線圖
對數坐標圖:\(semilogx(x_1,y_1,'opt',x_2,y_2,'opt',\dots)\)函數內部參數與\(plot\)用法一致,其中繪圖時會將\(x\)取對數。
據此不難理解\(semilogy()\)和\(loglog()\)函數的用法
極坐標圖:\(polar(\theta,\rho,'opt')\)函數內部參數與\(plot\)用法一致
2.統計圖
條形圖:\(bar(y,style)\)中,\(y\)的每一行元素在圖中為一組,\(style\)參數用於確定分組模式,有\(grouped\)和\(stacked\)兩種
\(bar(x,y,style)\)中,\(x\)儲存橫坐標,\(y\)儲存數據
直方圖:\(hist(y,x)\)中,\(y\)是要統計的數據,\(x\)是指定區間的划分方式。
若\(x\)為標量,則將\(y\)的值域等分成\(x\)個區間畫圖。若\(x\)是矢量,里面的每一個元素就是直方圖區間的中點。
扇形圖:\(pie(x,k)\)中,\(x\)為待統計數據,\(k\)為顯示模式,\(k\)與\(x\)為等長向量,\(k\)為\(1\)處對應的\(x\)扇形會突出顯示
扇形圖調用\(legend(a,b)\)時,需在末尾添加\('location'\)參數,以及參數的值,如\('eastoutside'\),否則圖例會遮擋
散點圖:\(scatter(x,y,'opt','filled')\)中,前三個參數用法和\(plot\)函數相同,\(filled\)可以填充數據點標記
3.矢量類圖形
羅盤圖:\(compass()\)用法和\(plot\)相似
羽毛圖:\(feather()\)用法和\(plot\)相似
箭頭圖:\(quiver()\)用法和\(plot\)相似
三維曲線
1.\(plot3(x,y,z)\)
若\(x,y,z\)是等長向量,則它們組成一組曲線的坐標。
若\(x,y,z\)是同型矩陣,則它們對應的每一列作為一條曲線。
2.\(plot3(x_1,y_1,z_1,x_2,y_2,z_2,\dots,x_n,y_n,z_n)\)
該函數分別以每一對\((x_i,y_i,z_i)\)繪制\(n\)條折線。
3.\(plot3(x,y,z,'opt')\)
該函數含選項,用法和先前類似。
4.\(fplot(fx,fy,fz,tlim)\)
該函數用於描繪參數方程,用法和先前類似。
三維曲面
1.\(mesh(X,Y,Z,c)||surf(X,Y,Z,c)\)
已知自變量的平面范圍,設\(x\)為自變量\(x\)坐標的所有取值,\(y\)為自變量\(y\)坐標的所有取值,X矩陣為平面內每個點的x坐標,Y矩陣為平面內每個點的y坐標。
那么調用如下命令即可算出X,Y:
[X,Y]=meshgird(x,y);
然后利用函數算出平面內每一個點的\(z\)坐標,記為\(Z\)
調用\(mesh(X,Y,Z,c)\)或\(surf(X,Y,Z,c)\)即可生成三維曲面,其中\(c\)是參數,用於表示不同高度下曲面的顏色。
注意\(mesh\)函數生成的曲面,線條有顏色;\(surf\)函數生成的曲面,曲面有顏色。
其他類似函數:\(meshc\)有等高線,\(meshz\)有底座,\(surfc\)有等高線,\(surfl\)有光照效果
2.\(sphere(n)\)
\([X,Y,Z]=sphere(n)\)繪制出圓心為原點,半徑為\(1\)的單位球面,參數\(n\)決定了球面的圓滑程度,默認\(20\),\(n\)越大越圓滑。
3.\(cylinder(R,n)\)
\([X,Y,Z]=cylinder(R,n)\)表示柱面,\(R\)是向量,存放各個等間隔高度圓上的半徑,\(n\)表示圓柱圓周上有\(n\)個間隔點。
4.\(peaks函數\)
\(peaks\)函數可生成多峰函數圖像