位置: 编程技术 - 正文
推荐整理分享Python随机生成均匀分布在单位圆内的点代码示例(Python随机生成均匀不重复的数),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python随机生成一组数据,python 随机生成,python随机生成一组数据,python随机生成一组数据,python 随机生成,python生成随机数并求平均值,python随机生成一组数据,python生成随机数并求平均值,内容如对您有帮助,希望把文章链接给更多的朋友!
Python有一随机函数可以产生[0,1)区间内的随机数,但是如果我们想生成随机分布在单位圆上的,那么我们可以首先生成随机分布在单位圆边上的点,然后随机调整每个点距离原点的距离,但是我们发现这个距离不是均匀分布于[0,1]的,而是与扇形的面积相关的
我们使用另外的随机函数生成从[0,1)的随机数r,我们发现r<s0的概率为s0,显而易见,如果r为0,那么对应的距离应该为0,如果是1,对应的距离自然也应该是1,假设我们产生了m个随机数,那么小于s0的随机数应该为s0*m左右,而且这些应该对应于扇形面积的s0倍处即图2的小扇形区域,落在这一区域的点应该为s0*m,此时扇形边长为s0^0.5,因此s0对应的距离应该为s0^0.5,因此我们得到的映射函数为y=x^0.5(图1)
图1
图2
因此我们对于每个顶点的边长便是产生随机数的算术平方根的大小
附代码如下:
图3
总结
友情链接: 武汉网站建设