conv vs conv2吗?
24日视图(30天)
显示旧的评论
接受的答案
埃米尔哈姆萨
2020年5月1日
简单的区别在于conv()作用于一个一维向量,而conv2()作用于一个二维矩阵。
conv()通常用于线性系统分析和控制理论的研究。conv()的最常见的应用是找到LTI系统的响应。如果LTI系统的脉冲响应,然后找到其应对任何输入是一种发现输入和脉冲响应的卷积。看到这些链接以获得更多信息。
conv2()主要用于图像处理。图片可以做很多事情,例如,模糊、平滑、锐化等。总结其应用是不可能在一个职位。以下链接将是有益的
4评论
埃米尔哈姆萨
2020年5月2日
这是一个很好的讨论,约翰。你的答案和评论总是非常丰富和有趣的阅读。
你的评论让我进一步思考这个问题。“migits”大小的限制是由有限精度的浮点或int64数据类型。使用int64将我们可以获得49倍(int64应该工作migits大小7)。如果我们这样做:
你的评论可以处理变量的方法精度乘法利用conv()和int64 imigits的7)。如果我们封装成一个函数,使用它来创建migits任意大小。例如,我们vpa_mul编写一个函数
函数z = vpa_mul (x, y)% x, y和z是char向量
%这里我们把x和y单个数字
%然后分区migits和繁殖
使用migits并返回y %字符数组
结束
然后我做卷积用vpa_mul migits大小20(增加400倍)
conv (repmat ({“99999999999999999999”}1 100000/20),repmat ({“99999999999999999999”}1 100000/20))
当然,我们需要编写一个定制的卷积函数,但这个想法是相同的。也许是相当天真的想法,整体复杂性较高。有什么明显的我失踪,最终将整个过程的整体复杂性增加。