Can ode45 return two column vectors or a cell array?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Stacy Genovese
il 7 Apr 2022
Commentato: Bjorn Gustavsson
il 7 Apr 2022
I'm passing a cell array into ode45 for my initial conditions but the resulting cell array can't be returned from the function. Is there anyway to have Matlab return a cell array? Or if I convert the result to two column vectors using cell2Mat(), is it possible for ode45 to return both of these column vectors?
0 Commenti
Risposta accettata
Bjorn Gustavsson
il 7 Apr 2022
From the help of ode45:
For a scalar T and a vector Y, ODEFUN(T,Y) must return a column vector corresponding to f(t,y).
So what you ask for is not possible. You might have to live with a work-around where you stack your column-vectors, let's call them x and y, into a single column-vector xy. This should be "rather straightforward" when it comes to modifying your ODEFUN - you would only need to "unstack" them at the top of the function and then stack the respective derivatives (dx and dy) back together (dxy = [dx;dy]) and the ode-integration should work just fine. Then you'll have to handle having the two columns above each other instead of next-to once you get the solution, but that should be a trivial (but admittedly slightly annoying) step to take.
HTH
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!