Matlab教程2_ 繪圖 _ 二維(2)

(做者:lcc) 數組

二維曲線繪圖的基本操做 函數

n  plot指令的基本調用格式 post

(1)plot(x) spa

n  x爲向量時,以該元素的下標爲橫座標、元素值爲縱座標繪出曲線 排序

n  x爲實數二維數組時,則按列繪製每列元素值相對其下標的曲線,曲線數等於x數組的列數。 ci

n  x爲複數二維數組時,則按列分別以數組的實部和虛部爲橫、縱座標繪製多條曲線 it

(2)plot(x, y) io

n  x、y爲同維數組時,繪製以x、y元素爲橫縱座標的曲線 table

n  x爲向量,y爲二維數組、且其列數或行數等於x的元素數時,繪製多條不一樣顏色的曲線 grid

n  x爲二維數組,y爲向量時,狀況與上相同,只是y仍爲縱座標。

(3)plot(x1, y1, x2, y2, …)

n  繪製以x1爲橫座標、y1爲縱座標的曲線1,以x2爲橫座標、y2爲縱座標的曲線2,等等。

n  其中x爲橫座標,y爲縱座標,繪製y=f(x)函數曲線。

 

例3.1使用直角座標系在[0,2π]區間內,繪製曲線

x = 0:pi/100:2*pi;

y = 2*exp(-0.5*x).*sin(2*pi*x);

plot(x,y)

 

例3.2 使用參數方程繪製曲線繪製曲線

t = -pi:pi/100:pi;

x = t.*cos(3*t);

y = t.*sin(t).^2;

plot(x,y)

 

例3.3  繪製複雜曲線

用圖形表示連續調製波形及其包絡線。

t=(0:pi/100:pi)’;    %長度爲101的時間採樣列向量

y1=sin(t)*[1,-1];    %包絡線函數值,是(101x2)的矩陣

y2=sin(t).*sin(9*t); %長度爲101的調製波列向量

t3=pi*(0:9)/9;                                                

y3=sin(t3).*sin(9*t3);

plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')      

axis([0,pi,-1,1])    %控制軸的範圍

 

屢次疊繪、雙縱座標和多子圖

n  屢次疊繪

n  屢次調用plot命令在一幅圖上繪製多條曲線,須要hold指令的配合。

n  hold on   保持當前座標軸和圖形,並能夠接受下一次繪製。

n  hold off   取消當前座標軸和圖形保持,這種狀態下,調用plot繪製徹底新的圖形,不保留之前的座標格式、曲線。 

 

例 3.5  重繪曲線

重繪波形及其包絡線。

t=(0:pi/100:pi)'; %長度爲101的時間採樣列向量

y1=sin(t)*[1,-1]; %包絡線函數值,是(101x2)的矩陣

y2=sin(t).*sin(9*t); %長度爲101的調製波列向量

t3=pi*(0:9)/9;             

y3=sin(t3).*sin(9*t3);

