メインコンテンツ

mapstd

各行の平均を 0、偏差を 1 にマッピングする行列処理

構文

[Y,PS] = mapstd(X,ymean,ystd)
[Y,PS] = mapstd(X,FP)
Y = mapstd('apply',X,PS)
X = mapstd('reverse',Y,PS)
dx_dy = mapstd('dx_dy',X,Y,PS)

説明

mapstd は、各行の平均と標準偏差を ymean および ystd に変換して行列を処理します。

[Y,PS] = mapstd(X,ymean,ystd) は、X、およびオプションで以下のパラメーターを取ります。

X

NQ 列の行列

ymean

Y の各行の平均値 (既定は 0)

ystd

Y の各行の標準偏差 (既定は 1)

これは、以下を返します。

Y

NQ 列の行列

PS

値の一貫した処理を可能にする処理設定

[Y,PS] = mapstd(X,FP) は、struct としてパラメーター FP.ymeanFP.ystd を取ります。

Y = mapstd('apply',X,PS) は、X と設定 PS を指定すると、Y を返します。

X = mapstd('reverse',Y,PS) は、Y と設定 PS を指定すると、X を返します。

dx_dy = mapstd('dx_dy',X,Y,PS) は、微分の逆数を返します。

ここでは、各行の最小値と最大値が既定の平均と標準偏差である 0 と 1 にマッピングされるように行列を構成する方法を示します。

x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0]
[y1,PS] = mapstd(x1)

次に、新しい値に同じ処理設定を適用します。

x2 = [5 2 3; 1 1 1; 6 7 3; 0 0 0]
y2 = mapstd('apply',x2,PS)

y1 の処理を逆にして、x1 を再取得します。

x1_again = mapstd('reverse',y1,PS)

詳細

すべて折りたたむ

アルゴリズム

この関数は、X に有限の実数値のみが含まれるものと仮定します。さらに、各行の結果は、その行の要素によって異なります。

  • 行の要素がすべて等しくない場合、関数は各行の平均と標準偏差を ymean (既定 0) と ystd (既定 1) に変換します。

    y = (x-xmean)*(ystd/xstd) + ymean;
    

  • 行の要素がすべて等しい場合、関数はその行のデータを変更しません (y=x)。

バージョン履歴

R2006a で導入