matlab中plot用法(轉)


MATLAB有很強的圖形功能,可以方便地實現數據的視覺化。強大的計算功能與圖形功能相結合為MATLAB在科學技術和教學方面的應用提供了更加廣闊的天地。下面着重介紹二維圖形的畫法,對三維圖形只作簡單敘述。

 

5.1 二維圖形的繪制

5.1.1 基本形式

二維圖形的繪制是MATLAB語言圖形處理的基礎,MATLAB最常用的畫二維圖形的命令是plot,看兩個簡單的例子:

>> y=[0 0.58 0.70 0.95 0.83 0.25];

>> plot(y)

生成的圖形見圖5-1,是以序號收集:matlab中plot用法為橫坐標、數組y的數值為縱坐標畫出的折線。

>> x=linspace(0,2*pi,30); % 生成一組線性等距的數值

>> y=sin(x);

>> plot(x,y)

生成的圖形見圖5-2,是收集:matlab中plot用法30個點連成的光滑的正弦曲線。

收集:matlab中plot用法收集:matlab中plot用法

 

                             圖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 onMATLA將把新的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

收集:matlab中plot用法收集:matlab中plot用法

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

收集:matlab中plot用法

                                           圖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-6.

5-6

5.2 三維圖形

限於篇幅這里只對幾種常用的命令通過例子作簡單介紹.

5.2.1 帶網格的曲面

例 作曲面z=f(x,y)的圖形

收集:matlab中plot用法

用以下程序實現:

>> 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, 只是圖形效果有所不同,讀者可以上機查看結果。

收集:matlab中plot用法

 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=收集:matlab中plot用法ele=收集:matlab中plot用法.

 

5.3 圖形的輸出

在數學建模中,往往需要將產生的圖形輸出到Word文檔中。通常可采用下述方法:

首先,在MATLAB圖形窗口中選擇【File】菜單中的【Export】選項,將打開圖形輸出對話框,在該對話框中可以把圖形以emfbmpjpgpgm等格式保存。然后,再打開相應的文檔,並在該文檔中選擇【插入】菜單中的【圖片】選項插入相應的圖片即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM