python随机生成数字的函数_python – 从任意概率密度函数生成随机数

这篇博客探讨了如何使用Python从用户定义的概率密度函数生成随机数。文章提出了一种基于直方图的方法,利用numpy的`choice`函数和标准化的y值作为概率分布。此外,还建议使用numba库优化含有for循环的代码。
摘要由CSDN通过智能技术生成

我希望能够生成具有来自绘制曲线的概率密度函数的随机数.下面这两个在曲线下面积相同,但应该产生具有不同特征的随机数列表.

q0u75.png

我的直觉是,一种方法是对曲线进行采样,然后使用这些矩形的区域来提供一个np.random.choice来选择一个范围来在该矩形范围的范围内进行普通随机.

WeSrJ.gif

这不是一种非常有效的方法.有没有更“正确”的方法呢?

我真的很喜欢这样做:

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值