Returns an approximation to the derivative of a function.
Namespace:
Extreme.Mathematics
Assembly:
Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
public static double Derivative(
this Func<double, double> targetFunction,
double x,
DifferencesDirection direction
)
<ExtensionAttribute>
Public Shared Function Derivative (
targetFunction As Func(Of Double, Double),
x As Double,
direction As DifferencesDirection
) As Double
public:
[ExtensionAttribute]
static double Derivative(
Func<double, double>^ targetFunction,
double x,
DifferencesDirection direction
)
[<ExtensionAttribute>]
static member Derivative :
targetFunction : Func<float, float> *
x : float *
direction : DifferencesDirection -> float
Parameters
- targetFunction
- Type: SystemFuncDouble, Double
A delegate that represents a function of one variable that
specifies the function to differentiate. - x
- Type: SystemDouble
The point at which to evaluate the
derivative. - direction
- Type: Extreme.Mathematics.CalculusDifferencesDirection
A DifferencesDirection
that specifies the interval to be used for differentiation.
Return Value
Type:
DoubleA numerical approximation to the derivative
of
targetFunction at
x.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
FuncDouble,
Double. When you use instance method syntax to call this method, omit the first parameter. For more information, see
Extension Methods (Visual Basic) or
Extension Methods (C# Programming Guide).
This method is useful when the
targetFunction is not defined
or is discontinuous on either side of x.
If the function is badly behaved on the left, you can
set direction to
Forward, and the
function will only be evaluated at x
and to the right of x.
Passing Forward
causes the function to be evaluated at x
and points to the left of x.
If the function is well-behaved on both sides, you
should use Central,
since that will, in general, yield better results.
This is also the default when the direction
parameter is omitted.
Reference