Solving 2nd order differential equation using ode45

3 views (last 30 days)
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 Comment
Torsten
Torsten on 7 Jan 2019
You can't prescribe x''(0) for a second-order ODE. Only x(0) and x'(0) are allowed.

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!