实验二、序列的运算

一、实验目的

  1. 充分熟悉函数find、sigshift、sigfold函数的使用;
  2. 熟悉序列的加、减、乘、除、移位、折叠的计算;
  3. 能够画出结果的图形。

二、实验步骤
4. 用help查找find、sigshift、sigfold函数的使用情况;
5. 编辑并生成函数sigadd.m(序列相加);
6. 编辑并生成函数sigmult.m(序列相乘);
7. 编辑并生成函数sigshift.m(序列移位);
8. 编辑并生成函数sigfold.m(序列折叠);
9. 编辑并生成实现两序列相乘和相加的程序;
10. 改变坐标尺度重新画图,是图形更加直观;
11. 在命令窗口打出x1,x2,y1,y2的值,并贴进实验报告;
12. 编辑并生成实现序列移位和折叠程序;
13. 在命令窗口打出y1,y2,n2,n3的值,并贴进实验报告;
14. 画出y3=2x1(2-n), y4=x1(3n)的图形,在命令窗口打出y3,y4的值,并贴进实验报告

三、实验结果
15. 用help查找find、sigshift、sigfold函数的使用情况
在这里插入图片描述
2. 编辑并生成函数sigadd.m(序列相加)
在这里插入图片描述
3. 编辑并生成函数sigmult.m(序列相乘)
在这里插入图片描述

  1. 编辑并生成函数sigshift.m(序列移位)
    在这里插入图片描述
  2. 编辑并生成函数sigfold.m(序列折叠)
    在这里插入图片描述
    6 编辑并生成实现两序列相乘和相加的程序
clc;
        clear;
        x1=[0,1,2,3,4,3,2,1,0];n1=-2:6;    
        x2=[2,2,0,0,0,-2,-2]; n2=2:8; 
        [y1,n]=sigmult(x1,n1,x2,n2);
        [y2,n]=sigadd(x1,n1,x2,n2);
        subplot(2,2,1);stem(n1,x1);title('序列x1')
        xlabel('n');ylabel('x1(n)');
subplot(2,2,2);stem(n2,x2);title('序列x2')
    xlabel('n');ylabel('x2(n)');
    subplot(2,2,3);stem(n,y1);title('两序列相乘')
    xlabel('n');ylabel('y1(n)');
    subplot(2,2,4);stem(n,y2);title('两序列相加')
xlabel('n');ylabel('y2(n)');

在这里插入图片描述
7. 编辑并生成实现序列移位和折叠程序

x1=[0,1,2,3,4,3,2,1,0];n1=-2:6;    
        [y1,n2]=sigshift(x1,n1,2);
        [y2,n3]=sigfold(x1,n1);
        subplot(3,1,1);stem(n1,x1);title('序列x1')
        xlabel('n');ylabel('x1(n)');
        subplot(3,1,2);stem(n2,y1);title('序列移位')
        xlabel('n');ylabel('y1(n)');
        subplot(3,1,3);stem(n3,y2);title('序列折叠')
        xlabel('n');ylabel('y2(n)'); 

在这里插入图片描述
8. 画出y3=2x1(2-n), y4=x1(3n)的图形,在命令窗口打出y3,y4的值,并贴进实验报告

x1=[0,1,2,3,4,3,2,1,0];n1=-2:6;    
        [k1,n4]=sigfold(x1,n1);
        [k2,n5]=sigshift(k1,n4,2);
        y3=2*k2;
        n6=[fix(-2/3):fix(6/3)];
        m=find(fix(n1/3)==n1/3);
        y4=x1(m);
        subplot(3,1,1);stem(n1,x1);title('ÐòÁÐx1')
        xlabel('n');ylabel('x1(n)');
        subplot(3,1,2);stem(n5,y3);title('2x1(2-n)')
        xlabel('n');ylabel('y3(n)');
        subplot(3,1,3);stem(n6,y4);title('x1(3n)')
        xlabel('n');ylabel('y4(n)'); 

在这里插入图片描述
在这里插入图片描述
四、心得体会
通过这次实验,我对序列的运算有了更深入的了解,明白了其中的原理,也学会了如何编写MATLAB程序来实现序列之间的运算。但是对一些MATLAB特殊函数还是需要加强理解

  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值