matlab中conv函数是做什么的?

如题所述

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

参考资料:百度百科-卷积

温馨提示:答案为网友推荐,仅供参考
相似回答