输入数据归一化为零均值和单位标准差

时间:2017-05-27 15:16:28

标签: matlab

我有一个矩阵A,我希望归一化为零均值和单位标准差。该表达式为:A =(A-mean)/ std

但是如何在Matlab中实现呢?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用 zscore 功能。例如,考虑A=[1 2 3 4 5]您可以使用以下命令

A = [1 2 3 4 5];
n = zscore(A);

输出

ans =

-1.2649   -0.6325         0    0.6325    1.2649

对于矩阵首先需要重新整形矩阵,请考虑以下示例

A = [1 2 3 4 5;6 7 8 9 10]
[n,m]=size(A);            
out = reshpae(zscore( A(:) ), n, m)

输出

out =

-1.4863   -1.1560   -0.8257   -0.4954   -0.1651
 0.1651    0.4954    0.8257    1.1560    1.4863