gpt4 book ai didi

matlab - 索引矩阵中的重复项 : Matlab

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:28 25 4
gpt4 key购买 nike

考虑一个矩阵

 X = [ 1 2 0 1; 
1 0 1 2;
1 2 3 4;
2 4 6 8;
.
.
1 2 0 1
.
. ]

我想创建一个新列,以便我可以对每一行的 ith<​​ 出现进行编号。

回答:

   X = [ 1 2 0 1;   y =  [1
1 0 1 2; 1
1 2 3 4; 1
2 4 6 8; 1
. .
. .
1 2 0 1 2
. .
. ] .]

有什么想法吗?

最佳答案

这个怎么样?

y = sum(triu(squareform(pdist(X))==0)).';

这是通过计算每行之前有多少行相等来实现的。如果两行的距离(用 squareformpdist 计算)为 0,则两行相等。 triu确保只考虑前面的行。

为了减少计算时间并避免依赖统计工具箱,您可以使用@user1735003 的建议:

y = sum(triu((bsxfun(@plus, sum(X.^2,2), sum(X.^2,2)') - 2*X*X.')==0));

关于matlab - 索引矩阵中的重复项 : Matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26010299/

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