我有一个名称列表(文本矩阵)nl43
和多个索引(在gr43
)中,并希望将元素索引分配gr43
给 2 个变量的第 4 列和第 5 列,A
并且B
. 访问单个列时,这将是nl43[gr43[;Column];]
,但我的手指只是拒绝复制和粘贴该语句来执行第二个作业,因为我的直觉表明必须有一个更简单的方法 ;-)
2 回答
0
好的,所以我终于找到(A B)←⊂[1 3]nl43[gr43[;4 5;]
了自己,并对自己感到失望,因为我以前从未想过重新思考这一点。既然我自己回答了这个问题,我认为没有太大的改进空间???
嗯,有一个嵌套的方法可以做到这一点:(A B)←(⊂nl43){⍺[gr43[;⍵];]}¨4 5
我什至犹豫了一下,因为它觉得太“笨拙”了。但就性能而言,它是一个明显的赢家:0.234 秒与 0.64 秒!
评论?;-)
于 2015-01-23T10:38:08.287 回答
0
作为类似的东西
'abcdefghijklmnopqrstuvwxyz'[3 3 reshape 3 1 20 18 1 20 6 1 20] // []A instead of abcde... in Dyalog
cat
rat
fat
// result is a matrix
我直观地期望索引的嵌套参数也可以工作。
'abcdefghijklmnopqrstuvwxyz'[(3 1 20) (18 1 20) (6 1 20)]
cat rat fat
// result is a vector of vectors
唉,这还没有或尚未实施。我过去使用过类似的 dfn 方法来索引,但除了向量之外从未使用过。有趣的是这种扩展索引如何在矩阵和高维数组上工作。
于 2015-01-27T07:21:20.623 回答