python 实现生成均匀分布的点

如下所示:

import numpy as np
print(np.linspace(-100,100,201)

np.linspace(),起始位置,终止位置,中间包括0,一共要201个点

因为-100,100共201个点,包括两边的数据,也就是数学上的闭区间。

结果:

-100. -99. -98. -97. -96. -95. -94. -93. -92. -91. -90. -89.
 -88. -87. -86. -85. -84. -83. -82. -81. -80. -79. -78. -77.
 -76. -75. -74. -73. -72. -71. -70. -69. -68. -67. -66. -65.
 -64. -63. -62. -61. -60. -59. -58. -57. -56. -55. -54. -53.
 -52. -51. -50. -49. -48. -47. -46. -45. -44. -43. -42. -41.
 -40. -39. -38. -37. -36. -35. -34. -33. -32. -31. -30. -29.
 -28. -27. -26. -25. -24. -23. -22. -21. -20. -19. -18. -17.
 -16. -15. -14. -13. -12. -11. -10.  -9.  -8.  -7.  -6.  -5.
  -4.  -3.  -2.  -1.  0.  1.  2.  3.  4.  5.  6.  7.
  8.  9.  10.  11.  12.  13.  14.  15.  16.  17.  18.  19.
  20.  21.  22.  23.  24.  25.  26.  27.  28.  29.  30.  31.
  32.  33.  34.  35.  36.  37.  38.  39.  40.  41.  42.  43.
  44.  45.  46.  47.  48.  49.  50.  51.  52.  53.  54.  55.
  56.  57.  58.  59.  60.  61.  62.  63.  64.  65.  66.  67.
  68.  69.  70.  71.  72.  73.  74.  75.  76.  77.  78.  79.
  80.  81.  82.  83.  84.  85.  86.  87.  88.  89.  90.  91.
  92.  93.  94.  95.  96.  97.  98.  99. 100.]

但 如果 你没有计算两个数之间有多少点。

例如下意识的在(-100,100,200)之间取200个点,情况和你想的不一样:

结果:

[-100.     -98.99497487 -97.98994975 -96.98492462 -95.9798995
 -94.97487437 -93.96984925 -92.96482412 -91.95979899 -90.95477387
 -89.94974874 -88.94472362 -87.93969849 -86.93467337 -85.92964824
 -84.92462312 -83.91959799 -82.91457286 -81.90954774 -80.90452261
 -79.89949749 -78.89447236 -77.88944724 -76.88442211 -75.87939698
 -74.87437186 -73.86934673 -72.86432161 -71.85929648 -70.85427136
 -69.84924623 -68.84422111 -67.83919598 -66.83417085 -65.82914573
 -64.8241206  -63.81909548 -62.81407035 -61.80904523 -60.8040201
 -59.79899497 -58.79396985 -57.78894472 -56.7839196  -55.77889447
 -54.77386935 -53.76884422 -52.7638191  -51.75879397 -50.75376884
 -49.74874372 -48.74371859 -47.73869347 -46.73366834 -45.72864322
 -44.72361809 -43.71859296 -42.71356784 -41.70854271 -40.70351759
 -39.69849246 -38.69346734 -37.68844221 -36.68341709 -35.67839196
 -34.67336683 -33.66834171 -32.66331658 -31.65829146 -30.65326633
 -29.64824121 -28.64321608 -27.63819095 -26.63316583 -25.6281407
 -24.62311558 -23.61809045 -22.61306533 -21.6080402  -20.60301508
 -19.59798995 -18.59296482 -17.5879397  -16.58291457 -15.57788945
 -14.57286432 -13.5678392  -12.56281407 -11.55778894 -10.55276382
  -9.54773869  -8.54271357  -7.53768844  -6.53266332  -5.52763819
  -4.52261307  -3.51758794  -2.51256281  -1.50753769  -0.50251256
  0.50251256  1.50753769  2.51256281  3.51758794  4.52261307
  5.52763819  6.53266332  7.53768844  8.54271357  9.54773869
  10.55276382  11.55778894  12.56281407  13.5678392  14.57286432
  15.57788945  16.58291457  17.5879397  18.59296482  19.59798995
  20.60301508  21.6080402  22.61306533  23.61809045  24.62311558
  25.6281407  26.63316583  27.63819095  28.64321608  29.64824121
  30.65326633  31.65829146  32.66331658  33.66834171  34.67336683
  35.67839196  36.68341709  37.68844221  38.69346734  39.69849246
  40.70351759  41.70854271  42.71356784  43.71859296  44.72361809
  45.72864322  46.73366834  47.73869347  48.74371859  49.74874372
  50.75376884  51.75879397  52.7638191  53.76884422  54.77386935
  55.77889447  56.7839196  57.78894472  58.79396985  59.79899497
  60.8040201  61.80904523  62.81407035  63.81909548  64.8241206
  65.82914573  66.83417085  67.83919598  68.84422111  69.84924623
  70.85427136  71.85929648  72.86432161  73.86934673  74.87437186
  75.87939698  76.88442211  77.88944724  78.89447236  79.89949749
  80.90452261  81.90954774  82.91457286  83.91959799  84.92462312
  85.92964824  86.93467337  87.93969849  88.94472362  89.94974874
  90.95477387  91.95979899  92.96482412  93.96984925  94.97487437
  95.9798995  96.98492462  97.98994975  98.99497487 100.    ]

所以,在使用这个函数时,要仔细考虑两端的数据,还有你需要多少点。

以上这篇python 实现生成均匀分布的点就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-12-04

Python随机生成均匀分布在单位圆内的点代码示例

