matlab中conv()是什么意思?

matlab中conv()是什么意思?,第1张

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)。

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

区别在于:

在MATLAB中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。

y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。

而y=conv(x,h)是用来实现卷级的,对x序列和h序列进行卷积,输出的结果个数等于x的长度与h的长度之和减去1。

y=impz(p,d,N)是用来实现冲击响应的,d和p的定义见filter,N表示冲击响应输出的序列个数。

matlab的作用:

用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11298877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存