plot(t,y1,'r:’)

hold on

plot(t,y2,'b‘)

plot(t3,y3,'bo')    

axis([0,pi,-1,1])    %控制軸的範圍

hold off

 

例3.6 利用hold繪製離散信號的波形。

t=2*pi*(0:20)/20;

y=cos(t).*exp(-0.4*t);

stem(t,y,'g');

hold on;

stairs(t,y,'r');

hold off 

 

雙縱座標:plotyy指令

n  plotyy指令調用格式:

 plotyy(x1, y1, x2, y2)

 x1-y1曲線y軸在左, x2-y2曲線y軸在右。

例3.7:

x = 0:0.01:20;

y1 = 200*exp(-0.05*x).*sin(x);

y2 = 0.8*exp(-0.5*x).*sin(10*x);

plotyy(x,y1,x,y2);

 

多子圖

n  MATLAB容許在同一圖形窗口布置幾幅獨立的子圖。具體指令:

n  subplot(m, n, k)   

使(mxn)幅子圖中第k個子圖成爲當前圖

n  subplot(‘postion’, [left, bottom, width, height]) 

在指定的位置上開闢子圖,併成爲當前圖

說明:

Ø  subplot(m, n, k)的含義:圖形窗口包含(mxn)個子圖,k爲要指定的當前子圖的編號。其編號原則: 左上方爲第1子圖,而後向右向下依次排序。該指令按缺省值分割子圖區域。

Ø  subplot(‘postion’, [left, bottom, width, height])用於手工指定子圖位置,指定位置的四元組採用歸一化的標稱單位,即認爲整個圖形窗口繪圖區域的高、寬的取值範圍都是[0, 1],而左下角爲(0,0)座標。

Ø  產生的子圖彼此獨立。全部的繪圖指令都可以在子圖中使用。

 

例3.8 演示subplot指令對圖形窗的分割

t=(pi*(0:1000)/1000)';

y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t);

subplot(2,2,1),plot(t,y1);axis([0,pi,-1,1])

subplot(2,2,2),plot(t,y2);axis([0,pi,-1,1])

subplot('position',[0.2,0.05,0.6,0.45])

plot(t,y12,'b-',t,[y1,-y1],'r:');

 

繪製圖形的輔助操做

曲線線形控制符

符號

-

:

-.

--

含義

實線

虛線

點劃線

雙劃線

曲線顏色控制符

符號

b

g

r

c

m

y

k

w

含義

品紅

曲線的色彩、線型和 數據點形


Ø  曲線的線形控制符、顏色控制符、數據點形控制符能夠組合使用

Ø  其前後次序不影響繪圖結果

Ø  也能夠單獨使用。

 

例3.9  繪製圖形的輔助操做

Specify Line properties

t=(0:15)*2*pi/15;

y=sin(t);

subplot(3,2,1), plot(t, y); title('Lins style is default')

subplot(3,2,2), plot(t, y, 'o'); title('Lins style is o')

subplot(3,2,3), plot(t, y, 'k:'); title('Lins style is k:')

subplot(3,2,4), plot(t, y, 'k:*'); title('Lins style is k:*')

subplot(3,2,5), plot(t, y, 'm-d'); title('Lins style is m-d')

subplot(3,2,6), plot(t, y, 'r-p'); title('Lins style is r-p')

座標、刻度和分格線控制

例 3.10 座標控制

繪製橢圓,長軸爲3.25,短軸爲1.15

t=0:2*pi/99:2*pi;

x=1.15*cos(t); y=3.25*sin(t);    % y爲長軸,x爲短軸

subplot(2,2,1); plot(x, y);

axis off

title('axis off');

subplot(2,2,2); plot(x,y);

axis image;

title('axis image');

subplot(2,2,3); plot(x,y);

axis equal;

title('axis Equal');

subplot(2,2,4); plot(x,y);

axis square;

title('axis Square');

刻度、分格線和座標框

n  分格線與grid指令

n  grid on      畫出分格線

n  grid off     不畫分格線

n  MATLAB的缺省設置是不畫分格線;分格線的疏密取決於座標刻度(改變座標刻度,可改變分格線的疏密)。

n  座標框

n  box on       控制加邊框線

n  box off      控制不加邊框線

n  刻度設置

n  指令及格式:

set(gca, ‘xtick’, xs, ‘ytick’, ys)

n  xs、ys能夠使任何合法的實數向量,用於分別設置x、y軸的刻度。

 

例3.11繪製y=1-exp(-0.3*t).*cos(0.7*t)

t=6*pi*(0:100)/100;

y=1-exp(-0.3*t).*cos(0.7*t);

tt=t(find(abs(y-1)>0.05));

ts=max(tt);                         

plot(t,y,'r-');

grid on;           

axis([0,6*pi,0.6,max(y)]);                                             

title('y=1-exp(-\alpha*t)*cos(\omega*t)');                     

hold on;

plot(ts,0.95,'bo');

hold off;          

set(gca,'xtick',[2*pi,4*pi,6*pi],'ytick',[0.95,1,1.05,max(y)]);

grid on;

相關文章
相關標籤/搜索