Finite difference approximation for third order partials?

Click For Summary
SUMMARY

The discussion focuses on deriving the third order finite difference approximation for partial derivatives in three dimensions. The user initially presents the first and second order approximations and seeks guidance on extending these to a third order approximation. The solution provided utilizes Taylor's theorem and results in the formula: d3f(x,y,z)/dxdydz = {[f(i+1,j+1,k+1) - f(i+1,j,k+1) - f(i,j+1,k+1) + f(i-1,j-1,k+1)] - [f(i+1,j+1,k-1) - f(i+1,j,k-1) - f(i,j+1,k-1) + f(i-1,j-1,k-1)]}/8.

PREREQUISITES
  • Understanding of finite difference methods
  • Familiarity with Taylor series expansion
  • Knowledge of partial derivatives
  • Basic programming skills for implementing numerical methods
NEXT STEPS
  • Research "Taylor series in multiple dimensions" for deeper insights
  • Study "Finite difference methods for partial differential equations" for practical applications
  • Explore "Numerical differentiation techniques" to enhance approximation skills
  • Learn about "Error analysis in numerical methods" to understand accuracy implications
USEFUL FOR

Mathematicians, computational scientists, and engineers involved in numerical analysis and simulations requiring accurate derivative approximations in three-dimensional spaces.

swuster
Messages
40
Reaction score
0
I'm attempting to perform interpolation in 3 dimensions and have a question that hopefully someone can answer.

The derivative approximation is simple in a single direction:

df/dx(i,j,k)= [f(i+1,j,k) - f(i-1,j,k)] / 2

And I know that in the second order:

d2f/dxdy(i,j,k)= [f(i+1,j+1,k) - f(i+1,j,k) - f(i,j+1,k) + f(i-1,j-1,k)] / 4

The final item I need is the third order approximation, and I'm not sure how to scale the first two into a third variable.

d3f/dxdydz(i,j,k)= ?

Can anyone shed some light on this?

Thanks in advance!
 
Physics news on Phys.org
can't you just apply Taylor series? You want
<br /> \frac{\partial^{3}f}{\partial x\partial y\partial z}<br />
Right?
 
Yes but I don't have the function itself; I only have its value at various points i-2, i-1, i, i+1, i+2, etc.
 
Just apply Taylors theorem in 1D to each variable in turn.
 
You already have
d2f/dxdy(i,j,k) = [f(i+1,j+1,k) - f(i+1,j,k) - f(i,j+1,k) + f(i-1,j-1,k)] / 4
so you have to do the first order derivation for z, which means for indexes in short-hand
notation

[(k->k+1) - (k->k-1)]/2

By the way, congratulations for having chosen the symetrical representation of the first derivative, it is much more accurate than [(k->k+1) - ()].

So let's do it:
d3f(x,y,z)/dxdydz = {[f(i+1,j+1,k+1) - f(i+1,j,k+1) - f(i,j+1,k+1) + f(i-1,j-1,k+1)]
- [f(i+1,j+1,k-1) - f(i+1,j,k-1) - f(i,j+1,k-1) + f(i-1,j-1,k-1)]}/8 =
[f(i+1,j+1,k+1) - f(i+1,j,k+1) - f(i,j+1,k+1) + f(i-1,j-1,k+1)
- f(i+1,j+1,k-1) + f(i+1,j,k-1) + f(i,j+1,k-1) - f(i-1,j-1,k-1)]/8
That's it.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 36 ·
2
Replies
36
Views
8K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
5K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K