I have followed the tutorial on http://www.mit.edu/people/abbe/matlab/ode.html and prepared a function as follows:
function dxy = diffxy(xy) % %split xy into variables in our equations % x = xy(1); xdot = xy(2); y = xy(3); % % define the derivatives of these variables from equations % xdot = xdot; ydot = 3*x + 2*y + 5; xdoubledot = 3 - ydot + 2*xdot; % %return the derivatives in dxy in the right order % dxy = [xdot; xdoubledot; ydot] end
When I call it using
[T, XY] = ode45('diffxy',0,10,[0 1 0])
I get an error
??? Error using ==> diffxy Too many input arguments.
I also tried
XY= ode45(@diffxy,[0 10],[0;1;0])
Anybody have any idea?
Problem solved. time should be considered also as a parameter. New function definition:
function dxy = diffxy(**t**,xy)