matlab离散系统差分求全响应,实验五 离散时间系统时域分析的MATLAB实现2

cc2e93cb0e9ac71806c1a18f694ac76b.png

图1. ①运行结果 图2. ②运行结果2.序列的卷积运算

序列f 1(k)、f 2(k)的卷积和运算f (k)= f 1(k)*f 2(k),可由MATLAB 的conv( )函数实现,调用格式为:

f=conv(f1,f2)

如:已知序列:???≤≤=???≤≤-=其他

,其他,030,2)(,02

2,1)(21k k f k k f k ,运行如下M 文件可

求其卷积和:

k1=-2:2;

f1=ones(1,length(k1)); k2=0:3; f2=2.^k2; f=conv(f1,f2) 结果为:

f =

1 3 7 15 15 14 1

2 8

可见,conv( )函数不需要给定f 1(k)、f 2(k)的非零样值的时间序号,也不返回卷积和序列f (k) 的时间序号;此外,conv( )假定f 1(k)、f 2(k)都是从k=0开始,这就限制了它的应用范围。因此,要对从任意k 值开始的序列进行卷积和运算,同时正确标识出函数conv( )的计算结果各量f ,还须构造序列f 1(k)、f 2(k)和f (k)的对应序号向量。下面是求序列f 1(k)、f 2(k)卷积和的实用函数dconv( ),它可实现序号向量的返回。

function [f,k]=dconv(f1,k1,f2,k2) %求卷积和:f(k)=f1(k)*f2(k)

f=conv(f1,f2)

k0=k1(1)+k2(1); %计算序列f 非零样值的起点位置k0 k3=length(k1)+length(k2)-2; %计算序列f 非零样值的宽度 k=k0:k0+k3; %确定序列f 非零样值的序号向量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值