Jacobians using Simscape (numerical or symbolic)
Show older comments
I'm working with a Simscape model and I'm trying to get a numerical or possibly analytical form Jacobian for my system (given specific frames).
Actually I'm using multibody, but problem could be of general interest. Better if using geometrical approach. I know that some toolbox already perform same operation and give it using geometrical approch.
I tought using a numerical differentiation would be an answer, but is by far too complex, heavy and clumsy to carrry out for my purpose, thus I was looking for an alternative method to be used in one single run.
4 Comments
Walter Roberson
on 18 Aug 2024
Simulink and Simscape are more or less incompatible with the Symbolic Toolbox. (More correctly, any use of the Symbolic Toolbox must be completely local, with the output values converted back into pure numeric form.)
Sahas
on 20 Aug 2024
As per my understanding, you would like to get a Jacobian matrix for a Simscape multibody system using “geometrical approach”.
MathWorks’ “Symbolic Math Toolbox” is used to compute Jacobian matrix analytically. The following examples of Symbolic Math Toolbox use Simscape and might help to analyse a physical system:
Now after analysing the physical system, the following MathWorks documentation links help in calculating the Jacobian matrix using MATLAB:
In addition, configuring the solvers may help in improving speed and accuracy of the calculations. Refer to the below documentation links for more information:
I hope this is beneficial gives you a head start!
ENRICO
on 22 Aug 2024
Answers (1)
Yifeng Tang
on 20 Aug 2024
0 votes
The Jacobian of the system of equations is formulated by the solver, but I don't think it's available explicitly in any form. In Model Settings -> Solver, if you select an implicit solver (daessc, ode23t, etc.), you'll see an option for Jacobian method, where you can choose between analytical and numerical (perturbation) ways of storing the Jacobian. The Jacobian is needed for the nonlinear iteration in implicit solvers, but no it's not visible.

The solver profiler tool can tell you how many times the solver decided to recompute the Jacobian during the simulation, but still, the Jacobian itself isn't available in any form outside the simulation. At least I don't know of a way.
5 Comments
ENRICO
on 22 Aug 2024
Yifeng Tang
on 22 Aug 2024
Curious: what is the reason that you're trying to get a numerical or analytical form of the Jacobian? Maybe there is another to get there?
ENRICO
on 24 Aug 2024
Yifeng Tang
on 24 Aug 2024
Oh, I wasn't talking about another way to get the jacobian. I'm wondering what is the purpose of obtaining the Jacobian. Are you trying to improve the numerical performance of the model? Choose the best solver? I'm trying to see if there are other suggestions I can provide since the actual Jacobian isn't available.
ENRICO
on 24 Aug 2024
Categories
Find more on Applications in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!