B. The

For a set of data points

s_{i} = s(x_{i}), 1
i
k, |
(B1) |

the interpolation function is defined as

s(x) = a_{0} + a_{1}^{ . }(x - x_{i}) + a_{2}^{ . }(x - x_{i})^{2} + a_{3}^{ . }(x - x_{i})^{3}, x_{i}
x
x_{i + 1}. |
(B2) |

To determine the coefficients *a*_{0}, *a*_{1}, *a*_{2}, and *a*_{3} of the
interpolation polynomial for each interval
[*x*_{i}, *x*_{i + 1}] the function
values *s*_{i} and *s*_{i + 1}, and the first derivatives *s*_{i}' and
*s*_{i + 1}' at the end points of the interval are used.

The first derivative *s*_{i}' of the interpolation function at *x*_{i} is
estimated from the data for this point and the next two points on each side of
*x*_{i}. Using the ratios

d_{j} = , j = i - 2, i - 1, i, i + 1, |
(B3) |

and the weighting coefficients

w_{i - 1} |
= | d_{i + 1} - d_{i}|, |
(B4) |

w_{i} |
= | d_{i - 1} - d_{i - 2}|, |
(B5) |

the estimated derivative *s*_{i}' is defined as

Several special cases for *s*_{i}' have to be considered.

s_{i}' |
= d_{i - 1} |
d_{i - 2} = d_{i - 1}, d_{i}
d_{i + 1} |
(B7) | |

s_{i}' |
= d_{i} |
d_{i} = d_{i + 1}, d_{i - 2}
d_{i - 1} |
(B8) | |

s_{i}' |
= d_{i - 1} = d_{i} |
d_{i - 1} = d_{i} |
(B9) | |

s_{i}' |
= | d_{i - 2} = d_{i - 1}
d_{i} = d_{i + 1} |
(B10) |

To be able to use (B.6) for calculating the derivatives
*s*_{1}', *s*_{2}',
*s*_{k - 1}', and *s*_{k}' additional ratios *d*_{-1},
*d*_{0}, *d*_{k}, and *d*_{k + 1} have to be estimated.

d_{-1} |
= 2^{ . }d_{0} - d_{1} |
(B11) |

d_{0} |
= 2^{ . }d_{1} - d_{2} |
(B12) |

d_{k} |
= 2^{ . }d_{k - 1} - d_{k - 2} |
(B13) |

d_{k + 1} |
= 2^{ . }d_{k} - d_{k - 1} |
(B14) |

The order of the interpolation function reduces to 2 for these intervals.

Similar algorithms can be used for the interpolation of two-dimensional data on rectangular grids [43] and on unstructured grids[44] by bicubic and cubic polynomials, respectively.

1999-05-31