Java:根据用户定义的函数生成随机数

在此先感谢您的帮助.

我需要创建随机数字,这些数字遵循Java中用户定义的函数.这样做的一般方法是通过对函数的积分应用均匀分布.问题在于我需要创建无法集成的函数分布,或者积分是非常复杂或混乱的.

一个例子是生成跟随函数分布的随机数:

f(x) = (cos(x))^1.5

在Java中是否有任何数学库可以定义函数并返回随机数?
有什么建议?

非常感谢!

最佳答案 抱歉,如果我重复你已经知道的事情:

您需要用户定义(或近似)逆CDF.如果您无法计算它,我建议您从您的分布中采样,然后使用一个众所周知的分布来近似它.我不知道有哪些库会从PDF中为您执行此操作.一旦您有了这个,您可以创建一个映射,从您的语言随机数生成器的均匀随机性到函数.当您生成一个随机数时,该随机数将作为百分位数(例如.5 = 50% – >正态分布的平均值)通过用户函数映射回该值.

点赞