Can we find equations of motion using Matlab?

Hi Folks, Well, I'm working on a certain model. I've found expressions for Kinetic and Potential Energies of the system. I wonder, if there is a way to find equations of motion using MATLAB. Please guide me on this.

1 Comment

This is a MATLAB toolbox to compute the equation of motion
https://www.mathworks.com/matlabcentral/fileexchange/23037-lagrange-s-equations

Sign in to comment.

Answers (1)

With the kinetic energy T and the potential energy U you can create the Lagrange function L := T - U. Then:
d/dt(dL/d(dot(q))) - dL/dq = 0
This equation can be solved for the generalized coordinates and their velocities directly either in closed form or more likely numerically.
But one question remains: How do you want to do this with MATLAB?

2 Comments

I know how to get Lagrange function... I also know how to derive equations of motion from Lagrangian... However, I don't want to do all that manually. The Lagrangian function, I've come up with, is quite complicated.
It is always a good idea, to include such information in the original message.
A high complexity of the Lagrange equation is usaully caused by the wrong choice of generalized coordinates. E.g. very complex mechanical systems can be easily simulated by using "natural" coordinates for the single elements and insert the interaction between the parts as constraints. Then you have a DAE with a usually sparse but highly structured mass matrix, which can be solved efficiently.
Solving the system to get a closed form solution in minimal coordinates is often less efficient due to the high number of trigonometric functions.
It matters if your system consists of 20 connected rigid 3D bodies, or 200.000 FEM objects for a clima simulation. Can you explain more details?

Sign in to comment.

Asked:

on 20 Oct 2011

Commented:

on 17 Feb 2022

Community Treasure Hunt

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

Start Hunting!