第04讲MATLAB绘二维图.docx
《第04讲MATLAB绘二维图.docx》由会员分享,可在线阅读,更多相关《第04讲MATLAB绘二维图.docx(15页珍藏版)》请在冰豆网上搜索。
第04讲MATLAB绘二维图
第四讲MATLAB可视化
(一)
绘二维图
【目录】
【正文】
数据可视化的目的在于:
通过图形,从一堆杂乱的离散数据中观察数据间的内在关系,感受由图形所传递的内在本质。
MATLAB一向注重数据的图形表示,并不断地采用新技术改进和完备其可视化功能。
一、数据与图形
1、离散数据可视化
任何二元实数标量对
可以在平面上表示一个点;任何二元实数向量对
可以在平面上表示一组点。
对于离散实函数
,当
以递增或递减的次序取值时,有
,这样,该向量对用直角坐标序列点图示时,实现了离散数据的可视化。
【例】用图形表示离散函数
n=0:
12;%产生一组13个自变量函数Xn
y=1./abs(n-6);%计算相应点的函数值Yn
plot(n,y,'r*','MarkerSize',20)
%用尺寸20的红星号标出函数点
gridon%画出坐标方格
2、连续函数可视化
对于连续函数可以取一组离散自变量,然后计算函数值,与离散数据的显示方式一样显示。
为更精确表示函数的变化,可以:
(1)对显示区间更精细的分割;
(2)用直线连接所有的点。
【例】用图形表示连续调制波形
。
t1=(0:
11)/11*pi;%自变量取12个点
y1=sin(t1).*sin(9*t1);%计算函数值
t2=(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-用直线连接数据点和红色的点显示
subplot(2,2,3);plot(t1,y1,t1,y1,'r.')
axis([0,pi,-1,1]);title('子图(3)')
%子图4-用直线连接数据点
subplot(2,2,4);plot(t2,y2);
axis([0,pi,-1,1]);title('子图(4)')
3、图形窗组成
刻度
Box坐标框
Xlabel横坐标轴名
Ylabel纵坐标轴名
Plot曲线
Title标题
Grid格线
Legend图例
Text文本注释
二、二维图形绘制步骤
步骤
典型指令
1
数据准备:
选定要表现的范围;产生自变量采样向量;计算相应的函数值向量
t=pi*(0:
100)/100;
y=sin(t).*sin(9*t);
2
选定图形窗及子窗位置:
缺省时,打开FigureNo.1或当前窗、当前子图
figure
(1)%指定1号图形窗
subplot(2,2,3)%指定3号子图
3
调用高层绘图指令:
线型、色彩、数据点形
plot(t,y,'b-')%用蓝实线画曲线
4
设置轴的范围与刻度、坐标分隔线
axis([0,pi,-1,1])%设置轴的范围
gridon%画坐标分隔线
5
图形注释:
图名、坐标名、图例、文字
title('调制波形')%图名
xlabel('t');ylabel('y')%轴名
legend('sin(t)')%图例
text(2,0.5,'y=sin(t)')%文字
6
图形的精细修饰:
利用对象属性设置;利用图形工具条进行
set(h,'MarkerSize',10)%设置数据点大小
三、绘图命令调用格式
1、plot(X,'s')
(1)X是实向量时,以向量元素的下标为横坐标,元素值为纵坐标画一连续曲线。
(2)X是实矩阵时,按列绘制每列元素值对应其下标的曲线,曲线数目等于X矩阵的列数;
(3)X是复数矩阵时,按列,分别以元素实部和虚部为横、纵坐标绘制多条曲线。
2、plot(X,Y,'s')
(1)X、Y是同维向量时,则绘制以X、Y元素为横、纵坐标的曲线;
(2)X是向量,Y是有一维与X等维的矩阵时,则绘出多根不同彩色的曲线。
曲线数等于Y的另一维数,X作为这些曲线的共同坐标;
(3)X是矩阵,Y是向量时,情况与上相同,Y作为共同坐标;
(4)X、Y是同维实矩阵时,则以X、Y对应的元素为横、纵坐标分别绘制曲线,曲线数目等于矩阵的列数。
3、plot(X1,Y1,'s1',X2,Y2,'s2',...)
其中每组Xn,Yn,'sn'同2。
s、s1、s2用来指定线型、色彩、数据点形的字符串。
【例】绘一组幅值不同的余弦函数
t=(0:
pi/50:
2*pi)';%横坐标列向量
k=0.4:
0.1:
1;%7个幅值
Y=cos(t)*k;%7条函数值矩阵
plot(t,Y)
【例】用图形表示连续调制波形及其包络线
t=(0:
pi/100:
2*pi)';%长度为101的时间采样序列
y1=sin(t)*[1,-1];%包络线函数值,101×2矩阵
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,2*pi,-1,1])%控制轴的范围
【例】用复数矩阵形式画图形。
t=linspace(0,2*pi,80)';%产生80个数
X=[cos(t),cos(2*t),cos(3*t)]+i*sin(t)*[1,1,1];%80x3的复数矩阵
plot(X),axissquare;%使坐标轴长度相同
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('AsetofEllipses')
四、曲线的色彩、线型和数据点形
1、色彩和线型
线型
符号
-
:
-.
--
含义
实线
虚线
点划线
双划线
色彩
符号
b
g
r
c
m
y
k
W
含义
蓝
绿
红
青
品红
黄
黑
白
有效的组合方式为'色彩+线型';
缺省时,线型为实线,色彩从蓝色开始循环。
【例】演示色彩与线型:
A=ones(1,10);%A为10个1的行向量,用于划横线
holdon%绘图保持
plot(A,'b-');plot(2*A,'g-');%蓝色、绿色的实线
plot(3*A,'r:
');plot(4*A,'c:
');%红色、青色的虚线
plot(5*A,'m-.');plot(6*A,'y-.');%品红、黄色的点划线
plot(7*A,'k--');plot(8*A,'w--');%黑色、白色的双划线
axis([0,11,0,9]);%定义坐标轴
holdoff%取消绘图保持
2、数据点形
符号
含义
符号
含义
符号
含义
符号
含义
.
实心点
+
十字符
d
菱形
h
六角星
*
八线符
^
上三角
o
空心园
p
五角星
<
左三角
>
右三角
s
方块符
x
叉字符
V
下三角
有效的组合方式为'点形'或者'色彩+点形'。
【例】演示数据点形
A=ones(1,10);figure
(1);holdon
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(13*A,'x');axis([0,11,0,14]);holdoff
五、坐标、刻度和分格线控制
1、坐标控制
坐标轴控制方式、取向和范围
坐标轴的高宽比
axisauto
使用缺省设置
axisepual
纵、横轴采用等长刻度
axismanual
使用当前坐标范围不变
axisfill
Manual方式起作用,坐标充满整个绘图区
axisoff
取消轴背景
axisimage
同epual且坐标紧贴数据范围
axison
使用轴背景
axisnormal
缺省矩形坐标系
axisij
矩阵式坐标,原点在左上方
axissquare
产生正方形坐标系
axisxy
直角坐标,原点在左下方
axistight
数据范围设为坐标范围
axis(V);V=[x1,x2,y1,y2];V=[x1,x2,y1,y2,z1,z2]
人工设定坐标范围
axisvis3d
保持高、宽比不变,用于三维旋转时避免图形大小变化
【例】观察各种轴控制指令的影响。
t=0:
2*pi/99:
2*pi;x=1.15*cos(t);y=3.25*sin(t);%椭圆
subplot(2,3,1),plot(x,y),gridon;%子图1
axisnormal,title('normal');
subplot(2,3,2),plot(x,y),gridon;%子图2
axisequal,title('equal');
subplot(2,3,3),plot(x,y),gridon;%子图3
axissquare,title('Square')
subplot(2,3,4),plot(x,y),gridon;%子图4
axisimage,boxoff,title('ImageandBoxoff')
subplot(2,3,5),plot(x,y);gridon%子图5
axisimagefill,boxoff,title('ImageandFill')
subplot(2,3,6),plot(x,y),gridon;%子图6
axistight,boxoff,title('Tight')
2、刻度设置
set(gca,'Xtick',xs,'Ytick',ys,'Ztick',zs)
xs、ys、zs为任何合法的实数向量,决定x、y、z轴的刻度。
3、分格线
grid是否划分格线的双向切换
gridon画出分格线
gridoff不画分格线
4、坐标框
box坐标形式在封闭和开启间切换
boxon开启
boxoff封闭
【例】通过绘制二阶系统阶跃响应,综合演示图形标识。
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)]);
gridon;
title('\it\fontsize{24}\fontname{黑体}二维函数显示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(s),ylabel(s)
图例:
legend(s1,s2,...)
注释:
text(x,y,s)
Matlab允许对上述所用到的文字进行更精细的控制,包括:
(1)允许多行文字:
['第一行','第二行']
(2)允许对字体名称、修饰、大小进行设定
(3)允许使用上下标
(4)允许使用特殊字符
2、绘图控制
figure(n)打开并指定第n个图形窗
clf清空图形窗口
holdon绘图保持
holdoff取消绘图保持
hold在上两者间切换
subplot(m,n,k)在第k个子图上绘图