gpt4 book ai didi

matrix - APL查找矩阵中元素的频率

转载 作者:行者123 更新时间:2023-12-01 02:15:41 24 4
gpt4 key购买 nike

我有这段代码

((⍳3)∘.+(⍳2))

生成以下矩阵
2 3 
3 4
4 5

我想在结果中找到每个唯一元素的出现,即结果中出现 2,3,4,5。

我尝试将“∘.=”与矩阵本身一起使用,然后重新整形,以便将每个子矩阵的元素转换为一行
使用
6 6⍴ ((⍳3)∘.+(⍳2))∘.=((⍳3)∘.+(⍳2))

这给出了以下结果
1 0 0 0 0 0 for 2
0 1 1 0 0 0 for 3
0 1 1 0 0 0 for 3
0 0 0 1 1 0 for 4
0 0 0 1 1 0 for 4
0 0 0 0 0 1 for 5

正如你所看到的,它仍然包含重复项的总和,我现在迷路了。
任何帮助将不胜感激。

最佳答案

你应该做 ∘.=在矩阵中的唯一元素和所有元素的平面向量之间,例如:

      m ← ((⍳3)∘.+(⍳2))
(∪,m) ∘.= ,m
1 0 0 0 0 0
0 1 1 0 0 0
0 0 0 1 1 0
0 0 0 0 0 1

然后就做 +/在它上面得到 ∪,m 的频率
      +/ (∪,m) ∘.= ,m
1 2 2 1
∪,m
2 3 4 5

(在 GNU APL 上测试。)

关于matrix - APL查找矩阵中元素的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25104948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com