MATLAB有很強的圖形功能,能夠方便地實現數據的視覺化。強大的計算功能與圖形功能相結合爲MATLAB在科學技術和教學方面的應用提供了更加廣闊的天地。下面着重介紹二維圖形的畫法,對三維圖形只做簡單敘述。 數組
5.1 二維圖形的繪製 函數
5.1.1 基本形式 spa
二維圖形的繪製是MATLAB語言圖形處理的基礎,MATLAB最經常使用的畫二維圖形的命令是plot,看兩個簡單的例子: orm
>> y=[0 0.58 0.70 0.95 0.83 0.25]; 圖片
>> plot(y) 文檔
生成的圖形見圖5-1,是以序號爲橫座標、數組y的數值爲縱座標畫出的折線。 字符串
>> x=linspace(0,2*pi,30); % 生成一組線性等距的數值 數學
>> y=sin(x); it
>> plot(x,y) 基礎
生成的圖形見圖5-2,是上30個點連成的光滑的正弦曲線。
圖5-2
5.1.2 多重線
在同一個畫面上能夠畫許多條曲線,只需多給出幾個數組,例如
>> x=0:pi/15:2*pi;
>> y1=sin(x);
>> y2=cos(x);
>> plot(x,y1,x,y2)
則能夠畫出圖5-3。多重線的另外一種畫法是利用hold命令。在已經畫好的圖形上,若設置hold on,MATLA將把新的plot命令產生的圖形畫在原來的圖形上。而命令hold off 將結束這個過程。例如:
>> x=linspace(0,2*pi,30); y=sin(x); plot(x,y)
先畫好圖5-2,而後用下述命令增長cos(x)的圖形,也可獲得圖5-3。
>> hold on
>> z=cos(x); plot(x,z)
>> hold off
圖5-4
5.1.3 線型和顏色
MATLAB對曲線的線型和顏色有許多選擇,標註的方法是在每一對數組後加一個字符串參數,說明以下:
線型 線方式: - 實線 :點線 -. 虛點線 - - 波折線。
線型 點方式: . 圓點 +加號 * 星號 x x形 o 小圓
顏色: y黃; r紅; g綠; b藍; w白; k黑; m紫; c青.
如下面的例子說明用法:
>> x=0:pi/15:2*pi;
>> y1=sin(x); y2=cos(x);
>> plot(x,y1,’b:+’,x,y2,’g-.*’)
可得圖形5-4。
5.1.4 網格和標記
在一個圖形上能夠加網格、標題、x軸標記、y軸標記,用下列命令完成這些工做。
>> x=linspace(0,2*pi,30); y=sin(x); z=cos(x);
>> plot(x,y,x,z)
>> grid
>> xlabel(‘Independent Variable X’)
>> ylabel(‘Dependent Variables Y and Z’)
>> title(‘Sine and Cosine Curves’)
它們產生圖5-5:
圖5-5
也能夠在圖形的任何位置加上一個字符串,如用:
>> text(2.5,0.7,’sinx’)
表示在座標x=2.5, y=0.7處加上字符串sinx。更方便的是用鼠標來肯定字符串的位置,方法是輸入命令:
>> gtext(‘sinx’)
在圖形窗口十字線的交點是字符串的位置,用鼠標點一下就能夠將字符串放在那裏。
5.1.5 座標系的控制
在缺省狀況下MATLAB自動選擇圖形的橫、縱座標的比例,若是你對這個比例不滿意,能夠用axis命令控制,經常使用的有:
axis([xmin xmax ymin ymax]) [ ]中分別給出x軸和y軸的最大值、最小值
axis equal 或 axis(‘equal’) x軸和y軸的單位長度相同
axis square 或 axis(‘square’) 圖框呈方形
axis off 或 axis(‘off’) 清除座標刻度
還有axis auto axis image axis xy axis ij axis normal axis on axis(axis)
用法可參考在線幫助系統。
5.1.6 多幅圖形
能夠在同一個畫面上創建幾個座標系, 用subplot(m,n,p)命令;把一個畫面分紅m×n個圖形區域, p表明當前的區域號,在每一個區域中分別畫一個圖,如
>> x=linspace(0,2*pi,30); y=sin(x); z=cos(x);
>> u=2*sin(x).*cos(x); v=sin(x)./cos(x);
>> subplot(2,2,1),plot(x,y),axis([0 2*pi –1 1]),title(‘sin(x)’)
>> subplot(2,2,2),plot(x,z),axis([0 2*pi –1 1]),title(‘cos(x)’)
>> subplot(2,2,3),plot(x,u),axis([0 2*pi –1 1]),title(‘2sin(x)cos(x)’)
>> subplot(2,2,4),plot(x,v),axis([0 2*pi –20 20]),title(‘sin(x)/cos(x)’)
共獲得4幅圖形,以下:
5.2 三維圖形
限於篇幅這裏只對幾種經常使用的命令經過例子做簡單介紹.
5.2.1 帶網格的曲面
例 做曲面z=f(x,y)的圖形
用如下程序實現:
>> x=-7.5:0.5;7.5;
>> y=x;
>> [X,Y]=meshgrid(x,y); (3維圖形的X,Y數組)
>> R=sqrt(X.^2+Y.^2)+eps; (加eps是防止出現0/0)
>> Z=sin(R)./R;
>> mesh(X,Y,Z) (3維網格表面)
畫出的圖形如圖5-7. mesh命令也能夠改成surf, 只是圖形效果有所不一樣,讀者能夠上機查看結果。
圖5-8
5.2.2 空間曲線
例 做螺旋線 x=sint, y=cost, z=t
用如下程序實現:
>> t=0:pi/50:10*pi;
>> plot3(sin(t),cos(t),t) (空間曲線做圖函數, 用法相似於plot)
畫出的圖形如圖5-8
5.2.3 等高線
用contour 或 contour3 畫曲面的等高線,如對圖5-7的曲面, 在上面的程序後接
contour(X,Y,Z,10) 便可獲得10條等高線。
5.2.4 其它
較有用的是給三維圖形指定觀察點的命令view(azi,ele),azi 是方位角, ele 是仰角.
缺省時 azi=ele=.
5.3 圖形的輸出
在數學建模中,每每須要將產生的圖形輸出到Word文檔中。一般可採用下述方法:
首先,在MATLAB圖形窗口中選擇【File】菜單中的【Export】選項,將打開圖形輸出對話框,在該對話框中能夠把圖形以emf、bmp、jpg、pgm等格式保存。而後,再打開相應的文檔,並在該文檔中選擇【插入】菜單中的【圖片】選項插入相應的圖片便可。