我在寻找特定元素时遇到了麻烦。
我有阵列
A = [ 1 2 3 7 2 ; 2 8 5 7 2; 1 9 8 4 1; 8 7 2 10 9; 10 9 4 3 8]
我只想获得4的元素的A(3,4)的索引。但是我的代码吐出元素4的两个位置,即A(5,3)和A(3,4) )。
我使用了[row, col] = find(E==4)
答案 0 :(得分:0)
使用
[row, col] = find(E==4, 1)
第二个参数是您要查找的元素数。在https://www.mathworks.com/help/matlab/ref/find.html
了解更多详情Matlab按列顺序搜索矩阵。如果要按行查找第一个元素,可以在调用find之前转置E.但是你需要交换结果索引:
[col, row] = find(E'==4, 1)
答案 1 :(得分:-1)
这是一种查找第一个索引的更长,更迭代的方法:
A = [ 1 2 3 7 2 ;...
2 8 5 7 2;...
1 9 8 4 1;...
8 7 2 10 9;...
10 9 4 3 8];
[a,b] = size(A);
for i = 1:a
for j = 1:b
if A(i,j) == 4
break
end
end
if A(i,j) == 4
break
end
end
index = [i,j]
它为我返回[3,4]。