Matlab ode45 Problem

  • Thread starter eurekameh
  • Start date
  • #1
210
0
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?
 

Answers and Replies

  • #2
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,796
1,667
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.
 
  • #3
210
0
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]);
 
  • #4
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,796
1,667
I don't have the ODE you are trying to solve, only your reformulation for Matlab.
 
  • #5
210
0
I'm trying to solve the orbit motion of equation x,doubledot = (-mu/x^3)*x, with an initial condition of x0 = 1000, and xdot,0 = -7.
 
  • #6
210
0
Do you know why it's not converging?
 

Related Threads on Matlab ode45 Problem

  • Last Post
Replies
2
Views
3K
  • Last Post
Replies
1
Views
8K
  • Last Post
Replies
2
Views
2K
Replies
1
Views
2K
  • Last Post
Replies
3
Views
2K
Replies
1
Views
887
Replies
0
Views
3K
  • Last Post
Replies
5
Views
539
  • Last Post
Replies
3
Views
4K
  • Last Post
Replies
0
Views
1K
Top