实验三 MATLAB计算结果可视化和卷积操作
(一)
实验目的
1) 掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。 2) 掌握卷积运算。
(二) 实验设备
计算机,Matlab软件
(三) 实验要求
本实验属于设计实验,请先根据(四)实验内容的(a)【matlab相关介绍及演示进行仿真】,并完成(b)【实验操作】。
请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验三_学号_姓名”,并通过FTP上传至指定文件夹。
(四) 实验内容
(a) matlab相关介绍及演示 MATLAB在数据可视化方面的表现能力很强。它的图形处理能力不仅功能强大,而且充分考虑了不同层次用户的不同需求,系统具有两个层次的绘图指令:一个层次是直接对图形句柄进行操作的底层绘图指令;另一层次是在底层指令基础上建立的高层绘图指令。常用的MATLAB绘图语句有figure、plot、subplot、stem等,图形修饰语具有title、axis、text等。
(1)figure语句
figure有两种用法。当只有一句figure命令时,程序会创建一个新的图形窗口,并返回一个整数型的窗口编号。当采用figure(n)时,表示将第n个图形窗口作为当前的图形窗口,将其显示在所有窗口的最前面。如果该图形窗口不存在,则新建一个窗口,并赋以编号n。 (2)plot语句
线形绘图函数。用法为plot(x,y,’s’)。参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略,常用方法如表2-1所示。
表2-1 plot命令的参数及其含义
参数 y m c r g b w k (3)subplot语句
含义 黄色 紫色 青色 红色 绿色 蓝色 白色 黑色 参数 . o x + * s d v
含义 点 圆 打叉 加号 星号 正方形 菱形 向下三角形 参数 - : -. -- ^ < > p 含义 实线 虚线 点划线 破折线 向上三角形 向左三角形 向右三角形 五角星形
班级: 学号: 姓名:
subplot(m,n,i)是分割显示图形窗口命令,它把一个图形窗口分为m行n列共m×n个小窗口,并指定第i个小窗口为当前窗口。 (4)二维统计分析图
在MATLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:
bar(x,y,选项) stairs(x,y,选项)
stem(x,y,选项)
fill(x1,y1,选项1,x2,y2,选项2,…)
例2-1 分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。 程序如下:
x=0:pi/10:2*pi;
y=2*sin(x);
subplot(2,2,1);bar(x,y,'g'); title('bar(x,y,''g'')');axis([0,7,-2,2]); subplot(2,2,2);stairs(x,y,'b'); title('stairs(x,y,''b'')');axis([0,7,-2,2]); subplot(2,2,3);stem(x,y,'k');
title('stem(x,y,''k'')');axis([0,7,-2,2]); subplot(2,2,4);fill(x,y,'y'); title('fill(x,y,''y'')');axis([0,7,-2,2]); 仿真结果:
bar(x,y,'g')210-1-2210-1-2stairs(x,y,'b')024stem(x,y,'k')6024fill(x,y,'y')6210-1-20246210-1-20246
(5)图形保持
hold on/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。
例2-2 采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。 程序如下:
x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
班级: 学号: 姓名:
plot(x,y1)
hold on
y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off 仿真结果:
21.510.50-0.5-1-1.501234567
(6)绘图修饰命令
title(图形名称) xlabel(x轴说明)
ylabel(y轴说明) text(x,y,图形说明)
legend(图例1,图例2,…) 例2-3 在0≤x≤2区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。 程序如下:
x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x); plot(x,y1,x,y2)
title('x from 0 to 2{\\pi}'); %加图形标题 xlabel('Variable X'); %加X轴说明
ylabel('Variable Y'); %加Y轴说明
text(0.8,1.5,'曲线y1=2e^{-0.5x}'); %在指定位置添加图形说明 text(2.5,1.1,'曲线y2=cos(4{\\pi}x)');
legend(‘y1’,‘ y2’) %加图例 仿真结果:
班级: 学号: 姓名:
x from 0 to 22y1y21.5曲线y1=2e-0.5x曲线y2=cos(4x)1Variable Y0.50-0.5-101234Variable X567
(7)坐标控制
axis函数的调用格式为:
axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。
axis square:产生正方形坐标系(缺省为矩形)。
axis auto:使用缺省设置。 axis off:取消坐标轴。 axis on:显示坐标轴。
给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。
例2-4 在同一坐标中,可以绘制3个同心圆,并加坐标控制。 程序如下:
t=0:0.01:2*pi; x=exp(i*t);
y=[x;2*x;3*x]'; plot(y)
grid on; %加网格线 box on; %加坐标边框 axis equal %坐标轴采用等刻度 仿真结果:
班级: 学号: 姓名:
2.521.510.50-0.5-1-1.5-2-2.5-3-2-10123
(b)实验操作
1) 绘图
假设N=12。对于M=4,在0≤n≤2N-1区间上画出xM[n]sin(标注。用plot和stem分别绘制该信号,并比较。(程序、截图)
2MnN),并添上适当
2) 卷积运算
(提示,卷积操作采用conv这个函数,请在命令窗口doc conv的具体用法)
假设一个系统的单位脉冲响应h(n)=R3(n),现在输入系统的信号x(n)=R2(n),请计算系统处理这个信号的结果y(n),要求使用x(n)h(n)和h(n)x(n)两种方法,并画出它们的波形。 理论解答:
第一种方法:根据卷积公式(2.70),x(n)和h(n)的卷积是
y(n)x(n)h(n)x(i)h(ni)i。 (11.10)
R3(n)R3(n1)(n)2(n1)2(n2)(n3)第二种方法:根据卷积公式(2.71),h(n)和x(n)的卷积是
y(n)h(n)x(n)h(i)x(ni)iR2(n)R2(n1)R2(n2)(n)2(n1)2(n2)(n3)。 (11.11)
实验操作:
编写程序计算卷积结果,并画出它们的波形。(程序、截图)
因篇幅问题不能全部显示,请点此查看更多更全内容