Engee 文档

conv的

卷积和多项式乘法。

库::`工程师`

语法

函数调用

  • [参数:w]=conv(<参数:u>>,<参数:v>>,<参数:形状>>) — 返回参数指定的卷积部分 [参数:形状]. 例如, conv(u,v,'同') 只返回与卷积大小相同的中心部分 [参数:u],而 conv(u,v,'有效') 只返回卷积计算的部分,而没有用零填充的边界。

争论

输入参数

# *u*是 输入向量

+ 传递:[向量]

Details

输入向量,指定为行向量或列向量。 向量资料 u[参数:v] 它们可以具有不同的长度和数据类型。

如果 u 有一个类型 漂浮物32,那么输出数据也是类型的 漂浮物32. 否则,函数 conv 将输入数据转换为类型 漂浮64 并返回类型 漂浮64.

数据类型

漂浮64, 漂浮物32, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, 布尔</无翻译> 支持复数::是

# *v*是 输入向量

+ 传递:[向量]

Details

输入向量,指定为行向量或列向量。 向量资料 [参数:u]v 它们可以具有不同的长度和数据类型。

如果 v 有一个类型 漂浮物32,那么输出数据也是类型的 漂浮物32. 否则,函数 conv 将输入数据转换为类型 漂浮64 并返回类型 漂浮64.

数据类型

漂浮64, 漂浮物32, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, 布尔</无翻译> 支持复数::是

# 形状 — 卷积子节

+ '满' (默认)| '相同' | "有效"

Details

卷积子部分,定义为 '满', '相同'"有效".

'满'

完全卷积(默认情况下)。

'相同'

卷积的中心部分大小与 [参数:u].

"有效"

只有卷积中没有零填充边界计算的那些部分。 使用此选项时 长度(w) 等于 最大(长度(u)-长度(v)+1,0),除非当 长度(v) 它等于零。 如果 长度(v)=0 然后 长度(w)=长度(u).

输出参数

# w — 输出向量

Details

返回两个向量卷积的输出向量 [参数:u][参数:v].

此外

卷积,卷积

两个向量的卷积 [参数:u][参数:v] 它表示滑动时点下的重叠区域 [参数:v][参数:u]. 从代数的角度来看,卷积是与乘以系数为元素的多项式相同的操作。 [参数:u][参数:v].

m=长度(u)n=长度(v). 然后 [参数:w] -长度向量 m+n-1, `k`其中的th元素等于

所有值都取总和 j 导致有效的索引 u(j)v(k-j+1),即 j=max(1,k+1-n):1:min(k,m). 由 m=n 这给:

w(1) = u(1)*v(1)
w(2) = u(1)*v(2)+u(2)*v(1)
w(3) = u(1)*v(3)+u(2)*v(2)+u(3)*v(1)
...
w(n) = u(1)*v(n)+u(2)*v(n-1)+ ... +u(n)*v(1)
...
w(2*n-1) = u(n)*v(n)

使用此定义,函数 conv 计算两个向量的直接卷积,而不是基于FFT的卷积。