资源描述:
《matlab实验 数据可视化方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四数据可视化方法[实验内容]一.仿照运行,体会数据可视化方法。1已知n=0,1,……,12,y=,运行下面程序,体会离散数据可视化方法。说明:·plot和stem指令均可以实现离散数据的可视化,但通常plot更常用于连续函数中特殊点的标记;而stem广泛运行与数字信号处理中离散点的图示。·用户在运行上面例程时会发现在命令窗口出现警告:Warning:Dividebyzero!即警告程序中出现非零数除以0的指令。MATLAB对于这种情况并不中止程序,只是给该项赋值为inf以做标记。2.下面时用图形
2、表示连续调制波形y=sin(t)sin(9t),仿照运行,分析表现形式不同的原因。二.编程实现。1.用图形表示连续调制波形y=sin(t)sin(9t),过零点及其包络线,如下图所示。2.编写函数[x,n]=stepseq(n0,n1,n2),实现:u(n)=,n为整数并编写脚本文件实现:x(n)=n·[u(n)-u(n-10)]+10[u(n-10)-u(n-20)],0≤n≤20要求在脚本文件中调用stepseq函数,最后绘出序列x(n)在给定区间的波形图。3.编写一个函数文件[y,n]=sig
3、add(x1,n1,x2,n2),实现两个对应样本之间的相加,其中x1是长度为n1的序列,x2是长度为n2的序列,n1、n2分别是x1、x2的位置信息(n1、n2均为整数),如:n1={-3,-2,-1,0,1,2,3,4},对应的x1={2,3,1,4,1,3,1,2};n2={-4,-3,-2,-1,0,1,2},对应的x2={1,3,2,5,1,3,4}。当调用函数[y,n]=sigadd(x1,n1,x2,n2)时,我们应该得到:n={-4,-3,-2,-1,0,1,2,3,4},对应的y=
4、{1,5,5,6,5,4,7,1,2}。仔细观察sigadd函数的功能。编好函数文件程序后,请在命令窗口调用,验证正确性,记录验证结果。[实验结果]一.1.2.二.1.t=0:0.001:pi;t=0:pi/1000:pi;y1=@(t)sin(t).*sin(9*t);y2=sin(t);plot(t,y1(t),t,y2'*[1-1],'r--')holdont0=linspace(0,pi,10);fori=1:length(t0)t00=fzero(y1,t0(i));plot(t00,0,
5、'o')endplot(pi,0,'o')分析:没有画出过零点时的图形。用find函数画不出,没找到其他的函数。2.function[x,n]=stepseq(n0,n1,n2);ifn1≥n≥n0u(n)=1;elseifn2≤n≤n0u(n)=0;endn=0:20x(n)=n·[u(n)-u(n-10)]+10[u(n-10)-u(n-20)];stem(x(n))Error:Functiondefinitionsarenotpermittedatthepromptorinscripts.分析
6、:matalb函数function不能在工作空间执行,函数文件应保存在M文件中,并且函数执行时是在函数特有的函数空间内进行的,而不在工作空间。3.function[y,n]=sigadd(x1,n1,x2,n2)n=(min(n1(1),n2(1)):max(n1(end),n2(end)));y1=zeros(1,length(n));y2=y1;y1(find((n>=n1(1))&(n<=n1(end))==1))=x1;y2(find((n>=n2(1))&(n<=n2(end))==1))
7、=x2;y=y1+y2;end