根据给定概率密度函数生成随机数的python模块

PDRandom的Python项目详细描述


自述文件
Ken Leung的PDrandom
麻省理工学院许可证(MIT)
版权所有(c)2015 Ken Leung
更新1.0.2####
新功能:
1.支持多处理
对于函数:randlist、getcountlist、gencountlist、outputrawlandom、outputguncountlist,
您可以设置参数nproc=num_of_process
例如gen.outputgencountlist(int(1e6),[100100],“cosine2”,nproc=4,foption='a')
**对于Windows用户,您应该使用if name=“u u u main”启动程序:

2.您可以追加现有的数据文件
设置附加选项'a'
*对于追加countlist文件,binnum应该与该文件匹配

3.新函数:gencountlist(number,binnum,nproc=1)--直接生成并返回countlist

其他:整理

*任何错误,请通过电子邮件或github告诉我

信息=======
根据概率函数生成随机数,例如sin(x)、cos(x)、sin(x)sin(y)
f:r^n->;r

逻辑/方法:
采用拒收方法,阶跃函数作为约束函数


如何使用:
***对于维度1(多变量函数),请传递列表参数

1.定义概率密度函数,例如
定义测试(输入):
返回abs(数学sin(输入))

*如果是多变量函数,请传递列表参数。例如
二维函数的测试([1,2])。


2.创建pdrandom对象
ranobject=pdrandom.pdrandom(测试,下边界,上界,numdiv,numsubdiv,维度)

测试:密度函数
#
下边,上边:x[下边,上边]
对于尺寸1:x0_[Lowerbound[0],Upperbound[0]),x1_[Lowerbound[1],Upperbound[1]),…………
#

数量=1。numdiv增加->;拒绝率降低(即增加随机数的接受机会)。
但较大的numdiv会导致性能下降
*此参数与性能(速度)有关
#
NySudiDIV(可选):用于求除法中的最大值,与精度和初始化时间有关。
例如1000或[10,10,10]
#
维度:指定输入变量的数量

3.您可以使用一些类函数:
next():返回一个随机数

randlist(num):返回随机数列表

获取计数列表(binnum,randlist):
计算箱子(分区)范围内的随机数

包括下半部分,包括上半部分

参数:
binnum:将范围划分为binnum bins
randlist:由randlist生成(num)

返回一个countlist,例如[bin1x,bin1y,count],[bin2x,bin2y,count]……]对于双变量函数
例如randlist=[1.1,2.4]lowerbound=0,upperbound=5,binnum=5,dimension=1
计数列表=[[0,0]
[1,1]1.1计入1
[2,1]2.4计算为2
[3,0]
[4,0]

总共5个箱子

output countlist(countlist,filename):输出到文件名为(space sperate格式)的文件

outputrawlandom(数字,文件名):为文件名为

outputgencountlist(number,binnum,filename):生成并直接输出计数列表

#===================================================================

示例:
1维外壳:
定义余弦(输入):
返回abs(数学cos(输入))
gen=pdrandom.pdrandom(余弦,-1,math.pi,10,维数=1)
发电机输出计数表(100000,50,“consine2”)

n-尺寸大小写:n>;1
定义INE3(输入):
返回abs(math.sin(输入[0])*math.sin(输入[1])*math.sin(输入[2]))
gen=pdrandom.pdrandom(sine3,[-1,0,1],[math.pi,math.pi,math.pi],[10,10,10],尺寸=3)
lis=gen.randlist(1000个)
打印(gen.getcountlist([10,10,10],lis))
发电机输出计数表(100000,[50,50,50],“sine3”)


其他:
联系方式:devyat1192002@gmail.com
如有任何问题、错误、意见,请随时与我联系,我会尽快回复

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java HttpServletResponse在保存时提示输入文件名   基于Java中的XML值重新创建XML   Java中递归调用的一个堆栈占用多少内存?   java数字到二进制到零计数器   java Primefaces选项卡视图:在计数后设置活动索引   xml在Java中可以将XSD转换为XPath吗?   在递归循环中检测JDBC连接的java插件/工具   spring mvc中的java处理错误   java向spring安全认证添加子域   在安卓中设置时,java日期不正确   java setColorFilter适用于所有按钮   java Android:Bitmap-to-Byte数组和back:SkImageDecoder::Factory返回null   java如何使用lambda实现ComponentScan的自定义过滤器?   java iOS推送通知不工作   java在异步servlet中用新请求替换旧请求