gpt4 book ai didi

arrays - Matlab 中的数组比较

转载 作者:行者123 更新时间:2023-12-02 21:29:19 27 4
gpt4 key购买 nike

是否有任何内置的 Matlab 函数可以通过以下方式比较数组?

function comparison = elementcompare(array1,array2)

comparison=logical(true);
for i=1:length(array1)
if ~any(array1(i)==array2)
comparison=logical(false);
end
end

如果 array1 的每个元素都可以在 array2 中找到,则此比较将返回 true,看起来非常基本,但我无法找到它。

谢谢!

最佳答案

最直接的方法是使用 ismember :

comparison = all(ismember(array1(:), array2(:)));

也可以用 setdiff 来完成:

comparison = isempty(setdiff(array1(:), array2(:)));

像往常一样,bsxfun可以完成这项工作:

comparison = all(any(bsxfun(@eq, array1(:).', array2(:))));

甚至unique :

comparison = numel(unique([array1(:); array2(:)]))==numel(unique(array2(:)));

关于arrays - Matlab 中的数组比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22724845/

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