假设我的值need_find = [1 3 4]
和矩阵A
的大小为3xK。我想在其对应的A行中找到need_find
的值。如何在matlab中应用向量化解决方案而不是遍历每一行?
如预期的详细示例;
A = [1 3 4; 1 3 5; 3 4 5];
my_method_do_what_I_want(A,need_find);
该方法返回
ans = [1;2;2]
% so I find the index of each element of need_find at corresponding row at A
长话短说:在第1行搜索1,在第2行搜索3,在第3行搜索4
答案 0 :(得分:1)
这是一种方式:
A = [1 3 4; 1 3 5; 3 4 5];
need_find = [1 3 4]
[~,idx] = find(bsxfun(@eq,A,need_find(:)))
返回
idx =
1
2
2
如果你在A
的行中有重复的值,或者根本没有匹配,那么这个简单的单行将不起作用,但我只能按你的例子...