MATLAB如何使用conv函数实现矩阵的卷积和多项式乘法

2020年12月21日00:14:21MATLAB如何使用conv函数实现矩阵的卷积和多项式乘法已关闭评论

MATLAB如何使用conv实现矩阵的卷积和多项式乘法

【语法说明】

C=conv(u,v):u和v必须为向量,其长度可以不相同,函数返回u与v的卷积。u、v可以为行向量或列向量,Y1与u保持一致。

C=conv(…,'shape'):用指定的参数 shape 返回卷积的一部分,可取的值如下:

(1)full:返回全部卷积,相当于C=conv(u,v),是默认值。

(2)same:返回与A大小相同的卷积中心部分。

(3)valid:仅仅返回没有用零填充时计算出的卷积。计算卷积时,边界部分需要用零填充。此时 length(C)等于 max(length(a) −max(0,length(b)−1),0)。

【功能介绍】实现向量卷积运算。多项式相乘可以用多项式系数向量的卷积实现,卷积运算满足交换律。

【实例】展开多项式(x +x−1) (x +2x+1)=x +3x +x −x−1。

>> a=[1,1,-1]; % (x +x-1)的第一种表示方法,高次在前

>> b=[1,2,1];  % (x +2x+1)

>> c1=conv(a,b) % 展开多项式,高次在前

c1 =

1 3 2 -1 -1

>> a=[-1,1,1]; % (x +x-1)的第二种表示方法,低次在前

>> c2=conv(a,b) % 展开多项式,低次在前

c2 =

-1 -1 2 3 1

【实例讲解】用向量表示多项式系数时,可以降幂排列或升幂排列。在本例中,输入参数的第一种表示方法是降幂排列,第二种表示方法是升幂排列,对应的展开结果与输入参数的幂次排列方法一致。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。