matrix
2 次查看(过去 30 天)
显示 更早的评论
if i want to find the index of certain value in 2D matrix, how can I find that? e.g: I have a 300x300 matrix. There is a value 90096 in that matriz. I want to find its index. Please show me the code.
0 个评论
采纳的回答
Andrei Bobrov
2011-12-20
A =[ 191 23 37 34 154
212 66 228 99 9
30 128 224 215 199
214 225 114 186 219
148 226 188 225 159];
a = 224;
[i1,j1] = find(abs(A-a) < 100*eps);
2 个评论
Walter Roberson
2011-12-20
Yes! If you do not know for sure that the values are integral, then using exact comparisons will often fail.
更多回答(2 个)
C.J. Harris
2011-12-20
Using find with two return parameters might make it easier.
[row, col] = find(matrix == 90096);
3 个评论
Walter Roberson
2011-12-20
Probably the value in the matrix was not _exactly_ 90096
http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!