Matlab中conv函数的使用 您所在的位置:网站首页 matlab中stem怎么用 Matlab中conv函数的使用

Matlab中conv函数的使用

2024-01-18 06:38| 来源: 网络整理| 查看: 265

目录

语法

说明

示例

三维卷积

        convn函数是求N维卷积。

语法 C = convn(A,B) C = convn(A,B,shape)

        输入数组,指定为向量、矩阵或多维数组。第二个输入数组,指定为要与A求卷积的向量、矩阵或多维数组。数组 B 的大小不是必须与 A 相同。

        卷积的分段,指定为下列值之一:

'full' - 返回完整的 N 维卷积。

'same' - 返回卷积中大小与 A 相同的中心部分。

'valid' - 仅返回计算的没有补零边缘的卷积部分。

        N 维卷积,以向量、矩阵或多维数组形式返回。如果 A 和 B 的维数相同,则完整卷积 C = convn(A,B) 的大小为 size(A)+size(B)-1。

        当 A 和 B 中有一个或两个都是 single 类型时,输出的类型为 single。否则,convn 会将输入转换为类型 double,并返回类型 double。

N 维卷积

        对于离散的 N 维变量 A 和 B,以下方程定义 A 和 B 的卷积:

        每个 ki 对生成 A 和 B 的合法下标的所有值求和。

说明

C= convn(A,B) 返回数组 A 和 B 的 N 维卷积。

C= convn(A,B,shape) 根据 shape 返回卷积的子区。例如,C = convn(A,B,'same') 返回卷积中大小与 A 相同的中心部分。

示例 三维卷积

        可以控制 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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有