For a complex system where symbolic computation of the jacobian is challenging, is estimating the jacobian via finite difference a viable option?

To be explicit I'm mostly interested in playing around with IMU currently and some of the theory surrounding IMU error propagation and Lie algebra is a bit more than I want to get into currently(though I'm reading a paper and plan on asking some questions on it). I'm considering evolving the system model using perturbations and applying numerical differentiation to estimate the Jacobian as a way to cheat having to learn some of the theory.


1 Answer 1


is estimating the jacobian via finite difference a viable option?

This will depend a lot on your data, requirements and sample rate.

The transfer function of time continuous differentiator is $-j\omega$. That's clearly not bandlimited (it's more of the opposite), so it can't be sampled without significant aliasing.

The transfer function of a one-sample difference $y[n] = x[n]-x[n-1]$ is

$$H(\omega) = 1-e^{-j\omega T} = -j\sin(\omega T/2) \frac{e^{-j\omega T/2}}{2} $$

This only matches roughly at low frequencies (where $\sin(x) \approx x$) and even then it has this annoying half sample delay added on top.

Numerical differentiation is tricky: https://en.wikipedia.org/wiki/Numerical_differentiation


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.