为了账号安全,请及时绑定邮箱和手机立即绑定

matlab中conv()是什么意思?

matlab中conv()是什么意思?

繁星点点滴滴 2019-02-06 11:07:12
matlab中conv()是什么意思?
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

conv(向量卷积运算)

两个向量卷积,简单理解其实就是多项式乘法。 

比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积计算方法如下: 

把p的元素作为一个多项式的系数,多项式按升幂(或降幂)排列,比如就按升幂吧,写出对应的多项式:1+2x+3x^2;

同样的,把q的元素也作为多项式的系数按升幂排列,写出对应的多项式:1+x。

卷积就是“两个多项式相乘取系数”。 

(1+2x+3x^2)×(1+x)=1+3x+5x^2+3x^3 

所以p和q卷积的结果就是[1 3 5 3]

注意:当确定是前一个序列用升幂或是降幂排列后,后一个序列也都要按这个方式排列,否则结果是不对的。

p = [1 2 3];q=[1 1]; 

conv(p,q)

ans =

1     3     5     3

扩展资料:

matlab中的convn函数

语法格式:

w=convn(u,v);

计算矩阵u,v的卷积,w的尺寸为size(u)+size(v)-1;

w=convn(u,v,'shape');

返回卷积的一部分,这部分有参数shape决定:

full  返回完整的卷积(默认);

same  返回卷积的中心部分,与u有相同的大小;

valid 仅返回卷积中的那些被计算而没有填充零的部分,w的尺寸大小为max(size(u)-size(v)+1,0)。



查看完整回答
反对 回复 2019-03-16
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

matlab中conv( )就是做卷积,简单理解其实就是多项式乘法。

例如:A=[1 2 3],B=[1 1]是两个向量,A和B的卷积计算方法如下: 

把A的元素作为一个多项式的系数,按升幂排列,则对应的多项式为:1+2x+3x^2

把B的元素也作为多项式的系数,按升幂排列,对应的多项式:1+x。

卷积就是“两个多项式相乘取系数”即为:

(1+2x+3x^2)×(1+x)=1+3x+5x^2+3x^3 

所以A和B卷积的结果就是[1 3 5 3]

扩展资料

conv函数扩展写法(适用于当两个序列不是从0开始的情况)

function [ y,ny ] = convu( h,nh,x,nx )

%CONVU 通用卷积函数

%   function [ y,ny ] = convu( h,nh,x,nx )

%   y为卷积结果向量,ny是y的位置向量,h和x是有限长序列

nys = nh(1)+nx(1);

nyf = nh(end)+nx(end);

y = conv(h,x);

ny = nys:nyf;

end



查看完整回答
反对 回复 2019-03-16
  • 3 回答
  • 0 关注
  • 4525 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信