矩阵中的位移

时间:2016-12-20 02:35:54

标签: matrix netlogo

我有一个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中开展业务的问题。

1 个答案:

答案 0 :(得分:1)

如果您只需要基本上是一维的对象的元素乘法,只需使用map

示例:(map * [1 2] [3 4])报告[3 8]

现在您可以使用列表进行簿记,这更容易。

即使(由于某种原因你没有说明)你真的需要在其他地方进行矩阵操作,你几乎肯定应该使用你描述的簿记清单,然后在必要时进行转换。