2

我有一个名称列表(文本矩阵)nl43和多个索引(在gr43)中,并希望将元素索引分配gr43给 2 个变量的第 4 列和第 5 列,A并且B. 访问单个列时,这将是nl43[gr43[;Column];],但我的手指只是拒绝复制和粘贴该语句来执行第二个作业,因为我的直觉表明必须有一个更简单的方法 ;-)

4

2 回答 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 回答