去标准化问题

时间:2011-10-14 14:18:59

标签: matlab vector normalization denormalization

  

可能重复:
  Is it possible to show numbers in non-engineering format in MATLAB?

我在下面应用我的规范化方法时注意到了:

%# get max and min of spreadsheet(494021x42)
maxM = max(M(:)) %# Max = 693375640
minM = min(M(:)) %# Min = 0 

%# normalize to -1...1
Mnormalize = ((M-minM)./(maxM-minM) - 0.5 ) *2;

当我尝试使用以下方法去标准化时:

%# to "de-normalize", apply the calculations in reverse
vec = (Mnormalize./2+0.5) * (maxM-minM) + minM

我没有得到正确答案,下面是原始的电子表格摘要图片:

enter image description here

这里是去规范化的片段:

enter image description here

注意除了第六列之外它几乎完全相同,由于某种原因,输出将十进制放在错误的位置。

所以我的问题是:

1)如何修复第6列

另外一个问题是:

2)如何删除尾随零

1 个答案:

答案 0 :(得分:1)

要删除尾随零,请使用ROUND

要了解有关浮点问题的更多信息,请read this