我正在尝试使用matlab在设定的时间间隔上绘制两个函数的卷积,并且无法使plot函数正常工作。
到目前为止,我的代码是这样的:
>> t = -10:.1:10
>> f = heaviside(t)-heaviside(t-3)
>> g = heaviside(t)-heaviside(t-1)
>> y = conv(f,g)
它会产生3个变量,分别是“值” 1x201 double,(t,f,g)和卷积值1x401 double,我相信这意味着它是前一个变量的点数的两倍
当我使用plot命令绘制图时,我尝试使用以下命令绘制关于t的卷积:
>> plot(t,y)
抛出错误并说“向量必须具有相同的长度”。我该如何做才能将y相对于t作图?
t
卷积的范围应该是原始范围的最小值的两倍到原始范围的最大值的两倍,并且间隔相同。因此,t
卷积的值数量为,2*n - 1
其中n
的原始值是t
。因此,总而言之,我想你可以说t = -20 : 0.1 : 20
,然后您应该具有的正确范围和值的正确数目t
。编辑:更正步长;应该与原始范围相同(即0.1)。
更一般而言,如果要对两个具有不同范围的序列进行卷积,则结果范围的最小值是原始范围的最小值的总和,而最大值是原始范围的最大值的总和。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句