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.

 採用された回答

Andrei Bobrov
Andrei Bobrov 2011 年 12 月 20 日

1 投票

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
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.
Khawaja Asim
Khawaja Asim 2011 年 12 月 20 日
thank you for answer.. Actually I have a matrix about 300x300 order app. It contains a lot of zero values and non-zero value. I want to find the index of min value other than zero. So I thought of a logic, I stored a matirx in another variable. then deleted all zeros from it. then got min value using "minimum=min(A). Now I wanted to find the index of this "minimum" from original matrix. I hope I thought of correct logic :-)

サインインしてコメントする。

その他の回答 (2 件)

Jim
Jim 2011 年 12 月 20 日

0 投票

you can use find command to know the index of values in matrix
C.J. Harris
C.J. Harris 2011 年 12 月 20 日

0 投票

Using find with two return parameters might make it easier.
[row, col] = find(matrix == 90096);

3 件のコメント

Khawaja Asim
Khawaja Asim 2011 年 12 月 20 日
i tried this but dont why it didnt work :(
Walter Roberson
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
Khawaja Asim
Khawaja Asim 2011 年 12 月 20 日
ans given by andrei worked

サインインしてコメントする。

カテゴリ

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by