find a values in matrix

2 ビュー (過去 30 日間)
Tomas
Tomas 2013 年 11 月 23 日
編集済み: dpb 2013 年 11 月 24 日
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 日
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 日
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.

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

カテゴリ

Help Center および File ExchangeData Clustering についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by