aboutsummaryrefslogtreecommitdiffstats
path: root/math/p5-Math-Interpolate/pkg-descr
blob: 7af9c0ed75ec7d588c35935f255402675f93a2a3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
This module contains several useful routines for interpolating data
sets and finding where a given value lies in a sorted list.
The first is a subroutine used to locate a position in an array of
values where a given value would fit using bisection. It has been
designed to be efficient in the common situation that it is called
repeatedly. The user can supply a different set of comparison
operators to replace the standard < and <=. For example, given a
list (1, 2, 5, 8, 15) and the number 9.5 it would return 3.

The remaining routines all are related to interpolating sets of
(x,y) data pairs. They all take a list of (x,y) data pairs given
another x value, return a sensible y value using the list of (x,y)
data pairs. Three different interpolating functions are provided.
The first, called a constant interpolator, assumes that the function
being interpolated moves in non-linear jumps from one value to
another. The interpolated value for some value x is the y value of
the neighboring (x,y) to the left of the given x. The second
interpolator performs a linear interpolation between the neighboring
points. The third interpolator is called the robust interpolator
and interpolates a smooth curve between all of the (x,y) pairs.
To do the interpolation, it first calculates some reasonable
derivatives at the (x,y) pairs. If you have measured your own
derivative information, you can supply it to the robust interpolator
and it will use it.