Netlogo Rnd Extension:通过输入框加载概率权重
Netlogo Rnd Extension: loading probability weights through Input boxes
我想要从这个列表中报告的随机项目:
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 会突出显示带有权重名称和消息 "Expected a literal value" 的代码。这可以修复吗?
当您在 NetLogo 中制作列表文字时,您只能将您键入的其他文字项目(字符串、数字、布尔值)放入该列表的代码中。
要使用变量创建 "dynamic" 列表,您必须使用带括号的 list
原语:
set probability-list (list (list "residential" Res) (list "commercial" Com) (list "industrial" Ind))
我想要从这个列表中报告的随机项目:
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 会突出显示带有权重名称和消息 "Expected a literal value" 的代码。这可以修复吗?
当您在 NetLogo 中制作列表文字时,您只能将您键入的其他文字项目(字符串、数字、布尔值)放入该列表的代码中。
要使用变量创建 "dynamic" 列表,您必须使用带括号的 list
原语:
set probability-list (list (list "residential" Res) (list "commercial" Com) (list "industrial" Ind))