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

2 Ansichten (letzte 30 Tage)
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 :)

Akzeptierte Antwort

Sam Chak
Sam Chak am 11 Apr. 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 Kommentar
Mahmoud Elzouka
Mahmoud Elzouka am 11 Apr. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by