Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Query regarding solving differential equation

2 visualizaciones (últimos 30 días)
Bharath Ram
Bharath Ram el 24 de Mayo de 2018
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
I'm trying to solve equation of a mass damper system shown in the image. The x (LHS) is the unknown displacement which is to be solved from the equation.I know y and dy/dx values at each instant of time (obtained from experiments). While solving using ode45 I'm not able to update the value of y and dy/dx for each time interval. How else can I solve the equation to get value of x. I used central difference scheme but the answer is diverging from the expected values drastically, when marched in time. Thank you in advance.

Respuestas (2)

sloppydisk
sloppydisk el 24 de Mayo de 2018
I'm guessing you are trying to use ode45 with variable timestep, make sure to pass y and dy/dx as an interpolation function such that it is defined for any point in time. For example like this:
yInterp = @(thisTime) interp1(t, y, thisTime);

Torsten
Torsten el 24 de Mayo de 2018
Editada: Torsten el 24 de Mayo de 2018
The example
ODE with Time-Dependent Terms
under
https://de.mathworks.com/help/matlab/ref/ode45.html
shows how to solve your problem using ODE45.
Your y and dy/dt should take the role of f and g in the example.
Best wishes
Torsten.

La pregunta está cerrada.

Community Treasure Hunt

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

Start Hunting!

Translated by