# Matlab ode45 Problem

I'm trying to solve an ODE using matlab's ode45, but I'm receiving the following error:

Warning: Failure at t=4.509803e+01. Unable to meet integration tolerances without reducing the step size below the smallest value allowed (1.136868e-13) at time t.

Can anybody explain what this means?

Related Engineering and Comp Sci Homework Help News on Phys.org
SteamKing
Staff Emeritus
Homework Helper
Sounds like ode45 is having trouble converging on a solution.

In order to diagnose the problem in more detail, you should probably post the ODE you are trying to solve.

function dxdt = test(t,x)
mu = 398600.64;
dxdt_1 = x(2);
dxdt_2 = (-mu/x(1)^3)*x(1);
dxdt = [dxdt_1;dxdt_2];

It's a second-order ODE and I'm trying to solve it from the time interval of 0 to 28800. When I lower this time interval to something like 50, the program seems to work fine, but anything higher than that, it stops to converge. Here is my code to run it:

t = 0:28800
[t x] = ode45(@test,t,[1000;-7]);

SteamKing
Staff Emeritus