gpt4 book ai didi

math - 将数字从一个范围翻译到另一个范围

转载 作者:行者123 更新时间:2023-12-01 04:52:07 25 4
gpt4 key购买 nike

示例范围 1(最小值和最大值):

[40 ... 480]

范围 1 中的示例数字:
[42, 59.4, 78.18, 120.43, 416]

示例范围 2:
[10 .. 140]

如何将数字的值从范围 1 转换为第二个范围内的值? 42应该相当于新范围内 10 到 11 之间的某个值。

我正在使用 PHP,但这更像是一个数学问题。

我知道如何将它们与第二个范围对齐:
$diff = $range[0] - $numbers[0];
foreach($numbers as $i => $number){
$numbers[$i] = $number + $diff;
}

但就是这样:(

最佳答案

你的意思是这样的,线性缩放值以适应新范围?

var transformRange = (value, r1, r2) => {
var scale = (r2.max - r2.min) / (r1.max - r1.min)
return (value - r1.min) * scale;
}

示例用法:
transformRange(100, {max: 150, min: 50}, {max: 1, min: 0}); => 0.5

关于math - 将数字从一个范围翻译到另一个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19057341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com