NetLogo:需要将变量的值设置为某个范围内的随机数

问题描述 投票:0回答:1

亲爱的NetLogo社区,

我的目标是将变量的值设置为-1和1之间的数字。我尝试了以下代码,但是徒劳。

to xyz
[
set probability-of-wom compute-wom [-1 1]
if probability-wom > 0 [...]
]
end

to-report compute-wom -1 1
  report -1 + random-float (1 - -1)
end

probablity-wom在这种情况下是一个全局变量。提前感谢您的支持。谢谢。

关于,Shreesha

range global-variables report netlogo probability
1个回答
0
投票

Shreesha

假设您要在lowerupper之间生成一个随机数。那么您的compute-wom将是>

to-report compute-wom [lower upper]
  report upper - random-float (upper - lower)
end

根据您的情况,可以

set probability-of-wom compute-wom -1 1

但是有几点评论。首先,您在此处生成的是两个限制之间的随机数(正如您的标题所示),因此称它为概率可能会误导任何阅读您代码的人。概率通常在零到一的范围内。如果您确实只是想以50%的概率做某事,则可以简单地说

if random-float 1 >= 0.5 [...]

第二,如果要完全有论点,记者通常应该接受可变论点。请注意,由于您在to-report compute-wom报告程序的正文中硬编码-1和1,因此将它们作为参数传递是多余的,并且可能会误导任何阅读您代码的人。

希望这很有用,查尔斯

© www.soinside.com 2019 - 2024. All rights reserved.