I have matrix H[ 0 2.3926
2.3926 0]
I want to find value in matrix H, 2.3926 and store it in a variable A

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 11 月 23 日

0 投票

Maybe you are looking for the location
H=[ 0 2.3926
2.3926 0]
[ii,jj]=find(H==2.3926)

その他の回答 (1 件)

dpb
dpb 2013 年 11 月 23 日
編集済み: dpb 2013 年 11 月 23 日

0 投票

val=2.3926;
A=H(abs(H-val)<1.e-5);
NB the "fuzzy" comparison to avoid FP precision problems

2 件のコメント

Tomas
Tomas 2013 年 11 月 23 日
編集済み: Tomas 2013 年 11 月 23 日
little easier ?
will it work on different numbers in the matrix?
dpb
dpb 2013 年 11 月 23 日
編集済み: dpb 2013 年 11 月 24 日
Not sure what the question is, precisely. Of course the comparison can be any value or range of values. There are times when owing to FP rounding find(x==val) won't return what is naively expected.
You can always write
A=H(H==2.3926);
and for some cases you'll find joy, in others "not so much"
Look up "logical addressing" in the documentation for more detail of how this works.

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

カテゴリ

タグ

質問済み:

2013 年 11 月 23 日

編集済み:

dpb
2013 年 11 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by