如何沿着一组值计算逻辑曲线?

时间:2018-07-16 15:23:30

标签: c# math curve-fitting

我正在尝试将浮点值(具有最小和最大的任意值)转换为线性刻度,以在条形指示器上表示。问题是,我不能只将它限制在最小值和最大值之间,因为最大值将始终大大高于最小值。我有一个任意值数组,我想充当最小值和最大值之间的中间点。现在,我只需要计算这些点的逻辑最佳拟合曲线。每个值始终大于最后一个值,并且值的增加速度会随着您的前进而进一步加速,但是没有简单的公式来计算该加速度。

以下是可能使用的值的示例:

6.0、13.5、30.0、75.0、375.0

其中最小为6,最大为375。 如果x恰好是这些值之一,则我想根据其总数为多少来指定一个简单值,即0、0.25、0.5、0.75、1。问题在于计算中间值。

我将如何实现这一目标?很抱歉,虽然我不知道要查找什么,但是否已经提出过这样的问题,这感觉很常见。如果以前已经回答了这个问题,请向我指出正确的方向。

1 个答案:

答案 0 :(得分:2)

根据要求重新发布我的评论作为答案。

如果一条曲线可能是y(x)= k ^(ax + b),则取两边的对数,则您具有线性关系。如您所知,这不是数学。

为了便于实施,我选择了k = 2,e或10;您可以根据数据来计算a和b。