How to create a Matlab object that simulates a spring-mass system without Simulink

2 vues (au cours des 30 derniers jours)
I am trying to model a dynamic system (e.g., a spring-mass system) withing a big project, that may be deployed on a machine that doesn't have Simulink.
I would like to create a spring-mass system object, which has a method that takes time as input and return the position, and that stores all the history of states, to be used for the numerical integration.
How can I do it, without SImulink?
Note: I am aware of ODE solvers (e.g., ode45), but my problem with these solvers is that they solve for the all time steps at once, which contrary to what I need. I need to solve for only one time step, as needed.
Thanks :)

Réponse acceptée

Sam Chak
Sam Chak le 11 Avr 2022
If the spring-mass system is non-stiff, and you want to solve for only one step time, then the conventional Runge–Kutta 4th-order formula should be good enough for the job.
For example, given the dynamical system:
and the initial value ,
select a sufficiently small step size h, and compute the following
to obtain 1-step propagated solution:
  1 commentaire
Mahmoud Elzouka
Mahmoud Elzouka le 11 Avr 2022
Thanks @Sam Chak for the solution. It is similar to what I am currently doing.
I was hoping Matlab can give us access to the Simulink-like classes, rather than implement the numerical technique of handling the DE.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by