2nd order differential errors
Mostrar comentarios más antiguos
Hi,
I am having issues with ODE45,
My function
function dydt=solver(y,t)
Caller
tspan = [0:0.01:3.12];
thrust=6;
g=9.81;
R=1.3;
m12=4.3;
Respuestas (1)
William Rose
el 15 de Abr. de 2021
0 votos
Are you getting an error message? If so, what?
I notice that your dydt is mising a "*" after C.
3 comentarios
John Masters
el 15 de Abr. de 2021
William Rose
el 15 de Abr. de 2021
the order of the input arguments to dydt=solver() should be (t,y) not (y,t)
William Rose
el 15 de Abr. de 2021
Editada: William Rose
el 15 de Abr. de 2021
@John Masters The code works when you fix the (t,y) ordering. By the way, you can specify just the start and end time in [tspan]. YOu don;t have to tell it the time step . That results in a more efficient execution because in that case, ode45() adapts the step size as it goes, as need to achieve a certain level of accuracy. See attached image. When I used you code as is, there were 313 evenly space time steps. When I only specified the start and end
tspan = [0,3.12];
there were 105 unevenly spaced times, with a concentration around the "glitch" (staging, perhaps?). See figure below. Code attached.

Categorías
Más información sobre Ordinary Differential Equations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!