介于-1和1之间的numpy随机数组值

yx2lnoni  于 2022-12-13  发布在  其他
关注(0)|答案(4)|浏览(165)

创建一个给定size的NumPy数组的最佳方法是什么?该数组的值随机均匀地分布在-11之间。
我试过2*np.random.rand(size)-1

xwbd5t1u

xwbd5t1u2#

我可以使用numpy.arange

import numpy as np

print(np.arange(start=-1.0, stop=1.0, step=0.2, dtype=np.float))

step参数定义元素分布的大小和均匀性。

wvyml7n5

wvyml7n53#

在您的解决方案中,np.random.rand(size)返回半开区间[0.0,1.0]中的随机浮点数
这意味着2 * np.random.rand(size) - 1返回半开区间[0,2)- 1:= [-1,1)中的数字,即包含-1但不包含1的范围。
如果这是你想做的,那么它是好的。
但是,如果你想生成开区间(-1,1)中的数字,即-1和1之间,因此不包括或-1或1,我建议如下:

from numpy.random import default_rng
rg = default_rng(2)

size = (5,5)

rand_arr = rg.random(size)
rand_signs = rg.choice([-1,1], size)

rand_arr = rand_arr * rand_signs

print(rand_arr)

我已经使用了新的建议发电机每numpy,见链接https://numpy.org/devdocs/reference/random/index.html#quick-start

l7wslrjt

l7wslrjt4#

!00%工作代码:a=np.随机.均匀(-1,1)打印(a)

相关问题