Problem 46918. Numerical differentiation with high precision

A basic approach for numerical differentiation is by calculating the difference quotient f'(x) = (f(x+h) - f(x-h)) / (2h), 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

55.0% Correct | 45.0% Incorrect
Last Solution submitted on Jul 27, 2023

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers10

Suggested Problems

More from this Author4

Community Treasure Hunt

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

Start Hunting!