【发布时间】:2021-08-12 13:32:59
【问题描述】:
我有两个数组:
p1=[sym(1) sym(2)]
p2=[sym(3) sym(4)]
我想使用conv 函数对这两个列表进行卷积。
Matlab 输出如下:
使用 conv2 时出错
无效的数据类型。第一个和第二个参数必须是数字或逻辑。
转换错误(第 43 行)
c = conv2(a(:),b(:),shape);
谁能帮我解决这个问题?
【问题讨论】:
-
您可以使用简单的
for循环自己进行乘法运算。翻转其中一个数组,然后将每个元素与其他元素相乘。此外,您提到conv(),但错误使用conv2()。 -
@Adriaan 我想对非常大的数组进行卷积。这只是一个例证。所以
for循环不是一个好的解决方案。是的我不知道为什么错误包含conv2! -
for循环如何不是非常大的数组的好解决方案?据我所知,conv无论如何都包含循环。
标签: matlab convolution symbolic-math