I've a vector with 20000 elements. taux1=[0.01 0.02 ... 200]. If I type p=find(taux1==0.02), it returns p=2. Ok! If I type max(taux1), it returns ans=200.0000. Ok! But, if p=find(taux1==200), the answer is p=Empty matrix: 1-by-0. Others "round" values have shown the same answer, even if the entry have consider decimals (for example, taux1==200.0000). However, if I type p=find(taux1==max(taux1)), it returns p=20000. What may be happening? Thanks!

 Respuesta aceptada

Walter Roberson
Walter Roberson el 29 de Sept. de 2016

0 votos

Floating point roundoff. Those values only look like they are integers.

3 comentarios

Alexandre Lopes
Alexandre Lopes el 29 de Sept. de 2016
Thank you, Walter. Do you suggest any modification in my "find" command? I tried the "areEssentiallyEqual...", but it didn't work within this command...
Walter Roberson
Walter Roberson el 29 de Sept. de 2016
You can use ismembertol() . The first output is a logical vector; the second output is indices.
Alexandre Lopes
Alexandre Lopes el 1 de Oct. de 2016
Thanks!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 29 de Sept. de 2016

Comentada:

el 1 de Oct. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by