每次执行循环时都试图产生不同的随机数
Trying to produce different random numbers every time a loop is executed
SRate = [5,5,5]
Bots = 120
NQueue = 3
TSim = 100
Exp = 2
DDistance = 1
Lambda = 40 # 120/3 = 40
import random
Elist=[]
AvgSRate = 5
def Initilization(AvgSRate,Lambda,Exp):
return float((Lambda/(AvgSRate**Exp))*(1+(1/10)*(2*(np.random.seed(-28)) - 1)))
for a in range(1,361):
Elist.append(Initilization)
我正在尝试生成一组介于 0 和 1 之间的随机生成的数字,因此用于模拟初始化的小数,但是每次执行循环时它都会吐出相同的值,所以当我打印 Elist 时我获取所有相同值的列表。该列表还有 <Function Initialization at "the number">
,有人可以帮我从打印的列表中删除该部分以仅包含数字。
问题是 np.random.seed(-28)
只是为随机生成器 [Documentation] 播种,它没有 return 任何随机数,要获得随机数使用 - np.random.rand()
.
例子-
return float((Lambda/(AvgSRate**Exp))*(1+(1/10)*(2*(np.random.rand()) - 1)))
如果您想为随机生成器设置种子,可以在调用 Initilization
函数的 for
循环之前调用它。
这之后的函数应该是这样的-
def Initilization(AvgSRate,Lambda,Exp):
return float((Lambda/(AvgSRate**Exp))*(1+(1/10)*(2*(np.random.rand()) - 1)))
此外,还有一个问题是您没有将函数调用中的值 return 添加到列表 - Elist.append(Initilization)
,您只是添加了函数引用。
您需要将其更改为 Elist.append(Initilization(<values for the parameter>))
以调用该函数并将 returned 值附加到 EList
中。
SRate = [5,5,5]
Bots = 120
NQueue = 3
TSim = 100
Exp = 2
DDistance = 1
Lambda = 40 # 120/3 = 40
import random
Elist=[]
AvgSRate = 5
def Initilization(AvgSRate,Lambda,Exp):
return float((Lambda/(AvgSRate**Exp))*(1+(1/10)*(2*(np.random.seed(-28)) - 1)))
for a in range(1,361):
Elist.append(Initilization)
我正在尝试生成一组介于 0 和 1 之间的随机生成的数字,因此用于模拟初始化的小数,但是每次执行循环时它都会吐出相同的值,所以当我打印 Elist 时我获取所有相同值的列表。该列表还有 <Function Initialization at "the number">
,有人可以帮我从打印的列表中删除该部分以仅包含数字。
问题是 np.random.seed(-28)
只是为随机生成器 [Documentation] 播种,它没有 return 任何随机数,要获得随机数使用 - np.random.rand()
.
例子-
return float((Lambda/(AvgSRate**Exp))*(1+(1/10)*(2*(np.random.rand()) - 1)))
如果您想为随机生成器设置种子,可以在调用 Initilization
函数的 for
循环之前调用它。
这之后的函数应该是这样的-
def Initilization(AvgSRate,Lambda,Exp):
return float((Lambda/(AvgSRate**Exp))*(1+(1/10)*(2*(np.random.rand()) - 1)))
此外,还有一个问题是您没有将函数调用中的值 return 添加到列表 - Elist.append(Initilization)
,您只是添加了函数引用。
您需要将其更改为 Elist.append(Initilization(<values for the parameter>))
以调用该函数并将 returned 值附加到 EList
中。