我希望能够生成具有来自绘制曲线的概率密度函数的随机数.下面这两个在曲线下面积相同,但应该产生具有不同特征的随机数列表.
我的直觉是,一种方法是对曲线进行采样,然后使用这些矩形的区域来提供一个np.random.choice来选择一个范围来在该矩形范围的范围内进行普通随机.
这不是一种非常有效的方法.有没有更“正确”的方法呢?
我真的很喜欢这样做:
import matplotlib.pyplot as plt
import numpy as np
areas = [4.397498, 4.417111, 4.538467, 4.735034, 4.990129, 5.292455, 5.633938,
6.008574, 6.41175, 5.888393, 2.861898, 2.347887, 2.459234, 2.494357,
2.502986, 2.511614, 2.520243, 2.528872, 2.537501, 2.546129, 7.223747,
7.223747, 2.448148, 1.978746, 1.750221, 1.659351, 1.669999]
divisons = [0.0, 0.037037, 0.074074, 0.111111, 0.148148, 0.185185, 0.222222,
0.259259, 0.296296, 0.333333, 0.37037, 0.407407, 0.444444, 0.481481,
0.518519, 0.555556, 0.592593, 0.62963, 0.666667, 0.