@Sam Chak I'm not sure if you would know the answer to this, but any insight would be greatly appreciated.
Enforce Kinematic Constraint in Initial Value Problem ode45()
3 views (last 30 days)
Show older comments
Jonathan Frutschy
on 1 May 2024
Edited: Jonathan Frutschy
on 20 May 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?
Accepted Answer
Sam Chak
on 20 May 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 Comment
More Answers (0)
See Also
Categories
Find more on Ordinary Differential Equations 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!