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

 Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 23 de Nov. de 2013

0 votos

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

Más respuestas (1)

dpb
dpb el 23 de Nov. de 2013
Editada: dpb el 23 de Nov. de 2013

0 votos

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

2 comentarios

Tomas
Tomas el 23 de Nov. de 2013
Editada: Tomas el 23 de Nov. de 2013
little easier ?
will it work on different numbers in the matrix?
dpb
dpb el 23 de Nov. de 2013
Editada: dpb el 24 de Nov. de 2013
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Fuzzy Logic in Simulink en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Nov. de 2013

Editada:

dpb
el 24 de Nov. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by