我正在尝试绘制一个离散卷积:
n = 0:25;
x = 2 * (heaviside(n+2)-heaviside(n-12));
h = 0.9.^n .* (heaviside(n-2)-heaviside(n-13));
y = conv(x, h);
stem(n, y)
但是我遇到了一个问题,因为 n 的长度是 26,y 的长度是 51,但我想向图显示从 n = 0 到 n = 25 的卷积。如何修改此代码以获得此类结果?
如果您阅读 conv
函数的文档,您将了解到它有第三个参数:一个字符串,告诉您输出应该有多大。
y = conv(x, h, 'same');
将创建一个与x
大小相同的y
(因此n
(。
没有更深入的卷积知识或类似:
如果您只是想让向量的大小相似,请像这样跳过向量的元素:
stem(n, y(1:2:end)) % Take every other element of y
这至少会产生一些带有离散点的曲线。
或者,将n
长度设置为两倍:
stem(0:.5:25, y) % Double the amount of elements previously in n