0% found this document useful (0 votes)
25 views13 pages

Chapter 19 Rev 1

This document discusses numerical differentiation techniques for evaluating derivatives of functions. It covers high-accuracy differentiation formulas, Richardson extrapolation to improve estimates, handling unequally spaced data by fitting polynomials, and addressing errors in data. It also describes how to evaluate derivatives in MATLAB using the diff and gradient functions and how to generate contour plots and vector fields.

Uploaded by

Maytham Shakir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views13 pages

Chapter 19 Rev 1

This document discusses numerical differentiation techniques for evaluating derivatives of functions. It covers high-accuracy differentiation formulas, Richardson extrapolation to improve estimates, handling unequally spaced data by fitting polynomials, and addressing errors in data. It also describes how to evaluate derivatives in MATLAB using the diff and gradient functions and how to generate contour plots and vector fields.

Uploaded by

Maytham Shakir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Part 5

Chapter 19
Numerical Differentiation

PowerPoints organized by Dr. Michael R. Gustafson II, Duke University


All images copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter Objectives
• Understanding the application of high-accuracy numerical
differentiation formulas for equispaced data
data.
• Knowing how to evaluate derivatives for unequally spaced
data.
• Understanding
U d t di how h Richardson
Ri h d extrapolation
t l ti isi applied
li d ffor
numerical differentiation.
• Recognizing
g g the sensitivity
y of numerical differentiation to
data error.
• Knowing how to evaluate derivatives in MATLAB with the
diff and gradient functions.
• Knowing how to generate contour plots and vector fields
with MATLAB.
Differentiation
• The mathematical definition of a derivative begins
with
ith a diff
difference approximation:
i ti
y f xi  x  f xi 


x 
x
and as x is allowed to approach zero, the
difference becomes a derivative:
dy f xi  x  f xi 
 lim
dx x0 x
High-Accuracy Differentiation
Formulas
• Taylor series expansion can be used to
generate high-accuracy formulas for
derivatives by using linear algebra to
combine the expansion around several
points.
• Three categories for the formula include
forward finite-difference, backward finite-
difference, and centered finite-difference.
Forward Finite-Difference
Backward Finite-Difference
Centered Finite-Difference
Richardson Extrapolation
• As with integration, the Richardson extrapolation can be used to
combine two lower-accuracy y estimates of the derivative to produce
p a
higher-accuracy estimate.
• For the cases where there are two O(h2) estimates and the interval is
halved (h2=h1/2), an improved O(h4) estimate may be formed using:
4 1
D  D(h2 )  D(h1 )
3 3
• For the cases where there are two O(h4) estimates and the interval is
halved (h2=h1/2), an improved O(h6) estimate may be formed using:
16 1
D  D(h2 )  D(h1 )
15 15
• For the cases where there are two O(h6) estimates and the interval is
halved (h2=h1/2), an improved O(h8) estimate may be formed using:
64 1
D D(h2 )  D(h1 )
63 63
Unequally Spaced Data
• One way to calculated derivatives of
unequally spaced data is to determine a
polynomial fit and take its derivative at a
point.
• As an example,
p , using g a second-order
Lagrange polynomial to fit three points and
g its derivative yyields:
taking
2x  x1  x2 2x  x0  x2 2x  x0  x1
f x  f x0   f x1   f x2 
x0  x1 x0  x2  x1  x0 x1  x2  x2  x0 x2  x1 
Derivatives and Integrals for Data
with Errors
• A shortcoming of numerical differentiation is that it tends to
amplify errors in data
data, whereas integration tends to smooth
data errors.
• One approach
pp for taking
g derivatives of data with errors is to
fit a smooth, differentiable function to the data and take the
derivative of the function.
Numerical Differentiation with
MATLAB
• MATLAB has two built-in functions to help
take derivatives, diff and gradient:
• diff(x)
– Returns the difference between adjacent
elements in x
• diff(y)./diff(x)
– Returns the difference between adjacent values
in y divided by the corresponding difference in
adjacent values of x
Numerical Differentiation with
MATLAB
• fx = gradient(f, h)
Determines the derivative of the data in f at each
of the points. The program uses forward difference
for the first p
point, backward difference for the last
point, and centered difference for the interior points.
h is the spacing between points; if omitted h=1.
• The major advantage of gradientdi t over diff is
gradient’s result is the same size as the original
data.
• Gradient can also be used to find partial derivatives
for matrices:
[
[fx, fy] ] = gradient(f,
i ( h)
Visualization
• MATLAB can generate contour plots of functions as
wellll as vector
t fifields.
ld A i x and
Assuming d y representt
a meshgrid of x and y values and z represents a
function of x and y, y
– contour(x, y, z) can be used to generate a contour
p
plot
– [fx, fy]=gradient(z,h) can be used to generate
partial derivatives and
– quiver(x,
i ( y, fx,
f f ) can be
fy) b used
d tto generate
t
vector fields

You might also like