convn
N 维卷积
说明
示例
您可以控制 convn
函数的输出大小。例如,'same'
选项会删除卷积的外部部分,只返回中心部分,此部分的大小与输入相同。
求随机 2×3×2 数组 A
与 2×2×2 核 B
的卷积。结果是一个 3×4×3 数组,大小等于 size(A) + size(B) - 1
。
A = rand(2,3,2); B = 0.25*ones(2,2,2); C = convn(A,B)
C = C(:,:,1) = 0.2037 0.2354 0.1898 0.1581 0.4301 0.6902 0.4426 0.1825 0.2264 0.4548 0.2527 0.0244 C(:,:,2) = 0.2733 0.5444 0.4686 0.1975 0.6365 1.3772 1.2052 0.4645 0.3632 0.8327 0.7366 0.2670 C(:,:,3) = 0.0696 0.3090 0.2788 0.0394 0.2063 0.6869 0.7627 0.2821 0.1367 0.3779 0.4839 0.2426
sizeC = size(A) + size(B) - 1
sizeC = 1×3
3 4 3
返回卷积的中心部分,大小与 A
相同。
C = convn(A,B,'same')
C = C(:,:,1) = 1.3772 1.2052 0.4645 0.8327 0.7366 0.2670 C(:,:,2) = 0.6869 0.7627 0.2821 0.3779 0.4839 0.2426
输入参数
输入数组,指定为向量、矩阵或多维数组。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
复数支持: 是
第二个输入数组,指定为要与 A
求卷积的向量、矩阵或多维数组。数组 B
的大小不是必须与 A
相同。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
复数支持: 是
卷积的分段,指定为下列值之一:
'full'
- 返回完整的 N 维卷积。'same'
- 返回卷积中大小与A
相同的中心部分。'valid'
- 仅返回计算的没有补零边缘的卷积部分。
输出参量
N 维卷积,以向量、矩阵或多维数组形式返回。如果 A
和 B
的维数相同,则全卷积 C = convn(A,B)
的大小为 size(A)+size(B)-1
。
当 A
和 B
中有一个或两个都是 single
类型时,输出的类型为 single
。否则,convn
会将输入转换为类型 double
,并返回类型 double
。
数据类型: double
| single
详细信息
对于离散的 N 维数组 A 和 B,以下方程定义 A 和 B 的卷积:
每个 ki 对生成 A 和 B 的合法下标的所有值求和。
使用此定义,convn
计算两个 N 维数组的直接卷积,而不是基于 FFT 的卷积。
扩展功能
convn
函数支持 tall 数组,但存在以下使用说明和限制:
如果
shape
是'full'
(默认值),则输入A
和B
不能为空,且其中只有一个可以是 tall 数组。如果
shape
是'same'
或'valid'
,则B
不能为 tall 数组。
有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
convn
函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray
(Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)