根据最小值和最大值外推(转换)数据

时间:2012-12-18 19:20:43

标签: matlab statistics data-analysis

我有一个大小为10000 x 1的列向量(不均匀间隔),范围为1到7.我想设置新的最小值和最大值(min = 32,max = 72)并推断出vales in之前的值(1到7)之间现在在新范围内(32到72)。

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

old = [1 4 7];
new = (old - 1)/(7-1)*(72-32) + 32

结果:

new =
    32    52    72

似乎太容易了,我错过了什么吗?把4变成20/3以上的例子让我觉得我就是这样!

答案 1 :(得分:1)

A = 7*rand(10000,1);

B = (A-1)/6*(72-32)+32;

或一般情况下:

minVal = 32;
maxVal = 72;

B = (A-min(A(:)))/(max(A(:))-min(A(:)))*(maxVal-minVal)+minVal;