f(x) is different of f(value of x)
1 view (last 30 days)
Show older comments
Hi,
In my code, I have a function wich receive a lambda function f.
inside this function, I have a variable called newPoint
I stop with a breakpoint in the running, the value of newPoint is 1.0434
and if I write in the console f(newPoint), I get 0, but if I write f(1.0434) i get -5.2815e-05.
so in my function, I can not evaluate precisely f(newPoint)
(My function f is f = @(x) 2 - x^3 -sin(x))
I will very gratefull if you can help me.
8 Comments
Walter Roberson
on 11 Jan 2021
Edited: Walter Roberson
on 11 Jan 2021
fprintf('%.20g\n', newPoint)
newPoint - 1.0434
Answers (1)
Steven Lord
on 11 Jan 2021
The value stored in an array is not necessarily the same value that is displayed.
Right now Forbes magazine lists the net worth of Jeff Bezos as $183.1 billion dollars. Is that his actual net worth down to the last penny? No. Is it close enough for purposes of this profile? Yes.
Similarly, when displaying pi in MATLAB in the default display format you don't see the full value of pi.
format
x = pi
y = x - 3.1416 % not exactly 0
Using x or 3.1416 in a calculation could result in different answers if the answer changes based on the value of y (which is not itself exactly -7.3464e-06.)
z = y - (-7.3464e-06)
See Also
Categories
Find more on Matrix Indexing 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!