Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

convn

説明

C = convn(A,B) は、配列 ABN 次元の畳み込みを返します。

C = convn(A,B,shape) は、shape に従って、畳み込みのサブセクションを返します。たとえば、C = convn(A,B,'same') は畳み込みの中央部分を A と同じサイズで返します。

すべて折りたたむ

関数 convn の出力サイズを制御できます。たとえば、'same' オプションは畳み込みの外側部分をトリミングして、入力と同じサイズの中央部分のみを返します。

2×3×2 の乱数配列 A と 2×2×2 のカーネル B の畳み込みを計算します。結果は、size(A) + size(B) - 1 から 3×4×3 の配列になります。

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 との畳み込みを計算する 2 番目の入力配列。ベクトル、行列または多次元配列として指定します。配列 BA と同じサイズである必要はありません。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
複素数のサポート: あり

畳み込みのサブセクション。次の値のいずれかとして指定します。

  • 'full' — 完全な N 次元の畳み込みを返します。

  • 'same' — 畳み込みの中央部分を A と同じサイズで返します。

  • 'valid' — 畳み込みのうち、ゼロが加えられたエッジを含まずに計算された部分のみを返します。

出力引数

すべて折りたたむ

N 次元の畳み込み。ベクトル、行列または多次元配列として返されます。AB の次元数が同じである場合、完全な畳み込み C = convn(A,B) のサイズは size(A)+size(B)-1 です。

AB の一方または両方が single 型の場合、出力は single 型になります。それ以外の場合、convn は入力を double 型に変換して double 型を返します。

データ型: double | single

詳細

すべて折りたたむ

N 次元の畳み込み

N 次元の離散変数 A と B について、次の式は A と B の畳み込みを定義します。

C(j1,j2,...,jN)=k1k2...kNA(k1,k2,...,kN)B(j1k1+1,j2k2+1,...,jNkN+1)

ki は、A と B の添字が適正になるすべての値をとります。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考

|