我有一个n x 1
矩阵。我试图找到一种方法来转移"所有元素的位置(松开最后一个元素)然后以这种方式在位置0,0中添加一个元素:
这
[[ 10 ]
[ 5 ]
[ 2 ]
[ 3 ]
[ 1 ]
[ 5 ]]
to(在位置0,0中添加新元素2
[[ 2 ]
[ 10 ]
[ 5 ]
[ 2 ]
[ 3 ]
[ 1 ]]
我非常接近解决方案,但我不知道如何将元素添加到嵌套列表中。
;initial matrix
set mymatrix matrix:from-column-list [[10 5 2 3 1 5]]
;temp
let list matrix:to-column-list mymatrix
let tmplist matrix:to-column-list states
; ERROR here: the result of fput is [2[10 5 2 3 1 5]]
set tmplist fput 2 tmplist
;new matrix
matrix:set-column mymatrix 0 tmplist
编辑:我意识到确实根据我的需要,矩阵是一种矫枉过正。我解决了切换到纯netlogo列表并在map-reduce中开展业务的问题。
答案 0 :(得分:1)
如果您只需要基本上是一维的对象的元素乘法,只需使用map
。
示例:(map * [1 2] [3 4])
报告[3 8]
。
现在您可以使用列表进行簿记,这更容易。
即使(由于某种原因你没有说明)你真的需要在其他地方进行矩阵操作,你几乎肯定应该使用你描述的簿记清单,然后在必要时进行转换。