PHP Class MathPHP\NumericalAnalysis\Interpolation\Interpolation

Show file Open project: markrogoyski/math-php

Public Methods

Method Description
getPoints ( $source, array $args = [] ) : array Determine where the input $source argument is a callback function, a set of arrays, or neither. If $source is a callback function, run it through the functionToPoints() method with the input $args, and set $points to output array. If $source is a set of arrays, simply set $points to $source. If $source is neither, throw an Exception.
validate ( array $points, number $degree = 2 ) : boolean Validate that there are enough input arrays (points), that each point array has precisely two numbers, and that no two points share the same first number (x-component)

Protected Methods

Method Description
functionToPoints ( callable $function, number $start, number $end, number $n ) : array Evaluate our callback function at n evenly spaced points on the interval between start and end
sort ( array $points ) : array Sorts our coordinates (arrays) by their x-component (first number) such that consecutive coordinates have an increasing x-component.

Method Details

functionToPoints() protected static method

Evaluate our callback function at n evenly spaced points on the interval between start and end
protected static functionToPoints ( callable $function, number $start, number $end, number $n ) : array
$function callable f(x) callback function
$start number the start of the interval
$end number the end of the interval
$n number the number of function evaluations
return array

getPoints() public static method

Determine where the input $source argument is a callback function, a set of arrays, or neither. If $source is a callback function, run it through the functionToPoints() method with the input $args, and set $points to output array. If $source is a set of arrays, simply set $points to $source. If $source is neither, throw an Exception.
public static getPoints ( $source, array $args = [] ) : array
$source The source of our approximation. Should be either a callback function or a set of arrays.
$args array The arguments of our callback function: start, end, and n. Example: [0, 8, 5]. If $source is a set of arrays, $args will default to [].
return array

sort() protected static method

Sorts our coordinates (arrays) by their x-component (first number) such that consecutive coordinates have an increasing x-component.
protected static sort ( array $points ) : array
$points array
return array

validate() public static method

Validate that there are enough input arrays (points), that each point array has precisely two numbers, and that no two points share the same first number (x-component)
public static validate ( array $points, number $degree = 2 ) : boolean
$points array Array of arrays (points)
$degree number The miminum number of input arrays
return boolean