如何使用NetLogo中的输入从接口指定矩阵的元素?

时间:2019-02-21 10:01:41

标签: netlogo

我在模型中使用矩阵扩展,我希望能够通过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
        ]]

1 个答案:

答案 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