26.2 Statistics on Sliding Windows of Dat

Last-modified: 2025-03-08 (土) 14:31:45

26.2 データのスライディングウィンドウの統計

完全なデータセットのサブセクション(つまりウィンドウ)にわたって記述統計を計算することはmovfun 、多くの場合有用です。Octave は、データのウィンドウを使用して任意の関数ハンドルを呼び出し、結果を累積する関数を提供します。データのウィンドウにわたる移動平均(movmean)など、最も一般的に必要とされる関数の多くは、すでに提供されています。

: y = movfun (fcn, x, wlen)
: y = movfun (fcn, x, [nb, na])
: y = movfun (…, "property", value)
関数fcn をデータ xの長さwlenの移動ウィンドウに適用します。

wlenがスカラーの場合、関数fcnは長さwlenの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movfun[4, 5, 6]wlen/2wlen/2 - 1movfun[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

計算中、データ入力x は2 次元 wlen行N列の行列に再形成され、この新しい行列に対してfcnが呼び出されます。したがって、fcn は配列入力引数を受け入れ、次元 1 に沿って、つまり配列の列に沿って計算を適用する必要があります。

n列の配列(多次元の場合もある)に適用された場合、 fcn は次の 2 つの形式のいずれかで結果を返します。形式 1) サイズが 1 x n x dim3 x … x dimNの配列。これは、Octave コア関数の一般的な出力形式です。 demo ("movfun", 5)この使用例については、 と入力してください。形式 2) 長さ の行ベクトル で、numel_higher_dimsは です 。i 番目の入力列に対するfcnの出力は、出力のインデックス で見つかる必要があります 。この形式は、関数を配列に連結する場合や、 を使用する場合に便利です。この使用例については、 と入力してください。 n * numel_higher_dimsprod (size (x)(3:end))i:n:(n*numel_higher_dims)nthargoutdemo ("movfun", 6)

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"dim"
最初の非シングルトン次元のデフォルトではなく、指定された次元に沿って操作します。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = fcn (x(1:2))y(end) = fcn (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、通常、y は境界に値を持ちますが、これはfcn がを処理する方法や、プロパティ によっても左右されます。 y(1) = fcn ([NaN, x(1:2)])y(end) = fcn ([x(end-1:end), NaN])NaNNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = fcn ([user_value, x(1:2)])y(end) = fcn ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = fcn ([x(1), x(1:2)])y(end) = fcn ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = fcn ([x(end), x(1:2)])y(end) = fcn ([x(end-1:end), x(1)])

これらの選択肢のいくつかでは、境界でのウィンドウ サイズが中央部分と同じではないことに注意してください。これらの場合でもfcn は機能する必要があります。

"nancond"
fcnに渡されるデータにNaNおよび のNA値を含める か(値: "includenan")、または除外するか (値: ) を制御します。デフォルトは です。注意: このオプションはまだ実装されていません。 "omitnan""includenan""omitnan"

"outdim"
出力yに表示される計算の次元を選択する行ベクトル。これは、 fcn が形式 1 で N 次元配列を返す場合にのみ役立ちます。デフォルトでは、すべての出力次元が返されます。

プログラミング ノート: このプロパティは、 fcn"outdim"の出力に多くの次元がある場合、または必要な出力を選択する基本関数のラッパーが高すぎる場合にメモリを節約するために使用できます。メモリが問題にならない場合、出力次元を選択する最も簡単な方法は、最初に完全な結果を計算し、次にその結果をインデックスでフィルターすることです。コードの複雑さが問題にならない場合は、匿名関数を使用してラッパーを作成できます。たとえば、がK次元の行出力 を返す関数で、次元Dのみが必要な場合は、次のラッパーを使用できます。 movfunbasefcn

fcn = @(x) basefcn (x)(:,columns(x) * ( D -1) + (1:columns(x)));
y = movfun (@fcn, ...);

参照: movslice、prepad、postpad、permute、reshape。

: slcidx = movslice (N, wlen)
: movslice [slcidx, C, Cpre, Cpost, win] = (…)
長さNのベクトルを長さwlenのウィンドウにスライスするためのインデックスを生成します。

入力N は正の整数である必要があります。

移動ウィンドウの長さの入力wlen は、1 以外のスカラーまたは 2 要素の整数配列のいずれかになります。スカラー値の場合、奇数であればウィンドウは対称で、 中央要素の両側の要素が含まれます。wlen が偶数であれば、ウィンドウは非対称で、 中央要素の左側の要素と 中央要素の右側の要素が含まれます。wlen が 2 要素配列の場合、ウィンドウ には現在の要素の左側にnb個の要素と、現在の要素の右側に na個の要素が含まれます。(wlen - 1) / 2wlen/2wlen/2 - 1[nb, na]

出力slcidx は、ベクトル内に完全に収まるスライスのインデックスの配列です。ウィンドウが左から右に移動するにつれて、各列は個別のスライスになります。スライスには、スカラーwlenの場合はwlen要素 、配列値wlen の場合は要素 があります。 nb + na + 1

オプションの出力Cは、ウィンドウがベクトル内に完全に収まるウィンドウ中心の位置の行ベクトルです。

オプションの出力CpreとCpostには、それぞれベクトルの先頭と末尾のベクトル要素が含まれており、その結果、ウィンドウがベクトルの末尾を超えて拡張されます。

オプションの出力winは、中心の相対位置ステンシルとして定義された移動ウィンドウを含む、 slcidxと同じ行数の列ベクトルです。

movfunも参照してください。

: y = movmad (x, wlen)
: y = movmad (x, [nb, na])
: y = movmad (…, dim)
: y = movmad (…, "nancond")
: y = movmad (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動平均絶対偏差を計算します 。

wlenがスカラーの場合、関数は長さwlenmadの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movmad[4, 5, 6]wlen/2wlen/2 - 1movmad[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプションの引数dimが指定されている場合は、この次元に沿って操作します。

オプションの文字列引数は、に渡されるデータに およびの値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: このオプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"mad"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = mad (x(1:2))y(end) = mad (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = mad ([NaN, x(1:2)])y(end) = mad ([x(end-1:end), NaN])NaNmadNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = mad ([user_value, x(1:2)])y(end) = mad ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = mad ([x(1), x(1:2)])y(end) = mad ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = mad ([x(end), x(1:2)])y(end) = mad ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmax、movmean、movmedian、movmin、movprod、movstd、movsum、movvar。

: y = movmax (x, wlen)
: y = movmax (x, [nb, na])
: y = movmax (…, dim)
: y = movmax (…, "nancond")
: y = movmax (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動最大値を計算します。

wlenがスカラーの場合、関数は長さwlenmaxの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movmax[4, 5, 6]wlen/2wlen/2 - 1movmax[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプションの引数dimが指定されている場合は、この次元に沿って操作します。

オプションの文字列引数は、に渡されるデータに およびの値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: このオプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"max"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = max (x(1:2))y(end) = max (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = max ([NaN, x(1:2)])y(end) = max ([x(end-1:end), NaN])NaNmaxNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = max ([user_value, x(1:2)])y(end) = max ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = max ([x(1), x(1:2)])y(end) = max ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = max ([x(end), x(1:2)])y(end) = max ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmad、movmean、movmedian、movmin、movprod、movstd、movsum、movvar。

: y = movmean (x, wlen)
: y = movmean (x, [nb, na])
: y = movmean (…, dim)
: y = movmean (…, "nancond")
: y = movmean (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動平均を計算します。

wlenがスカラーの場合、関数は長さwlenmeanの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movmean[4, 5, 6]wlen/2wlen/2 - 1movmean[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプションの引数dimが指定されている場合は、この次元に沿って操作します。

オプションの文字列引数は、に渡されるデータに およびの値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: このオプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"mean"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = mean (x(1:2))y(end) = mean (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = mean ([NaN, x(1:2)])y(end) = mean ([x(end-1:end), NaN])NaNmeanNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = mean ([user_value, x(1:2)])y(end) = mean ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = mean ([x(1), x(1:2)])y(end) = mean ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = mean ([x(end), x(1:2)])y(end) = mean ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmad、movmax、movmedian、movmin、movprod、movstd、movsum、movvar。

: y = movmedian (x, wlen)
: y = movmedian (x, [nb, na])
: y = movmedian (…, dim)
: y = movmedian (…, "nancond")
: y = movmedian (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動中央値を計算します。

wlenがスカラーの場合、関数は長さwlenmovmedianの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movmedian[4, 5, 6]wlen/2wlen/2 - 1movmedian[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプションの引数dimが指定されている場合は、この次元に沿って操作します。

オプションの文字列引数は、に渡されるデータに および の値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: この オプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"movmedian"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = movmedian (x(1:2))y(end) = movmedian (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する 方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = movmedian ([NaN, x(1:2)])y(end) = movmedian ([x(end-1:end), NaN])NaNmovmedianNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = movmedian ([user_value, x(1:2)])y(end) = movmedian ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = movmedian ([x(1), x(1:2)])y(end) = movmedian ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = movmedian ([x(end), x(1:2)])y(end) = movmedian ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmad、movmax、movmean、movmin、movprod、movstd、movsum、movvar。

: y = movmin (x, wlen)
: y = movmin (x, [nb, na])
: y = movmin (…, dim)
: y = movmin (…, "nancond")
: y = movmin (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動最小値を計算します。

wlenがスカラーの場合、関数は長さwlenminの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movmin[4, 5, 6]wlen/2wlen/2 - 1movmin[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプションの引数dimが指定されている場合は、この次元に沿って操作します。

オプションの文字列引数は、に渡されるデータに およびの値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: このオプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"min"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = min (x(1:2))y(end) = min (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = min ([NaN, x(1:2)])y(end) = min ([x(end-1:end), NaN])NaNminNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = min ([user_value, x(1:2)])y(end) = min ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = min ([x(1), x(1:2)])y(end) = min ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = min ([x(end), x(1:2)])y(end) = min ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmad、movmax、movmean、movmedian、movprod、movstd、movsum、movvar。

: y = movprod (x, wlen)
: y = movprod (x, [nb, na])
: y = movprod (…, dim)
: y = movprod (…, "nancond")
: y = movprod (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動積を計算します。

wlenがスカラーの場合、関数は長さwlenmovprodの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movprod[4, 5, 6]wlen/2wlen/2 - 1movprod[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプションの引数dimが指定されている場合は、この次元に沿って操作します。

オプションの文字列引数は、に渡されるデータに およびの値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: この オプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"movprod"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = movprod (x(1:2))y(end) = movprod (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する 方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = movprod ([NaN, x(1:2)])y(end) = movprod ([x(end-1:end), NaN])NaNmovprodNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = movprod ([user_value, x(1:2)])y(end) = movprod ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = movprod ([x(1), x(1:2)])y(end) = movprod ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = movprod ([x(end), x(1:2)])y(end) = movprod ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmad、movmax、movmean、movmedian、movmin、movstd、movsum、movvar。

: y = movstd (x, wlen)
: y = movstd (x, [nb, na])
: y = movstd (…, opt)
: y = movstd (…, opt, dim)
: y = movstd (…, "nancond")
: y = movstd (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動標準偏差を計算します 。

wlenがスカラーの場合、関数は長さwlenmovstdの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movstd[4, 5, 6]wlen/2wlen/2 - 1movstd[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプション引数optは、使用する正規化の種類を決定します。有効な値は次のとおりです。

0:
N-1で正規化し、分散の最良の不偏推定値の平方根を提供します [デフォルト]

1:
Nで正規化すると、平均周りの2次モーメントの平方根が得られる。

オプション引数dimが指定されている場合は、この次元に沿って操作します。正規化引数opt は次元の前に指定する必要があります。opt のデフォルト値を使用するには、空の入力引数を渡すことができます[]。

オプションの文字列引数は、に渡されるデータに およびの値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: このオプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"movstd"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = movstd (x(1:2))y(end) = movstd (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する 方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = movstd ([NaN, x(1:2)])y(end) = movstd ([x(end-1:end), NaN])NaNmovstdNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = movstd ([user_value, x(1:2)])y(end) = movstd ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = movstd ([x(1), x(1:2)])y(end) = movstd ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = movstd ([x(end), x(1:2)])y(end) = movstd ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmad、movmax、movmean、movmedian、movmin、movprod、movsum、movvar。

: y = movsum (x, wlen)
: y = movsum (x, [nb, na])
: y = movsum (…, dim)
: y = movsum (…, "nancond")
: y = movsum (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動合計を計算します。

wlenがスカラーの場合、関数は長さwlenmovsumの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movsum[4, 5, 6]wlen/2wlen/2 - 1movsum[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプションの引数dimが指定されている場合は、この次元に沿って操作します。

オプションの文字列引数は、に渡されるデータに およびの値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: このオプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"movsum"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = movsum (x(1:2))y(end) = movsum (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する 方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = movsum ([NaN, x(1:2)])y(end) = movsum ([x(end-1:end), NaN])NaNmovsumNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = movsum ([user_value, x(1:2)])y(end) = movsum ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = movsum ([x(1), x(1:2)])y(end) = movsum ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = movsum ([x(end), x(1:2)])y(end) = movsum ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmad、movmax、movmean、movmedian、movmin、movprod、movstd、movvar。

: y = movvar (x, wlen)
: y = movvar (x, [nb, na])
: y = movvar (…, opt)
: y = movvar (…, opt, dim)
: y = movvar (…, "nancond")
: y = movvar (…, property, value)
データxの長さwlenのスライディング ウィンドウ上の移動分散を計算します。

wlenがスカラーの場合、関数は長さwlenvarの移動ウィンドウに適用されます。wlenが奇数の場合、ウィンドウは対称で、 中心要素の両側の要素が含まれます。たとえば、ウィンドウの長さが 3 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します。wlenが偶数の場合、ウィンドウは非対称で、 中心要素の左側の要素と 中心要素の右側の要素が含まれます。たとえば、ウィンドウの長さが 4 のインデックス 5 の出力を計算する場合、はデータ要素 を使用します 。 (wlen - 1) / 2movvar[4, 5, 6]wlen/2wlen/2 - 1movvar[3, 4, 5, 6]

wlen が2 つの要素を持つ配列である場合、関数は移動ウィンドウに適用されます。このウィンドウには、現在の要素の前にnb個の要素と、現在の要素の後にna個の要素が含まれます。現在の要素は常に含まれます。たとえば、 の場合 、インデックス 5 を計算するために使用されるデータは です 。 [nb, na]-nb:nawlen = [3, 0][2, 3, 4, 5]

オプション引数opt は、使用する正規化のタイプを決定します。有効な値は次のとおりです。

0:
N-1で正規化し、分散の最良の不偏推定値を提供します [デフォルト]

1:
Nで正規化すると、平均の周りの2次モーメントが得られる。

オプション引数dimが指定されている場合は、この次元に沿って操作します。正規化引数opt は次元の前に指定する必要があります。opt のデフォルト値を使用するには、空の入力引数を渡すことができます[]。

オプションの文字列引数は、に渡されるデータに およびの値を含めるか ( )、または除外するか ( ) を制御します。デフォルトは です。注意: このオプションはまだ実装されていません。 "nancond"NaNNA"includenan""omitnan"var"includenan""omitnan"

計算はプロパティ/値の ペアを指定して制御できます。有効なプロパティは次のとおりです。

"Endpoints"
このプロパティは、ウィンドウの 境界 (エンドポイント) で結果を計算する方法を制御します。可能な値は次のとおりです。

"shrink" (デフォルト)
ウィンドウは、ソース データがない要素を除外するために、配列の先頭と末尾で切り捨てられます。たとえば、長さ 3 のウィンドウの場合、、および となります 。 y(1) = var (x(1:2))y(end) = var (x(end-1:end))

"discard"
元のデータ配列を超えるウィンドウを使用する y値はすべて削除されます。たとえば、10 要素のデータ ベクトルと長さ 3 のウィンドウの場合、出力には 8 要素のみが含まれます。最初の要素はインデックスに対して関数を計算する必要がある[0, 1, 2] ため、破棄されます。最後の要素はインデックスに対して関数を計算する必要がある[9, 10, 11] ため、破棄されます。

"fill"
データ配列の外側にあるウィンドウ要素はすべて に置き換えられますNaN。たとえば、長さ 3 のウィンドウでは、 、 となります 。このオプションにより、が を処理する方法やプロパティ によっても影響を受けますが、通常はy が境界に値を持つことになります。 y(1) = var ([NaN, x(1:2)])y(end) = var ([x(end-1:end), NaN])NaNvarNaN"nancond"

ユーザー値
データ配列の外側にあるウィンドウ要素は、指定された値user_valueに置き換えられます。この値は数値スカラーである必要があります。たとえば、長さが 3 のウィンドウの場合、、 および と なります。user_valueの一般的な選択肢は 0 です。 y(1) = var ([user_value, x(1:2)])y(end) = var ([x(end-1:end), user_value])

"same"
データ配列の外側にあるウィンドウ要素は、境界の xの値に置き換えられます 。たとえば、長さ 3 のウィンドウの場合、、およびとなります 。 y(1) = var ([x(1), x(1:2)])y(end) = var ([x(end-1:end), x(end)])

"periodic"
ウィンドウはラップされ、欠落しているデータ要素はデータの反対側から取得されます。たとえば、長さ 3 のウィンドウの場合、、 および となります 。 y(1) = var ([x(end), x(1:2)])y(end) = var ([x(end-1:end), x(1)])

"SamplePoints"
注意: このオプションはまだ実装されていません。

プログラミング ノート: この関数は を呼び出すラッパーですmovfun。追加のオプションとドキュメントについては を参照してくださいmovfun。

参照: movfun、movslice、movmad、movmax、movmean、movmedian、movmin、movprod、movstd、movsum。