Problem 46918. Numerical differentiation with high precision
A basic approach for numerical differentiation is by calculating the difference quotient
, see for example Problem 2892. Unfortunately, this approach leads to the problem that for small step sizes h a subtractive cancellation error occurs, while for large step sizes the truncation error of the numerical scheme dominates. The same problem occurs also for similar numerical schemes of higher order.
Task: Can you find a numerical approach that eliminates the subtractive cancellation error and enables accuracies up to machine accuracy for small step sizes? Inputs to your function are a function handle fun to a scalar function, as well as the point x0, at which the numerical derivative should be calculated.
Hint: If you do not have any idea, check out Cleve's Corner. Back in the year 2013, you will find an interesting article.
Solution Stats
Problem Comments
-
2 Comments
Rafael S.T. Vieira
on 23 Oct 2020
Nice problem. And thanks for the tip about Cleve's article and paper.
ChrisR
on 12 Dec 2020
I enjoy Cody most when it teaches me something. Thanks, Alex.
Solution Comments
Show commentsProblem Recent Solvers10
Suggested Problems
-
Matrix indexing with two vectors of indices
734 Solvers
-
Combined Ages 1 - Symmetric, n = 3
267 Solvers
-
54 Solvers
-
554 Solvers
-
find number of times of occurrence of the most frequent number in a row vector
63 Solvers
More from this Author4
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!