Enforce Kinematic Constraint in Initial Value Problem ode45()

3 vues (au cours des 30 derniers jours)
Jonathan Frutschy
Jonathan Frutschy le 1 Mai 2024
I have the following non-linear system:
I had originally solved for the displacement of each mass using ode45() (see https://www.mathworks.com/matlabcentral/answers/2107866-find-state-space-representation-of-linearized-non-linear-system-to-find-state-space-representation-i?s_tid=srchtitle). I had set the initial displacement and velocity of each mass to zero as my initial values. My confusion is with how my kinematic constraint (i.e. zero displacement at each wall) is accounted for or enforced in the ode45() solution. Is my ode45() solution valid for the system shown or do I need to form this as a boundary value problem with the boundary conditions as x(0) = 0 and x(l) = 0 instead of an initial value problem as I have done with ode45()? Another reason I bring this up is because my ode45() solver frequently fails after t<10^-5 s when solving. Is this because there are are singularities at the walls that I am not accounting for with my ode45() solution?
  1 commentaire
Jonathan Frutschy
Jonathan Frutschy le 20 Mai 2024
@Sam Chak I'm not sure if you would know the answer to this, but any insight would be greatly appreciated.

Connectez-vous pour commenter.

Réponse acceptée

Sam Chak
Sam Chak le 20 Mai 2024
Visualizing a system with 600 masses can be challenging. However, I believe the kinematic constraint for this system may be formulated as a differential-algebraic system of equations (DAEs).
For more information, please refer to the following examples:
  1 commentaire
Jonathan Frutschy
Jonathan Frutschy le 20 Mai 2024
Modifié(e) : Jonathan Frutschy le 20 Mai 2024
@Sam Chak. This is exactly what I needed! Thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by