Python有一随机函数可以产生[0,1)区间内的随机数,但是如果我们想生成随机分布在单位圆上的,那么我们可以首先生成随机分布在单位圆边上的点,然后随机调整每个点距离原点的距离,但是我们发现这个距离不是均匀分布于[0,1]的,而是与扇形的面积相关的 我们使用另外的随机函数生成从[0,1)的随机数r,我们发现r<s0的概率为s0,显而易见,如果r为0,那么对应的距离应该为0,如果是1,对应的距离自然也应该是1,假设我们产生了m个随机数,那么小于s0的随机数应该为s0*m左右,而且这些应该对应于扇形

Python随机生成均匀分布在三角形内或者任意多边形内的点

Python有一随机函数可以产生[0,1)区间内的随机数,基于此函数生成随机分布在任意三角形内的点 由数学知识得知: 几何体的向量表达形式 直线: 线段: 推广到高维 三维平面: 三角形: 注释,v这个向量表示的是在图形上的点的坐标,根据数学知识得知,直线和三维平面内的v构成的点集是放射集,而线段则是凸集, 其余向量是不在同一个点或者同一个平面的点的坐标构成的列向量 那么针对三角形可以写成如下: 我们可以先生成随机的贝塔,然后随机生成阿尔法,然后处理阿尔法,使得点是随机落在三角形内的,这里用的是

python随机数分布random均匀分布实例

因为概率问题,所以需要测试一下python的随机数分布.到底是平均(均匀)分布,还是正态(高斯)分布. 测试代码如下: #! /usr/bin/env python #coding=utf-8 # ================================= # Describe : 测试random随机数分布 # D&P Author By: 常成功 # Create Date: 2017/10/07 # Modify Date: 2017/10/20 # (C) 2012-2017 A

python随机数分布random测试

因为概率问题,所以需要测试一下python的随机数分布.到底是平均(均匀)分布,还是正态(高斯)分布. 测试代码如下: #! /usr/bin/env python #coding=utf-8 # ================================= # Describe : 测试random随机数分布 # D&P Author By: 常成功 # Create Date: 2017/10/07 # Modify Date: 2017/10/20 # (C) 2012-2017 A

python中随机函数random用法实例

本文实例讲述了python中随机函数random用法.分享给大家供大家参考.具体如下: python中的random模块功能非常强大,可以生成各种随机值 #! python # random import random print random.choice(['apple', 'pear', 'banana']) #从数组中随机选择一个元素 print random.sample(xrange(100), 10) # sampling without replacement print ran

Python随机数用法实例详解【基于random模块】

本文实例讲述了Python随机数用法.分享给大家供大家参考,具体如下: 1. random.seed(int) 给随机数对象一个种子值,用于产生随机序列. 对于同一个种子值的输入,之后产生的随机数序列也一样. 通常是把时间秒数等变化值作为种子值,达到每次运行产生的随机系列都不一样 seed() 省略参数,意味着使用当前系统时间生成随机数 random.seed(10) print random.random() #0.57140259469 random.seed(10) print rando

python 随机数使用方法,推导以及字符串,双色球小程序实例

如下所示: #随机数的使用 import random #导入random random.randint(0,9)#制定随机数0到9 i=random.sample(range(1,34),6)#输出6个随机数,范围是1到34 i.sort()#排序方法,排序时更改原数组,无返回值 sorted(i)#排序函数,排序时不影响原数组,产生新的排序后数据 print('----------------用上述的随机数做一个双色球---------------------') sj=random.sam

Python内置random模块生成随机数的方法

本文我们详细地介绍下两个模块关于生成随机序列的其他使用方法. 随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入random模块. import random 下面介绍下Python内置的random模块的几种生成随机数的方法. 1.random.random()随机生成 0 到 1 之间的浮点数[0.0, 1.0).注意的是返回的随机数可能会是 0 但

python生成特定分布数的实例

我就废话不多说了,直接上代码吧! from scipy.stats import binom, norm, beta, expon import numpy as np import matplotlib.pyplot as plt #泊松分布 x = np.random.poisson(lam=34.7, size=10000) pillar = 100 a = plt.hist(x, bins=pillar, color='black', alpha=0.5) plt.xlabel((u'频

Python随机数函数代码实例解析

这篇文章主要介绍了Python随机数函数代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 ''' choice(seq) 从序列的元素中随机选出一个元素 randrange ([start,] stop [,step]) 从指定范围内,在指定步长递增的集合中 获取一个随机数,步长默认为 1 .注:不包含 stop 值 random() 随机生成下一个实数,它在[0,1)范围内. shuffle(lst) 将序列的所有元素随机排序,返回

Python随机数random模块使用指南

random 模块是Python自带的模块,除了生成最简单的随机数以外,还有很多功能. random.random() 用来生成一个0~1之间的随机浮点数,范围[0,10 >>> import random >>> random.random() 0.5038461831828231 random.uniform(a,b) 返回a,b之间的随机浮点数,范围[a,b]或[a,b),取决于四舍五入,a不一定要比b小. >>> random.uniform(

python八大排序算法速度实例对比

这篇文章并不是介绍排序算法原理的,纯粹是想比较一下各种排序算法在真实场景下的运行速度. 算法由 Python 实现,可能会和其他语言有些区别,仅当参考就好. 测试的数据是自动生成的,以数组形式保存到文件中,保证数据源的一致性. 排序算法 直接插入排序 时间复杂度:O(n²) 空间复杂度:O(1) 稳定性:稳定 def insert_sort(array): for i in range(len(array)): for j in range(i): if array[i] < array[j]: