在matlab中将小数值标准化为整数(唯一)

时间:2017-05-04 08:53:54

标签: matlab normalization

有什么办法吗?让我们说A=[0.1 0.2 0.3 0.4],然后在标准化之后A_norm=[1 2 3 4],基于'重要性'每个值,即0.4表示最大值(4个指定),0.1表示最小值(1个指定值)。

您可能只建议A_norm=A*10,但请注意该数字可以是任何数字,最多可包含10位有效数字。而不是使用floor ceilround之类的命令舍入到最接近的整数。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用unique的{​​{3}},这是排序A索引。请注意,如果您使用third output选项,它将是未排序 A的索引,所以不要:

A=[0.1 0.2 0.3 0.4 0.005 0.4];
[~,~,A_norm] = unique(A);
A_norm = A_norm.'

A_norm =

     2     3     4     5     1     5