如何在python中生成特定范围内的n维随机变量

如何在python中生成特定范围内的n维随机变量,python,numpy,scipy,Python,Numpy,Scipy,我想在python中生成不同维度的[-10,10]范围内的统一随机变量。数字2,3,4,5。。。。维度 我尝试了随机。均匀(-10,10),但那只是一维的。我不知道如何做它的n维。 我指的是二维 [[1 2], [3 4]...] 使用random.uniform import random random_variable_in_range_of_minus_ten_and_plus_ten = random.uniform(-10, 10) 请注意,它介于(设计上)[-10,10]和[-

我想在python中生成不同维度的
[-10,10]
范围内的统一随机变量。数字2,3,4,5。。。。维度

我尝试了随机。均匀(-10,10),但那只是一维的。我不知道如何做它的n维。 我指的是二维

[[1 2], [3 4]...]

使用
random.uniform

import random

random_variable_in_range_of_minus_ten_and_plus_ten = random.uniform(-10, 10)
请注意,它介于(设计上)[-10,10]和[-10,10]之间

对于n维,我不太明白你的意思,但是假设它是一个有n个数字的向量,你可以:

def n_dimensional_random_variables(n, lbound=-10, rbound=10):
  return [random.uniform(lbound, rbound) for i in xrange(n)]

由于标记了
numpy
,因此可以使用
numpy.random
中的随机函数:

>>> import numpy as np
>>> np.random.uniform(-10,10)
7.435802529756465
>>> np.random.uniform(-10,10,size=(2,3))
array([[-0.40137954, -1.01510912, -0.41982265],
       [-8.12662965,  6.25365713, -8.093228  ]])
>>> np.random.uniform(-10,10,size=(1,5,1))
array([[[-3.31802611],
        [ 4.60814984],
        [ 1.82297046],
        [-0.47581074],
        [-8.1432223 ]]])

并修改
size
参数以满足您的需要。

您所说的各种dimensions@DannyBeckett希望编辑帮助显示为n维执行此操作?