【发布时间】:2012-07-19 07:09:41
【问题描述】:
假设我有两个数组:
a = [1, 2, 5, 7, 6, 9, 8, 3, 4, 7, 0];
b = [5, 9, 6];
我想在 a 中找到 b 值的索引(仅第一次命中),即:
c = [3, 6, 5];
有没有一种简单的 Matlab 原生方法可以做到这一点,而无需循环和搜索。
我曾尝试将 find() 用于:
find(a == b)
如果你这样做,它会起作用:
for i = 1:length(b)
index = find(a == b(i));
c = [c, index(1)]
end
但如果它比这更容易,那将是理想的。
【问题讨论】:
-
MATLAB 使用基于 1 的索引,因此它应该在您的循环解决方案中读取
index(1) -
@Amro,笑了将近 2 年后,我才看到你的评论。固定。
标签: arrays matlab search matrix find