Why does "mapstd" returns unexpected dimensions when I apply it to a new sample data? I have 4 sample data, each containing 2 predictor variables: >> X = [ 2 1; 5 0; 3 0; 4 2]; I standardize this using "mapstd" as follow: >> [Xnew, PS] = mapstd(X); However, when I try standardizing a single new sample data "Xtest", it produces a 4x2 array instead of 1x2 array: >> Xtest = [2 3]; >> XtestNew = mapstd('apply', Xtest, PS) XtestNew = 0.7071 2.1213 -0.1414 0.1414 0.2357 0.7071 -0.7071 0
Prashant Kumar answered .
2025-11-20
X =
[ sample1
sample2
sample3
sample4 ]
In order to use "mapstd" function to normalize each of your 2 predictor variables, you would need to store your data in the following format (2 row x 4 columns):
X = [ sample1 sample2 sample3 sample4]
>> X = X'; % store sample column by column instead
>> [Xnew, PS] = mapstd(X);
>> XtestNew = mapstd('apply', Xtest, PS);