我在模型中使用矩阵扩展,我希望能够通过GUI更改此矩阵的元素,而不是对其进行硬编码。目前看起来像这样:
extensions [matrix]
globals [test_matrix]
to setup
set test_matrix matrix:from-row-list [[
1
2
3
4
]]
end
但是,如果我尝试在GUI上使用Input
函数来设置值,则会收到一个错误消息,它“期望字面值”。
set test_matrix matrix:from-row-list [[
element1
element2
element3
element4
]]
答案 0 :(得分:2)
在第一部分中,当您执行[ 1 2 3 4 ]
时,您将在创建列表文字,而NetLogo仅允许在列表文字中使用常量值(数字,字符串,其他列表文字)。参见the Lists section of the programming guide for more。
要使用非文字(变量或表达式)值创建列表,请使用the list
primitive:
set test_matrix matrix:from-row-list (list (list
element1
element2
element3
element4
))
也请参见the FAQ entry。