c# - 如何沿着一组值计算逻辑曲线?
问题描述
我正在尝试采用具有任意最小和最大可能值的浮点值,并将其转换为线性比例,以便在条形指示器上表示。问题是,我不能只在最小值和最大值之间徘徊,因为最大值总是会大大高于最小值。我有一个任意值的数组,我想充当最小值和最大值之间的中间点。现在我只需要通过这些点计算出一条逻辑上的最佳拟合曲线。每个值总是大于上一个值,并且值的增加速度越快越快,但是没有简单的公式来计算这个加速度。
以下是可以使用的值的示例:
6.0、13.5、30.0、75.0、375.0
其中 6 是最小值,375 是最大值。如果 x 正是这些值之一,我想要一个简单的值,具体取决于有多少总值,即 0、0.25、0.5、0.75、1。问题是计算中间值。
我将如何实现这一目标?如果已经问过这样的问题,我深表歉意,因为这感觉像是一个常见问题,尽管我不知道要搜索什么。如果之前已经回答过这个问题,请指出我正确的方向。
解决方案
根据要求重新发布我的评论作为答案。
如果一条曲线可能是 y(x) = k^(ax+b),取两边的对数,你就有一个线性关系。正如所指出的那样,这是数学而不是编程。
我会选择 k = 2、e 或 10 以便于实施;a & b 你从数据中计算出来。
推荐阅读
- node.js - 基于 TLS 的 React 和 NodeJS
- perl - 从大量文本文件中提取的字符串的高效缓存解决方案
- python - Pythons matplotlib 中的实时图表不更新
- javascript - 将数组中的第一个匹配元素存储在另一个数组中
- jms - JMS COD 未发回响应
- python - 用元组列表填充数据框列
- ios - OSStatus 错误:[-34018] 设备上不存在所需权利时的内部错误
- reactjs - 在 firebase 数据库上,Redux 复制存储中的最后一个数据
- json - Pojo 到带有验证的 json
- hibernate - JPA,如何使用相同的条件查询对象来获取结果列表并进行选择计数