I have this matrix http://dl.dropbox.com/u/59868217/tmis.mat and I would find something like this name = 5.255560000000000e +02, obtaining output indices of that element. I used this command:
[pnt, size, cmd] = find (tmis == name);
But in this case I get the indexes that do not correspond in fact should be pnt = 4, size = 16, cmd = 2. I read in the matlab documentation which states: "[row, col, v] = find (X, ...) returns a column or row vector v of the nonzero entries in X, as well as row and column indices. If X is a logical expression, then v is a logical array. Output v contains the non-zero elements of the logical array Obtained by Evaluating the expression X " How can I do to get all three indexes?

 採用された回答

Andrei Bobrov
Andrei Bobrov 2012 年 5 月 10 日

3 投票

clear size % ;)
c = find (tmis == name);
[a b d] = ind2sub(size(tmis),c);

3 件のコメント

Honglei Chen
Honglei Chen 2012 年 5 月 11 日
Good catch :)
Geppo Batt
Geppo Batt 2012 年 5 月 11 日
thank you very much both
Rizal ICHWANSYAH
Rizal ICHWANSYAH 2022 年 7 月 21 日
Thank you so much!!!

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

その他の回答 (1 件)

Honglei Chen
Honglei Chen 2012 年 5 月 10 日

0 投票

idx = find(tmis == name);
[row,col,pag] = ind2sub(size(tmis),idx)

カテゴリ

ヘルプ センター および File ExchangeOperators and Elementary Operations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by