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 |
|
ymean |
|
ystd |
|
これは、以下を返します。
Y |
|
PS | 値の一貫した処理を可能にする処理設定 |
[Y,PS] = mapstd(X,FP)
は、struct としてパラメーター FP.ymean
、FP.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 で導入