Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.DataAnalysis.Models
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Providers
    • Extreme.Providers.InteropServices
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics
    • AccuracyGoal Structure
    • AlgorithmStatus Enumeration
    • ArrayAttributes Structure
    • ArrayMath Class
    • ArrayMutability Enumeration
    • BigFloat Class
    • BigInteger Structure
    • BigRational Structure
    • CategoricalVector(T) Class
    • Complex(T) Structure
    • Constants Class
    • ConvergenceCriterion Enumeration
    • CoreImplementations(T) Class
    • DecimalMath Class
    • Dimension Enumeration
    • DimensionMismatchException Class
    • DimensionType Enumeration
    • DistributedDataLocation Enumeration
    • DoubleComparer Class
    • Elementary Class
    • ElementType(T) Class
    • FunctionMath Class
    • FunctionWithDerivative Delegate
    • GenericCoreProvider(T) Class
    • GenericImplementations Class
    • ICategoricalVector Interface
    • IDistributed Interface
    • InsufficientDataException Class
    • IntegerMath Class
    • Intent Enumeration
    • Interval Structure
    • Interval(T) Structure
    • IPermutable Interface
    • ISummarizable Interface
    • Iterators Class
    • IVector Interface
    • MachineConstants Class
    • ManagedCoreProviderOfSingle Class
    • Math(T) Class
    • Matrix Class
    • Matrix(T) Class
    • MatrixDiagonal Enumeration
    • MatrixElementOrder Enumeration
    • MatrixExtensions Class
    • MatrixNorm Enumeration
    • MatrixOperationSide Enumeration
    • MatrixStructure Enumeration
    • MatrixTriangle Enumeration
    • MutabilityBehaviour Enumeration
    • NumericsConfiguration Class
    • Operations(T) Class
    • Permutation Class
    • Quad Structure
    • RandomExtensions Class
    • Range Structure
    • RoundingMode Enumeration
    • SingleConstants Class
    • SinglePrecisionImplementations Class
    • Slice Structure
    • SolutionReport(T) Class
    • SolutionReport(T, TError) Class
    • Special Class
    • SummaryOptions Class
    • SymbolicMath Class
    • TotalLossOfPrecisionException Class
    • TransposeOperation Enumeration
    • TypedVectorWrapper(K, T) Structure
    • Vector Class
    • Vector(T) Class
    • VectorExtensions Class
  • FunctionMath Class
    • Methods
  • Methods
    • BackwardDerivative Method Overloads
    • CentralDerivative Method Overloads
    • Combine Method
    • CombineFast Method Overloads
    • Derivative Method Overloads
    • FindMaximum Method Overloads
    • FindMinimum Method Overloads
    • FindZero Method Overloads
    • ForwardDerivative Method Overloads
    • GetBackwardDifferentiator Method
    • GetEquationSolver Method Overloads
    • GetForwardDifferentiator Method
    • GetIntegrator Method Overloads
    • GetMaximizer Method Overloads
    • GetMinimizer Method Overloads
    • GetNumericalDifferentiator Method
    • GetNumericalGradient Method
    • GetNumericalJacobian Method Overloads
    • Integrate Method Overloads
    • Product Method
    • Sum Method Overloads
    • SumIf(T) Method
    • SumSeries Method Overloads
  • CentralDerivative Method Overloads
    • CentralDerivative Method (Func(Double, Double), Double)
    • CentralDerivative Method (Func(Double, Double), Double, Double)
    • CentralDerivative Method (Func(Double, Double), Double, Double, Int32)
  • CentralDerivative Method (Func(Double, Double), Double, Double, Int32)

FunctionMathCentralDerivative Method (FuncDouble, Double, Double, Double, Int32)

Extreme Optimization Numerical Libraries for .NET Professional
Returns an approximation to the derivative of a function.

Namespace:  Extreme.Mathematics
Assembly:  Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
Syntax

C#
VB
C++
F#
Copy
public static double CentralDerivative(
	this Func<double, double> targetFunction,
	double x,
	out double estimatedError,
	out int evaluationsNeeded
)
<ExtensionAttribute>
Public Shared Function CentralDerivative ( 
	targetFunction As Func(Of Double, Double),
	x As Double,
	<OutAttribute> ByRef estimatedError As Double,
	<OutAttribute> ByRef evaluationsNeeded As Integer
) As Double
public:
[ExtensionAttribute]
static double CentralDerivative(
	Func<double, double>^ targetFunction, 
	double x, 
	[OutAttribute] double% estimatedError, 
	[OutAttribute] int% evaluationsNeeded
)
[<ExtensionAttribute>]
static member CentralDerivative : 
        targetFunction : Func<float, float> * 
        x : float * 
        estimatedError : float byref * 
        evaluationsNeeded : int byref -> 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.
estimatedError
Type: SystemDouble
On exit, this parameter contains an estimate of the absolute error of the approximation.
evaluationsNeeded
Type: SystemInt32
On exit, this parameter contains the number of function evaluations needed to calculate the numerical derivative.

Return Value

Type: Double
A 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).
Exceptions

ExceptionCondition
ArgumentNullExceptiontargetFunction is .
See Also

Reference

FunctionMath Class
CentralDerivative Overload
Extreme.Mathematics Namespace

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.