EdC*_*ica -3 matlab normalize matrix
嗨,刚开始使用Matlab,我想知道如何在矩阵中重新缩放数据.我有一个N行×M列的矩阵,并希望将列中的数据重新缩放到介于-1和1之间.
每列包含从0到10,000的比例变化到0到1之间的值,我想要归一化到-1和1之间的原因,因为这些值将在神经网络中用作变换的输入值基于正弦的功能.
以前的答案都不正确.这是你需要做的:
[rows,~]=size(A);%# A is your matrix
colMax=max(abs(A),[],1);%# take max absolute value to account for negative numbers
normalizedA=A./repmat(colMax,rows,1);
Run Code Online (Sandbox Code Playgroud)
矩阵的normalizedA值在-1和之间1.
例:
A=randn(4)
A =
-1.0689 0.3252 -0.1022 -0.8649
-0.8095 -0.7549 -0.2414 -0.0301
-2.9443 1.3703 0.3192 -0.1649
1.4384 -1.7115 0.3129 0.6277
normalizedA =
-0.3630 0.1900 -0.3203 -1.0000
-0.2749 -0.4411 -0.7564 -0.0347
-1.0000 0.8006 1.0000 -0.1906
0.4885 -1.0000 0.9801 0.7258
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18455 次 |
| 最近记录: |