第5章MATLAB图形绘制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


例5-3 以参数方程形式的二维曲线绘制 绘制曲线:
x t cos(3t ) 2 y t sin t

t
>>t=-pi:pi/100:pi; x=t.*cos(3*t); y=t.*(sin(t)).^2 %y=t.*sin(t).*sin(t); plot(x,y)
6




例5-1 图形的基本绘制 x=0:0.1:2*pi; plot(x,sin(x)) hold on plot(x,cos(x),'ro') title('y1=sin(x),y2=cos(x)') %添加标题 xlabel('x') %添加横坐标名 legend('sin(x)','cos(x)',4) %在右下角添加图例图4.10 添加图形标注 text(pi,sin(pi),'x=pi') %在pi,sin(pi)处添加文字注释
幅度为2、频率为4Hz、相位为
/ 6 的正弦信号
在信号处理中,首先对连续时间信号进行抽样(抽样定理) ,然后转换成序列,离散时间正弦序列可表示为:


x[n] A cos(0n ) a cos(0n) b sin(0n) 其中,0 为数字角频率, 为相位。
例5-7产生一个振幅为2、数字角频率为 / 6rad、相位为 / 6 的正弦序列。
9
5.2 二维图形的绘制


所谓二维图形是指将平面坐标上的数据点连接 起来的平面图形。 在MATLAB中,最基本且应用最为广泛的绘图 函数为plot函数,利用它可以在二维平面上绘 制出不同的曲线。除了plot函数外,常用的还 有plotyy(绘制出具有不同纵坐标度的两个图 形)、stem(P38绘制二维离散图形或针状图 )、fplot(P36精确绘图)和polar(极坐标图 )等。
3
5.1 MATLAB图形绘制基础
MATLAB图形绘制的基本步骤
在MATLAB中,一般按照下述的几个步骤绘制图 形。 ①准备需绘制的数据或函数,常用典型指令如下。
x1=0:0.1:10; x2=linspace(0,2*pi,100); x3=(0:10:360)*pi/100; y1=exp(x1); y2=sin(x2); y3=cos(x3);
polar()函数用来绘制极坐标图 语法规则: polar(极角, 极径,’选项’) 例如: t=0:0.1:8*pi; r=2*sin(t/2); polar(t,r,'r'); title('双心脏线');

5.2.5fplot()函数
前面介绍了这些函数,思路都是先取足够稠密的 自变量向量x,然后计算函数值向量y,最后绘出 函数图。在取数据点时一般都是等间隔采样,因 此绘制高频率变化的函数不够精确。为了提高精 度,绘制出比较真实的函数曲线,通常采用精度 绘制fplot()函数,该函数自适应地对函数进行采 样,更好的反应函数的变化规律。 语法规则:
2)自变量x是向量,y是二维数组
(1)以x为横坐标,y的每一行为纵坐标 例如: >>x=linspace(0,2*pi,100); y=[sin(x);cos(x)]; plot(x,y)
x被作为sin(x)和cos(x) 曲线共同的横坐标

(2)以x为横坐标,y的每一列为纵坐标
fplot(文件名,x和y的取值范围,相对允许误差,选项)




例如用fplot函数绘制’ f ( x) cos(tan( x)) 第一步: 建立myf.m文件(方法和课本36页一样) function y=myf(x) y=cos(tan(pi*x)) 第二步: 用fplot函数绘制myf.m函数的曲线; >>fplot('myf',[-0.4,1.4],1e-4) 或者直接在命令窗口输入: >>fplot(‘cos(tan(pi*x)’,[-0.4,1.4],1e-4)


例5-6 (P38例1-38)产生一个幅度为2、频率为4Hz 、相位为 / 6 的正弦信号。 补充知识: 正弦信号:x(t ) A cos(t ) a cos(t ) b sin(t ) 为初相。 其中A为振幅, 为震荡角频率,rad/s, 2 f ,f为频率,Hz。 >>A=2,f=4; phi=pi/6; omega=2*pi*f n=0:0.01:1; x=A*cos(omega*n+phi) plot(n,x); grid on
x=[0:1:6]'; y= [sin(x),cos(x)]; plot(x,y)
3)自变量x和y为同维矩阵
绘制以它们的对应列为横、纵坐标的多条曲线 例如: t=linspace(0,2*pi,100); x=[t;t]; y=[sin(t);cos(t)]; plot(x,y)

5.2.2双纵坐标函数plotyy


为了有利于对图形数据进行对比分析,引入了 plotyy函数。 语法规则: plotyy(x1,y1,x2,y2):与plot不同的是,它具有 不同的纵坐标。

例5-5用不同标度在同一坐标内绘制曲线 y1 e 0.5 x sin(2 x )
y 2 1.5e 0.2 x sin x
第5讲 MATLAB图形绘制
1
本章学习目标
熟练掌握MATLAB图形绘制的基本步骤和基
本绘图命令 熟悉绘图过程中曲线颜色、线型、数据点型 的设置方法 熟练掌握典型二维图形的绘制及标注方法 掌握常见三维图形的基本绘制方法
2
主要内容

