我希望能够获得两个数字之间的对数标度,对于c#中最大和最小值之间的x步数
例如
var steps = 10;
var minValue = 10;
var maxValue = 1000;
哪个将把这个数组的值返回到最接近的整数
[{1,10}, {2, 17}, {3,28}, {4,46}, {5,77}, {6,129}, {7,215}, {8,359}, {9, 599}, {10, 1000}]
有人能指出我正确的方向吗?
要完全按照线形标度进行操作,只不过要用最小值/最大值的Math.Log
确定步长,然后再用Math.Exp
取消此变换:
var step = (Math.Log(maxValue) - Math.Log(minValue))/(steps - 1);
for (var i = 0; i < steps; i++)
{
Console.WriteLine("{0}: {1:F0}", i + 1, Math.Exp(Math.Log(minValue) + i * step));
}