【问题标题】:APL: how to search for a value's index in a matrixAPL:如何在矩阵中搜索值的索引
【发布时间】:2018-03-11 04:33:01
【问题描述】:

在 APL 中,矩阵和向量用于保存数据。我想知道是否有一种方法可以在矩阵中搜索给定值,并返回该值索引。例如,假设我有以下二维矩阵:

VALUES ← 1 2 3 4 5 6 7 8 9 10 11... 一直到 36

KINDS ← 0 0 0 2 0 0 0 3 0 ... 用 0 填充到 36 长度的其余部分。

如果我将这两个矩阵叠加

kinds,[.5] values

这样它们就可以叠在一起了

1 2 3 4 5 6 7 8 9 10...
0 0 0 2 0 0 0 3 0 ....    

是否有一种功能简单的方法可以在新层压矩阵的“第二行”中搜索 2 值的索引?例如。包含

的列
4
2

并返回该矩阵索引?

【问题讨论】:

    标签: matrix vector indexing parallel-processing apl


    【解决方案1】:

    2 也出现在新层压矩阵 (nlm) 的第 1 行中,正如您所说,您真的不想搜索整个矩阵,而只想搜索第二行。因此,由于您只在给定行内进行搜索,因此获取该行中的列索引将为您提供完整的答案:

        row←2
        ⎕←col←nlm[row;]⍳2
    4
        nlm[;col]  ⍝ values in matched column
    4 2
    

    Try it online!

    【讨论】:

    • @z.rubi: 你能请。接受答案,这样问题就不再显示为“未决”(只需勾选回复旁边的复选标记)。
    猜你喜欢
    • 2021-11-21
    • 2013-01-20
    • 2016-08-26
    • 1970-01-01
    • 2010-12-22
    • 2012-12-24
    • 2012-04-13
    • 1970-01-01
    • 2013-11-18
    相关资源
    最近更新 更多