Numerical differentiation is a technique of numerical analysis to produce an estimate of the derivative of a mathematical function or function subroutine using values from the function and perhaps other knowledge about the function.
References: Trent F. Guidry, Calculating derivatives of a function numerically. Available on: http://www.trentfguidry.net/post/2009/07/12/Calculate-derivatives-function-numerically.aspx