public static double Derivative(RealFunction targetFunction, double x, DifferencesDirection direction) { if (targetFunction == null) { throw new ArgumentNullException("targetFunction"); } switch (direction) { case DifferencesDirection.Backward: { return(NumericalDifferentiator.BackwardDerivative(targetFunction, x)); } case DifferencesDirection.Central: { return(NumericalDifferentiator.CentralDerivative(targetFunction, x)); } case DifferencesDirection.Forward: { return(NumericalDifferentiator.ForwardDerivative(targetFunction, x)); } } throw new ArgumentOutOfRangeException("direction"); }
public static double Derivative(RealFunction targetFunction, double x) { if (targetFunction == null) { throw new ArgumentNullException("targetFunction"); } return(NumericalDifferentiator.Derivative(targetFunction, x, DifferencesDirection.Central)); }
public static double CentralDerivative(RealFunction targetFunction, double x) { double num1; if (targetFunction == null) { throw new ArgumentNullException("targetFunction"); } return(NumericalDifferentiator.CentralDerivative(targetFunction, x, out num1)); }
public static RealFunction CreateForwardDelegate(RealFunction targetFunction) { if (targetFunction == null) { throw new ArgumentNullException("targetFunction"); } NumericalDifferentiator differentiator1 = new NumericalDifferentiator(targetFunction); return(new RealFunction(differentiator1.FormardDerivative)); }
private double CentralDerivative(double x) { return(NumericalDifferentiator.CentralDerivative(this._function, x)); }
private double FormardDerivative(double x) { return(NumericalDifferentiator.ForwardDerivative(this._function, x)); }
private Function CalculateNumericalDerivative() { return(new Explicit2DFunction( NumericalDifferentiator.CreateDelegate(_function))); }