《第06講MATLAB繪二維圖》由會員分享,可在線閱讀,更多相關《第06講MATLAB繪二維圖(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
第五講 MATLAB可視化(一)
繪二維圖
【目錄】
一、數(shù)據(jù)與圖形 1
1、離散數(shù)據(jù)可視化 2
2、連續(xù)函數(shù)可視化 2
3、圖形窗組成 3
二、二維圖形繪制步驟 4
三、繪圖命令調用格式 5
1、plot(X,'s') 5
2、plot(X,Y,'s') 5
3、plot(X1,Y1,'s1',X2,Y2,'s2',...) 5
四、曲線的色彩、線型和數(shù)據(jù)點形 8
1、色彩和線型 8
2、數(shù)據(jù)點形 9
五、坐標、刻度和分格線控制 10
1、坐標控制 10
2、刻度設置 12
3、分格線 12
4、坐標框 12
六、圖形標識和控制 13
1、圖形標
2、識 13
2、繪圖控制 13
【正文】
數(shù)據(jù)可視化的目的在于:通過圖形,從一堆雜亂的離散數(shù)據(jù)中觀察數(shù)據(jù)間的內在關系,感受由圖形所傳遞的內在本質。
MATLAB一向注重數(shù)據(jù)的圖形表示,并不斷地采用新技術改進和完備其可視化功能。
一、數(shù)據(jù)與圖形
1、離散數(shù)據(jù)可視化
任何二元實數(shù)標量對可以在平面上表示一個點;任何二元實數(shù)向量對可以在平面上表示一組點。
對于離散實函數(shù),當以遞增或遞減的次序取值時,有,這樣,該向量對用直角坐標序列點圖示時,實現(xiàn)了離散數(shù)據(jù)的可視化。
【例】 用圖形表示離散函數(shù)
n=0:12; % 產(chǎn)生一組13個自變量函數(shù)Xn
y=1./abs(n
3、-6); % 計算相應點的函數(shù)值Yn
plot(n,y,'r*','MarkerSize',20)
% 用尺寸20的紅星號標出函數(shù)點
grid on % 畫出坐標方格
2、連續(xù)函數(shù)可視化
對于連續(xù)函數(shù)可以取一組離散自變量,然后計算函數(shù)值,與離散數(shù)據(jù)的顯示方式一樣顯示。
為更精確表示函數(shù)的變化,可以:(1)對顯示區(qū)間更精細的分割;(2)用直線連接所有的點。
【例】 用圖形表示連續(xù)調制波形。
t1=(0:11)/11*pi; % 自變量取12個點
y1=sin(t1).*sin(9*t1); % 計算函數(shù)值
t2
4、=(0:100)/100*pi; % 自變量取101個點
y2=sin(t2).*sin(9*t2);
subplot(2,2,1); % 在子圖1上畫圖
plot(t1,y1,'r.'); % 用紅色的點顯示
axis([0,pi,-1,1]); % 定義坐標大小
title('子圖 (1)'); % 顯示子圖標題
% 子圖2-用紅色的點顯示
subplot(2,2,2);plot(t2,y2,'r.');
axis([0,pi,-1,1]);title('子圖 (2)')
% 子圖3-用直線連接數(shù)據(jù)點和紅色的點顯示
sub
5、plot(2,2,3);plot(t1,y1,t1,y1,'r.')
axis([0,pi,-1,1]);title('子圖 (3)')
% 子圖4-用直線連接數(shù)據(jù)點
subplot(2,2,4);plot(t2,y2);
axis([0,pi,-1,1]);title('子圖 (4)')
3、圖形窗組成
刻度
Box坐標框
Xlabel橫坐標軸名
Ylabel縱坐標軸名
Plot曲線
Title標題
Grid格線
Legend圖例
Text文本注釋
二、二維圖形繪制步驟
步驟
典型指令
1
數(shù)據(jù)準備:選定要表現(xiàn)的范圍;產(chǎn)生自變量采樣向
6、量;計算相應的函數(shù)值向量
t=pi*(0:100)/100;
y=sin(t).*sin(9*t);
2
選定圖形窗及子窗位置:缺省時,打開Figure No.1或當前窗、當前子圖
figure(1) % 指定1號圖形窗
subplot(2,2,3) % 指定3號子圖
3
調用高層繪圖指令:線型、色彩、數(shù)據(jù)點形
plot(t,y,'b-') % 用藍實線畫曲線
4
設置軸的范圍與刻度、坐標分隔線
axis([0,pi,-1,1]) %設置軸的范圍
grid on %畫坐標分隔線
5
圖形注釋:
圖名、坐標名、圖例、文字
title
7、('調制波形') % 圖名
xlabel('t');ylabel('y') % 軸名
legend('sin(t)') % 圖例
text(2,0.5,'y=sin(t)') % 文字
6
圖形的精細修飾:利用對象屬性設置;利用圖形工具條進行
set(h,'MarkerSize',10) % 設置數(shù)據(jù)點大小
三、繪圖命令調用格式
1、plot(X,'s')
(1) X是實向量時,以向量元素的下標為橫坐標,元素值為縱坐標畫一連續(xù)曲線。
(2) X是實矩陣時,按列繪制每列元素值對應其下標的曲線,曲線數(shù)目等于X矩陣的列數(shù);
(3) X是復數(shù)矩陣時,按
8、列,分別以元素實部和虛部為橫、縱坐標繪制多條曲線。
2、plot(X,Y,'s')
(1) X、Y是同維向量時,則繪制以X、Y元素為橫、縱坐標的曲線;
(2) X是向量,Y是有一維與X等維的矩陣時,則繪出多根不同彩色的曲線。曲線數(shù)等于Y的另一維數(shù),X作為這些曲線的共同坐標;
(3) X是矩陣,Y是向量時,情況與上相同,Y作為共同坐標;
(4) X、Y是同維實矩陣時,則以X、Y對應的元素為橫、縱坐標分別繪制曲線,曲線數(shù)目等于矩陣的列數(shù)。
3、plot(X1,Y1,'s1',X2,Y2,'s2',...)
其中每組Xn,Yn,'sn'同2。
s、s1、s2用來指定線型、色彩、數(shù)據(jù)點
9、形的字符串。
【例】 繪一組幅值不同的余弦函數(shù)
t=(0:pi/50:2*pi)'; % 橫坐標列向量
k=0.4:0.1:1; % 7個幅值
Y=cos(t)*k; % 7條函數(shù)值矩陣
plot(t,Y)
【例】 用圖形表示連續(xù)調制波形及其包絡線
t=(0:pi/100:2*pi)'; % 長度為101的時間采樣序列
y1=sin(t)*[1,-1]; % 包絡線函數(shù)值,101×2矩陣
y2=sin(t).*sin(9*t); % 長度為101的調制波列向量
t3
10、=pi*(0:9)/9;
y3=sin(t3).*sin(9*t3);
plot(t,y1,'r:',t,y2,'b',t3,y3,'bo') % 繪制三組曲線
axis([0,2*pi,-1,1]) % 控制軸的范圍
【例】 用復數(shù)矩陣形式畫圖形。
t=linspace(0,2*pi,80)'; % 產(chǎn)生80個數(shù)
X=[cos(t),cos(2*t),cos(3*t)]+i*sin(t)*[1,1,1];%80x3的復數(shù)矩陣
plot(X),axis square;
11、 %使坐標軸長度相同
legend('1','2','3') %圖例
【例】 采用模型畫一組橢圓。
th=[0:pi/50:2*pi]';
a =[0.5:.5:4.5];
X =cos(th)*a;
Y =sin(th)*sqrt(25-a.^2);
plot(X,Y);
axis('equal');
xlabel('x'),ylabel('y');
title('A set of Ellipses')
四、曲線的色彩、線型和數(shù)據(jù)點形
1、色彩和線型
線型
符號
-
:
-.
--
含
12、義
實線
虛線
點劃線
雙劃線
色彩
符號
b
g
r
c
m
y
k
W
含義
藍
綠
紅
青
品紅
黃
黑
白
有效的組合方式為'色彩+線型';
缺省時,線型為實線,色彩從藍色開始循環(huán)。
【例】 演示色彩與線型:
A=ones(1,10); % A為10個1的行向量,用于劃橫線
hold on % 繪圖保持
plot(A,'b-') ;plot(2*A,'g-'); % 藍色、綠色的實線
plot(3*A,'r:') ;plot(4*A,'c:');
13、 % 紅色、青色的虛線
plot(5*A,'m-.');plot(6*A,'y-.');%品紅、黃色的點劃線
plot(7*A,'k--');plot(8*A,'w--');%黑色、白色的雙劃線
axis([0,11,0,9]); % 定義坐標軸
hold off % 取消繪圖保持
2、數(shù)據(jù)點形
符號
含義
符號
含義
符號
含義
符號
含義
.
實心點
+
十字符
d
菱形
h
六角星
*
八線符
^
上三角
o
空心園
p
五角星
<
左三角
>
14、
右三角
s
方塊符
x
叉字符
V
下三角
有效的組合方式為'點形'或者'色彩+點形'。
【例】演示數(shù)據(jù)點形
A=ones(1,10);figure(1);hold on
plot(A,'.'); plot(2*A,'+'); plot(3*A,'*');
plot(4*A,'^'); plot(5*A,'<'); plot(6*A,'>');
plot(7*A,'V'); plot(8*A,'d'); plot(9*A,'h');
plot(10*A,'o');plot(11*A,'p');plot(12*A,'s');
plot(1
15、3*A,'x');axis([0,11,0,14]);hold off
五、坐標、刻度和分格線控制
1、坐標控制
坐標軸控制方式、取向和范圍
坐標軸的高寬比
axis auto
使用缺省設置
axis epual
縱、橫軸采用等長刻度
axis manual
使用當前坐標范圍不變
axis fill
Manual方式起作用,坐標充滿整個繪圖區(qū)
axis off
取消軸背景
axis image
同epual且坐標緊貼數(shù)據(jù)范圍
axis on
使用軸背景
axis normal
缺省矩形坐標系
axis ij
矩陣式坐標,原點在左上方
axi
16、s square
產(chǎn)生正方形坐標系
axis xy
直角坐標,原點在左下方
axis tight
數(shù)據(jù)范圍設為坐標范圍
axis(V);V = [x1, x2, y1, y2 ]; V = [ x1, x2, y1, y2, z1, z2]
人工設定坐標范圍
axis vis3d
保持高、寬比不變,用于三維旋轉時避免圖形大小變化
【例】 觀察各種軸控制指令的影響。
t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t); %橢圓
subplot(2,3,1),plot(x,y),grid on; % 子圖1
a
17、xis normal,title('normal');
subplot(2,3,2),plot(x,y),grid on; % 子圖2
axis equal,title('equal');
subplot(2,3,3),plot(x,y),grid on; % 子圖3
axis square,title('Square')
subplot(2,3,4),plot(x,y),grid on; % 子圖4
axis image,box off,title('Image and Box off')
subplot(2,3
18、,5),plot(x,y);grid on % 子圖5
axis image fill,box off,title('Image and Fill')
subplot(2,3,6),plot(x,y),grid on; % 子圖6
axis tight,box off,title('Tight')
2、刻度設置
set(gca,'Xtick',xs,'Ytick',ys,'Ztick',zs)
xs、ys、zs為任何合法的實數(shù)向量,決定x、y、z軸的刻度。
3、分格線
grid 是否劃分格線的雙向切換
grid on
19、 畫出分格線
grid off 不畫分格線
4、坐標框
box 坐標形式在封閉和開啟間切換
box on 開啟
box off 封閉
【例】 通過繪制二階系統(tǒng)階躍響應,綜合演示圖形標識。
clf;t=6*pi*(0:100)/100;
y=1-exp(-0.3*t).*cos(0.7*t);
plot(t,y,'r-','LineWidth',3);
axis([-inf,6*pi,0.6,inf]);
set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)]);
grid on;
titl
20、e('\it\fontsize{24}\fontname{黑體}二維函數(shù)顯示 y = 1 - e^{ -\alphat}cos{\omegat}')
text(13.5,1.2,'\fontsize{12}{\alpha}=0.3')
text(13.5,1.1,'\fontsize{12}{\omega}=0.7')
xlabel('\fontsize{14} \bft \rightarrow')
ylabel('\fontsize{14} \bfy \rightarrow')
六、圖形標識和控制
1、圖形標識
圖 名:title(s)
坐標軸名:xlabel
21、(s),ylabel(s)
圖 例:legend(s1,s2,...)
注 釋:text(x,y,s)
Matlab允許對上述所用到的文字進行更精細的控制,包括:
(1) 允許多行文字:['第一行','第二行']
(2) 允許對字體名稱、修飾、大小進行設定
(3) 允許使用上下標
(4) 允許使用特殊字符
2、繪圖控制
figure(n) 打開并指定第n個圖形窗
clf 清空圖形窗口
hold on 繪圖保持
hold off 取消繪圖保持
hold 在上兩者間切換
subplot(m,n,k) 在第k個子圖上繪圖
05-14