【问题标题】:Plotting Convolution in Matlab在 Matlab 中绘制卷积
【发布时间】:2014-09-18 00:36:25
【问题描述】:

我正在尝试使用 matlab 在设定的时间间隔内绘制两个函数的卷积,但无法使绘图函数工作。

到目前为止我的代码是这样的:

>> 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)

抛出错误,说“向量必须是相同的长度”。我该如何制作,以便我可以相对于 t 绘制 y?

【问题讨论】:

    标签: matlab math convolution


    【解决方案1】:

    卷积的t的范围应该是从原始范围最小值的两倍到原始范围最大值的两倍,间隔相同。因此,卷积的t 的值的数量是2*n - 1,其中nt 的原始值的数量。所以总而言之,我认为你可以说t = -20 : 0.1 : 20,然后你应该有t的正确范围和正确数量的值。编辑:修正步长;应与原始范围相同(即 0.1)。

    更一般地,如果您要对具有不同范围的两个系列进行卷积,则结果范围的最小值是原始范围的最小值之和,最大值是原始范围的最大值之和价值观。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多