Finite difference approximation for third order partials?

Click For Summary
The discussion focuses on deriving a third-order finite difference approximation for a three-dimensional partial derivative. The user initially presents first and second-order approximations and seeks guidance on extending this to the third order. A suggestion is made to apply Taylor's theorem sequentially for each variable, leveraging existing second-order results. The final formula for the third-order approximation is provided, emphasizing the importance of symmetrical representation for accuracy. This approach effectively combines values from surrounding points to achieve the desired derivative approximation.
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 1 ·
Replies
1
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K