gpt4 book ai didi

matlab - 在matlab中查找矩阵所有列之间的公共(public)元素

转载 作者:行者123 更新时间:2023-12-02 07:20:46 25 4
gpt4 key购买 nike

我在 MATLAB 中找到矩阵所有列之间的公共(public)元素时遇到问题,我尝试自己解决它,基本问题是相交函数集仅在两个矩阵之间相交,所以我编写了如下代码这个

A=randi(n,m);
B=struct();
for k=1:size(A,2)-1
B.(['b' num2str(k)])=intersect(A(:,k),A(:,k+1));
end

不幸的是,问题没有解决,因为 A 的维度未知,所以我们对 B 也有同样的问题!谢谢大家。

最佳答案

一种使用 bsxfun 的矢量化方法-

unqA = unique(A)
out = unqA(all(any(bsxfun(@eq,A,permute(unqA,[2,3,1])),1),2))

示例运行 -

A =
8 5 6 4 8
4 6 7 5 9
9 4 4 7 5
9 4 9 5 6
9 9 7 9 6
9 5 9 4 8
8 5 6 9 8
7 5 6 7 4
out =
4
9

关于matlab - 在matlab中查找矩阵所有列之间的公共(public)元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40419390/

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