Matlab卷积函数之conv、deconv、conv2、convn

目录

1.conv:卷积和多项式乘法

2.deconv2:去卷积和多项式除法

3.conv2:二维卷积

4.convn:N维卷积


1.conv:卷积和多项式乘法

matlab官网解释:

示例:求多项式(s+3)(s+1)

u=[1,3]
v=[1,1]
w=conv(u,v)

结果:即多项式乘积为s^{2}+4s+3。 

2.deconv2:去卷积和多项式除法

matlab 官网解释:

扫描二维码关注公众号,回复: 14732000 查看本文章

示例:求多项式\frac{(s^{2}+1)(s+3)(s+1)}{s^{2}+2s+1}的商及余多项式。

p1=conv([1,0,1],conv([1,3],[1,1]))
p2=[1,2,1]
[q,r]=deconv(p1,p2)
disp(['商多项式为:',poly2str(q,'s')])
disp(['余多项式为:',poly2str(r,'s')])

结果:

3.conv2:二维卷积

 matlab官网解释:

A = rand(3);
B = rand(4);
Cfull = conv2(A,B)

A = zeros(10);
A(3:8,3:8) = ones(6);
u = [1 0 -1]';
v = [1 -2 1];
Ch = conv2(u,v,A);
mesh(Ch)

4.convn:N维卷积

 matlab官网解释:

A = rand(2,3,2);
B = 2*ones(2,2,2);
%返回卷积的中心部分,大小与 A 相同。
C = convn(A,B,"same")
%结果是一个 3×4×3 数组,大小等于 size(A) + size(B) - 1。
sizeC = size(A) + size(B) - 1

 结果:A是2×3×2的数组 B是 2×2×2的数组,结果是一个 3×4×3 数组。


更多详细内容请查阅MATLAB官方文档。 

猜你喜欢

转载自blog.csdn.net/m0_64087341/article/details/128512525