_finite_difference

This module implements some common finite difference schemes

pynumdiff.finite_difference._finite_difference.first_order(x, dt, params=None, options={})

First-order centered difference method

Parameters
  • x (np.array (floats)) – array of time series to differentiate

  • dt (float) – time step size

  • params (list (int) or int, optional) – number of iterations (if ‘iterate’ is enabled in options)

  • options (dict {'iterate': boolean}, optional) – a dictionary indicating whether to iteratively apply the difference method to smooth the estimates

Returns

a tuple consisting of:

  • x_hat: estimated (smoothed) x

  • dxdt_hat: estimated derivative of x

Return type

tuple -> (np.array, np.array)

pynumdiff.finite_difference._finite_difference.second_order(x, dt)

Second-order centered difference method

Parameters
  • x (np.array (floats)) – array of time series to differentiate

  • dt (float) – time step size

Returns

a tuple consisting of:

  • x_hat: estimated (smoothed) x

  • dxdt_hat: estimated derivative of x

Return type

tuple -> (np.array, np.array)