PHP Class MathPHP\NumericalAnalysis\NumericalIntegration\NumericalIntegration

Numerical integration techniques are used to approximate the value of an indefinite intergal. This calss gives each technique a set of common tools, and requires each technique to define an approximate() method to approximate an indefinite integral.
Show file Open project: markrogoyski/math-php

Public Methods

Method Description
approximate ( $source, $args )
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

approximate() abstract public static method

abstract public static approximate ( $source, $args )

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