首页 > 解决方案 > 将随机浮点值重新映射到对数刻度

问题描述

我有一个随机浮点数,它给我一个介于 0 和 1 之间的值。我现在想重新映射该值,以便 50% 的时间结果是 0.01,25% 的时间不是 0.02,12.5% 的时间是0.04....

有点像这样:

或者换句话说,将 0.0 - 0.5 重新映射到 0.00 - 0.01 和 0.50 - 0.75 到 0.01 - 0.02...

我想我可以用对数函数做到这一点,但我不知道怎么做。

标签: functionrandomlogarithm

解决方案


嗯,我不确定你在倒数第二行的措辞如何,但我假设你正在编写的函数是映射 [0,1.0] st。0.05 -> 0.01, 0.25 -> 0.02 对吗?

如果我关注,那么 0 -> 0.1 和 1.0 -> -0.11。

绘制出来对我来说看起来很立方,而不是对数。已经有一段时间了,但我认为 Lagrange 有一个公式可以用来插值函数

https://en.wikipedia.org/wiki/Lagrange_polynomial

希望这会有所帮助!


推荐阅读