Evaluating a function using the subs

1 view (last 30 days)
Sincx
Sincx on 15 Nov 2017
Answered: Star Strider on 15 Nov 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)

Answers (1)

Star Strider
Star Strider on 15 Nov 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.

Categories

Find more on Elementary Math in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!