ODE - what exactly does Jacobian matrix do

28 views (last 30 days)
Hi:
I have a gnereal question regarding to the Jacobian matrix when solving the ODE. I don't know why the Jacobina matrix needs to be provided? And could you explain how does Matlab use it to improve the efficiency for sovling ODE?
Is it better to provide the Jacobian matrix for both the stiff and non-stiff system of ODE?
Thanks,

Accepted Answer

Ameer Hamza
Ameer Hamza on 20 Mar 2020
Jacobian is an equivalent of a gradient vector for a vector-valued function. In an oversimplified way, you can think of it in the same way as the derivative of a scalar function.
You don't need to specify the Jacobian matrix for ODE functions in MATLAB explicitly. However, providing it will increase the speed because otherwise, the MATLAB will have to estimate the Jacobian matrix using finite difference, which essentially involves nudging each variable a little bit and estimating its effect on the output vector. If you explicitly provide it, then MATLAB does not have to go through all that nudging.
  9 Comments
Chao Gong
Chao Gong on 24 Mar 2020
Ameer, thanks so much. This really clear things up. Really appreciate your time and great help!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!