gpt4 book ai didi

arrays - 根据对另一个数组的搜索查找数组中元素的索引

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:33 24 4
gpt4 key购买 nike

假设我有两个数组:

a = [1, 2, 5, 7, 6, 9, 8, 3, 4, 7, 0];

b = [5, 9, 6];

我想找到 a 中 b 的值的索引(只有第一次命中)即:

c = [3, 6, 5];

有没有一种简单的 Matlab native 方法可以在不循环和搜索的情况下执行此操作。

我曾尝试将 find() 用于:

find(a == b)

如果你这样做,它会起作用:

for i = 1:length(b)
index = find(a == b(i));
c = [c, index(1)]
end

但如果它比这个更容易,那将是理想的选择。

最佳答案

您可以使用 arrayfun 轻松地将 for 循环压缩成一个简单的单行代码:

arrayfun(@(x) find(a == x,1,'first'), b )

另见 Scenia's answer对于较新的 matlab 版本 (>R2012b)。

关于arrays - 根据对另一个数组的搜索查找数组中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11572034/

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