我需要创建一个 python 函数来生成一个 n 维向量,使得每个元素都是 [0,100) 中的实数
I need to create a python function that makes an n-dimensional vector such that each element is a real number in [0,100)
我不太擅长 python,我需要创建一个函数 randvec(n),它将创建一个 n 维向量,其中每个元素都是 [0,100) 中的随机实数.以下是我目前所拥有的。
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]
根据我在 for 循环内打印时的输出,我认为 random.uniform() 不是我想要使用的函数,因为它给了我 n 次相同的随机数。
我也收到此错误消息"index 1 is out of bounds for axis 0 with size 1."
如果您看到我的错误,请告诉我!谢谢
def randvec(n):
return [random.random()*100 for _ in range(n)]
将生成 n
个真正的随机值,每个值都在区间 [0, 100) 内。有关 random()
方法的更多信息,请参阅 class Random
。
但这是一个 PRNG(伪随机数生成器),这意味着它可以预测 "random" 序列。来自文档:
Warning: The pseudo-random generators of this module should not be
used for security purposes. Use os.urandom() or SystemRandom if you
require a cryptographically secure pseudo-random number generator.
出于安全考虑,请使用 TRNG 或 CSPRNG。
我不太擅长 python,我需要创建一个函数 randvec(n),它将创建一个 n 维向量,其中每个元素都是 [0,100) 中的随机实数.以下是我目前所拥有的。
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]
根据我在 for 循环内打印时的输出,我认为 random.uniform() 不是我想要使用的函数,因为它给了我 n 次相同的随机数。
我也收到此错误消息"index 1 is out of bounds for axis 0 with size 1."
如果您看到我的错误,请告诉我!谢谢
def randvec(n):
return [random.random()*100 for _ in range(n)]
将生成 n
个真正的随机值,每个值都在区间 [0, 100) 内。有关 random()
方法的更多信息,请参阅 class Random
。
但这是一个 PRNG(伪随机数生成器),这意味着它可以预测 "random" 序列。来自文档:
Warning: The pseudo-random generators of this module should not be used for security purposes. Use os.urandom() or SystemRandom if you require a cryptographically secure pseudo-random number generator.
出于安全考虑,请使用 TRNG 或 CSPRNG。