Evaluating a function using the subs

1 visualización (últimos 30 días)
Sincx
Sincx el 15 de Nov. de 2017
Respondida: Star Strider el 15 de Nov. de 2017
Why does the following fail to evaluate the function at x==6 and x==9?
p = 5E-3; L = 50E-3; x = 0:p:L; Q = x; y = Q(x==6*p)

Respuestas (1)

Star Strider
Star Strider el 15 de Nov. de 2017
If you run this:
Check = x - 6*p
you will see that it never evaluates to 0, so the condition is never met. This is called ‘floating-point approximation error’. The usual way of describing it is to note that in decimal notation, 1/3 evaluates to 0.3333... and multiplying that by 3 yields 0.9999..., not 1.
See Why is 0.3 - 0.2 - 0.1 (or similar) not equal to zero? (link) for a more thorough explanation.

Categorías

Más información sobre Data Types en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by