function - 将随机浮点值重新映射到对数刻度
问题描述
我有一个随机浮点数,它给我一个介于 0 和 1 之间的值。我现在想重新映射该值,以便 50% 的时间结果是 0.01,25% 的时间不是 0.02,12.5% 的时间是0.04....
有点像这样:
- 50% = 0.01
- 25% = 0.02
- 12.5% = 0.04
- 6.25% = 0.08
- 3.125% = 0.16
- 1.5625% = 0.32
- 0.78125% = 0.64
或者换句话说,将 0.0 - 0.5 重新映射到 0.00 - 0.01 和 0.50 - 0.75 到 0.01 - 0.02...
我想我可以用对数函数做到这一点,但我不知道怎么做。
解决方案
嗯,我不确定你在倒数第二行的措辞如何,但我假设你正在编写的函数是映射 [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
希望这会有所帮助!
推荐阅读
- html - 证明内容 flex-end 不适用于 IE
- javascript - 在按钮 onServerclick 之后在 aspx 页面上显示来自 mssql 服务器的搜索结果
- typescript - '错误:在 Angular5 的错误处理程序中,位置 0 处未捕获(承诺中)缺少数字'
- php - 警告:mysqli_select_db() 需要 2 个参数,1 个给定(错误)
- c++ - 如何为头文件中的成员函数获得正确的代码覆盖率
- php - PHPBU 在 localhost 上不执行任何备份
- angular - 在 Angular 中处理多部分响应体
- html - 如何在引导程序的小屏幕上更改导航栏切换按钮的位置
- ios - 定时器在 UITableView iOS 中没有更新
- puppet - Puppet 6 和模块 puppetlabs/accounts hiera yaml 不填充内容