Azzera filtri
Azzera filtri

Can ode45 solve a ODE with space dependent parameters?

2 visualizzazioni (ultimi 30 giorni)
Hello,
I read ode45() can solve functions with time dependent parameters like this below by interpolating f and g during each time step.
y'(t)+f(t)y(t)=g(t)
However, can ode45 (or other solver) solve a system of odes like this below in which [A], [B] and [C] are matrices with some terms dependent of y and y=y(t)?
{dy/dt} = [A]{y^4}+[B]{y}+{C}
Ai=Ai(y)
Bi=Bi(y)
Ci=Ci(y)
Well, since this equation appears in a problem I solve using Simscape (Backward Euler method as default), I suppose I could find a solver to solve it inside Matlab codes without using Simscape.
  2 Commenti
Jan
Jan il 29 Gen 2019
The notation is not clear to me: "{dy/dt} = [A]{y^4}+[B]{y}+{C}"
Marlon Saveri Silva
Marlon Saveri Silva il 29 Gen 2019
Modificato: Marlon Saveri Silva il 29 Gen 2019
Actually this is not a MATLAB command line notation, I tried this "mathematical notation" to emphasize y, dy/dt and C are vectors whereas A and B are matrices.
{y} = {y1, y2, y3, ... , yn}
{C} = {c1, c2, c3, ... , cn}
{dy/dt} = {y1', y2', y3', ... , yn'}
Moreover, by {y^4} I tried to indicate the vector is {y1^4, y2^4, y3^4, ... yn^4}.

Accedi per commentare.

Risposta accettata

James Tursa
James Tursa il 29 Gen 2019
Yes. In general, if the derivative is a function of current state and time (even if there are vectors or matrices involved), then you can use ode45 to get a numerical solution. The caveat is that the function needs to be "nice" enough for ode45 to handle. Otherwise you may need stiff solvers, etc.
  5 Commenti
Ying Wu
Ying Wu il 5 Ago 2021
Hi Silva, I have met the same problem, my ODE has parameter A which is the piecewise function of the first directive y'(t). Have you succeed in solving this problem?
James Tursa
James Tursa il 5 Ago 2021
@Ying Wu It would be best if you posted a new Question with the details of your particular problem & derivative functions.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by