如何将 table 归一化到范围 [0;1]

How to normalize a table to range [0;1]

我在 matlab 中有一个 table ,我想在 0 和 1 之间归一化数据 这是我的一行 table:

6 148 72 35 0 33.6000000000000 0.627000000000000 50

规范化数据的最佳方式是什么, 哪个更好, 按每一列归一化或归一化所有一起影响的单元格?

2016 年 5 月 24 日编辑 我只需要规范化我的数据以获得特定范围的值

归一化可能意味着 (a) 在不同尺度上获得的数据 aligned/adjusted 以便进行比较,或者 (b) 尝试使数据的统计分布与正态分布保持一致。

在这个数据集中,如果你归一化,那么它是按列的。不过,均值和方差似乎是这里的重要特征。按列规范化:

m = max(D); % D is your dataset matrix
normD = zeros(size(D)); % Here are your normalized values
for i = 1:length(D)
    normD(:,i) = D(:,i)./m(i)
end

更快的方法是不使用循环:D./repmat(max(D),size(D,1),1)