Netlogo Rnd Extension:通过输入框加载概率权重

时间:2019-06-24 23:20:45

标签: netlogo

我要从此列表中报告一个随机项目:

set probability-list [["residential" 0.60] ["commercial" 0.30] ["industrial" 0.10]]

它们的调用方式是:

set land-use first rnd:weighted-one-of-list probability-list last

但是我希望每个项目的权重由用户通过模型界面中的输入框而不是代码本身输入。为此,我为每个名为Res,Com和Ind的项添加了一个输入框,因此该列表的代码现在为:

set probability-list [["residential" Res] ["commercial" Com] ["industrial" Ind]]

但是Netlogo用权重名称突出显示代码,并显示消息“期望文字值”。这个可以解决吗?

1 个答案:

答案 0 :(得分:2)

在NetLogo中创建列表文字时,只能将键入的其他文字项目(字符串,数字,布尔值)放入该列表中的代码中。

要使用变量创建“动态”列表,必须使用带有括号的list原语:

set probability-list (list (list "residential" Res) (list "commercial" Com) (list "industrial" Ind))

这在the NetLogo programming guide under lists中概述。