0

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

4

2 回答 2

1

这是你想要的吗?

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

结果:

new =
    32    52    72

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

于 2012-12-18T19:36:33.880 回答
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;
于 2012-12-18T19:37:37.273 回答