我需要创建一个python函数来生成一个n维向量,这样每个元素在[0100]中都是一个实数
我对python不是很在行,我需要创建一个函数randvec(n),它将创建一个n维向量,其中每个元素都是[0100]中的一个随机实数。下面是我到目前为止得到的我需要创建一个python函数来生成一个n维向量,这样每个元素在[0100]中都是一个实数,python,function,vector,numerical-methods,numpy-ndarray,Python,Function,Vector,Numerical Methods,Numpy Ndarray,我对python不是很在行,我需要创建一个函数randvec(n),它将创建一个n维向量,其中每个元素都是[0100]中的一个随机实数。下面是我到目前为止得到的 def randvec(n): vector = np.ndarray((1,n),dtype=float) for i in range(0,n): vector[i] = np.random.uniform(0,100) print(vector[i]) test = randvec
def randvec(n):
vector = np.ndarray((1,n),dtype=float)
for i in range(0,n):
vector[i] = np.random.uniform(0,100)
print(vector[i])
test = randvec(4)
print(test)
输出:[64.58722344 64.58722344 64.58722344 64.58722344 64.58722344]
根据我在for循环中打印时的输出,我不认为random.uniform()是我想要使用的函数,因为它给了我n次相同的随机数 我还收到以下错误消息:“索引1超出大小为1的轴0的界限。” 如果你看到我的错误,请告诉我!谢谢
def randvec(n):
return [random.random()*100 for _ in range(n)]
将生成n
实随机值,使每个值都在区间[0,100]内。有关random()
方法的更多信息,请参阅类random
但这是一个PRNG(伪随机数生成器),意味着它是可预测的“随机”序列
警告:此模块的伪随机生成器不应为空
用于安全目的。如果需要,请使用os.URADOM()或SystemRandom
需要加密安全的伪随机数生成器
出于安全目的,请使用TRNG或CSPRNGs。“它给了我n次相同的随机数”-不可能,请在For循环中发布一个带有打印内容的I编辑并提供输出。希望这就是您的意思,它有助于提供整个错误消息。为什么不使用适当的NumPy函数为了这个?谢谢!我不知道为什么我没有想到这么简单的东西。也许不够安全,但足够做我的数学作业了。