Solving 2nd order differential equation using ode45

2 vues (au cours des 30 derniers jours)
Brendan Görres
Brendan Görres le 5 Jan 2019
Commenté : Torsten le 7 Jan 2019
I am trying to solve this equation
x=0.5*x''*t^2;
Initial guess
x(0)=0;%starting point
x''(0)=0;%starting acceleration
So the place my vehicle is, depends on the acceleration an the time. I want to solve this equation with ode45 so that I get the place and acc during all given times.
This is my code:
[t,x]=ode45(@fun,[0 30],[0 0])
function dX=fun(t,X)
dX(1)=X(2);
dX(2)=2*X(1)/t^2;
dX=[dX(1);dX(2)];
end
Problem is that Matlab returns only returns NaN values. Could someone please explain why?
Thanks
  1 commentaire
Torsten
Torsten le 7 Jan 2019
You can't prescribe x''(0) for a second-order ODE. Only x(0) and x'(0) are allowed.

Connectez-vous pour commenter.

Réponse acceptée

madhan ravi
madhan ravi le 5 Jan 2019
Reason: Because there is division by 0 therefore nans are encountered.
[t,x]=ode45(@fun,[0.00001 30],[0.00001 0.00001])
function dX=fun(t,X)
dX(1)=X(2);
dX(2)=2*X(1)/t^2;
dX=[dX(1);dX(2)];
end

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by