5.1 MAቤተ መጻሕፍቲ ባይዱLAB图形绘制基础 5.2 二维图形的绘制 5.3 三维图形的绘制
在上述步骤中,(1)、(3)是最基本、最常用 的绘图步骤。一般情况下,由这两步所画出的图 形已经比较完整,至于其他步骤,并不是必需的。 步骤(2)一般在图形较多的情况下使用,比如要把 几个图放到一起进行比较,此时可根据所作图形 的个数对subplot(m, n, k)指令中的m、n进行赋 值。步骤(4)、(5)的前后次序可按照指令的常用 程度和复杂程度编排,用户可根据自己的需要改 变前后次序。
2.plot(x,y)

1.Plot(x,y)中的自变量x和y为同维向量 例5-2 在 0 x 2 区间内,绘制曲线
y 2e

0.5 x
sin(2 x)
>>x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)
4
②选择图形输出的窗口及位置,常用典型指令 如下。 figure(1) subplot(m,n,k) %将当前窗口分成m行n列个 绘图区 ③调用基本的绘图函数,常用典型指令如下。 plot(x1,y1,’r:’,x2,y2, ’g-’,x3,y3,’o’) ④设置坐标轴的范围和网格线,常用典型指令 如下。 axis([0,10,-3,3]) axis([xmin,xmax,ymin,ymax,zmin,zmax]) grid on




(2)若y为复数向量,则绘制以其实部为横坐标 ,以其虚部系数为纵坐标的图形,即相当于 plot(real(y),imag(y))。 a=1:5,b=linspace(1,10,5) y=a+i*b plot(y)

(3)曲线条线等于y的列数。 x=0:0.2:10*pi; y=[sin(x);cos(x)]'; plot(y)
3.含多个输入参数与选项的plot函数
例5-4(P38 例1-37) t t 3 3 sin 3t,其包络线为 y0 e , 画出衰减震荡曲线 y e t的取值范围是 0 x 4 >>t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'r-',t,y0,'b:',t,-y0,'b:')
>>x1=0:pi/100:2*pi;x2=0:pi/100:2*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.2*x2).*sin(x2); plotyy(x1,y1,x2,y2)
5.2.3stem()函数
stem(x,y)函数图形的形状为针状图,与plot的语法 规则一样,x表示横坐标,y表示纵坐标,不同的是plot 函数绘制的是连续函数,而stem函数实现的是离散序 列的绘制。 语法规则: 1)stem(y):以x=1,2,...为各点数据的x坐标以向量y的各 个对应元素为y坐标,在(x,y)坐标面画一个空心小圆圈 2)stem(x,y):以x向量的各个元素为x坐标,以y向量的 各个对应元素为y坐标,在(x,y)坐标面画一个空心小圆 圈,若画实心圆圈可以在选项处添加相应的参数filled 进行离散点的填充,最后将每个离散点都连接一条线段 到x轴。
>>A=2 phi=pi/6; OMEGA=pi/6; n=-10:10; x=A*cos(OMEGA*n+phi) stem(n,x,’filled’); grid on

振幅为2、数字角频率为 / 6 rad、相位为 / 6 的正弦序列
5.2.4 polar()函数
二维图形的处理
1.图形标注 在绘制图形时,对图形加上一些说明,比如图 形标题,坐标轴说明以及否些部分的含义等等。 另外文字在图形中显示包括: 用坐标轴确定文字位置:调用text()函数 用鼠标确定文字位置:调用gtext()函数 2.图形窗口的分割:调用subplot()函数
例5-8给(P38 1-37)添加图形标注
5.2.1 plot()函数
语法规则: 1.plot(y) %绘制以y为纵坐标的二维曲线 2.plot(x,y) %绘制以x为横坐标y为纵坐标的二维曲线 3.plot(x1,y1,x2,y2,...,xn,yn) %绘制多个二维图形曲线 4.plot(x1,y1,’选项’,x2,y2,’选项’,...xn,yn,’选项 ’) 选项:包括线型、颜色和标记符号等,见表一 其中自变量x和y既可以是向量也可以是数组
5
⑤用名称、图例、坐标名、文本等对图形进行注 释,常用典型指令如下。 xlabel('x') ylabel('y') title('图1') text(x,y,'y=f(x)') legend(‘s’,pos) %在指定位置建立图例 s 其中,pos是图例在图上位置的指定符,取值为0,1 ,2,3,4,-1分别表示自动取最佳位置,右上角( 默认),左上角,左下角,右下角,图右侧添加图例 ⑥打印输出图形,常用典型指令如下。 print–dps2

表一 线型、颜色和标识符号
线型 : -. -实线 虚线 点画线 双画线 b g r y k w 颜色 蓝色 绿色 红色 黄色 黑色 白色 . o x + * s 标识符号 点 圆圈 叉号 加号 星号 方块符
m
c
品红色
青色
v 朝下三角符号
^ 朝上三角符号
1.plot(y)



功能: (1)若y为向量,其元素为实数,则绘制以其下 标为横坐标、以y为纵坐标的图形,即相当于 plot(1:length(y),y)。 例如: x=0:1:6; y=x.^2+1; plot(y)






t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); t1=0:pi/3:4*pi y1=exp(-t1/3).*sin(3*t1) plot(t,y,'r-',t,y0,'b:',t,-y0,'b:',t1,y1,'b*') title(‘衰减震荡曲线’) xlabel('t') ylabel('y') text(3*pi/2, 0.2079,‘包络线’); text(pi,1.2893e-016,‘曲线') text(0,0,‘离散数据点') legend(‘曲线’,‘包络线’,‘包络线’,‘离散数据点')
相关文档
最新文档