# Solving ODEs using matlab (ode45)

5 views (last 30 days)
Pazzo Giampalo on 19 Jul 2013
Answered: SANDEEP KUMAR R on 14 Sep 2016
Hello,
I am new to matlab. I was trying to follow an instruction from mit.edu.
I want to use ode45 to solve ODEs.
I have the following in my function page:
function dxy = diffxy (t, xy)
x = xy(1);
xdot = xy(2);
y = xy(3);
xdot = xdot;
ydot = 3*x+5;
xdoubledot = 3-ydot+2*xdot
dxy = [xdot; xdoubledot; ydot]
To get a solution, I type [T, XY] ode45 ('diffxy', 0, 10, [0 1 0]) in my command window (t from 0 to 10 and the initial value of x is 0, xdot is 1, and ydot is 0). But the following message :
??? [T, XY] ode45 ('diffxy', 0 10, [0 1 0])
|
Error: Unexpected MATLAB expression.
Thankyou!
Pazzo
Jan on 20 Jul 2013
Edited: Jan on 20 Jul 2013
What is "my function page"?
You need an additional "=" to assign the output.

Matt Kindig on 19 Jul 2013
Did you forget the assignment sign?
[T, XY] = ode45 ('diffxy', 0 10, [0 1 0])
Pazzo Giampalo on 20 Jul 2013
thank you Matt, but no, that didn't work. I guess my question is, when I have the function page written out, how do I call that function (execute it) in my command window? I tried to look up online, but still not figure it out using ode45.
Jan on 20 Jul 2013
Please explain "didn't work" with details. And we have to know, where you have written the shown code.

Pazzo on 3 Aug 2013
Jan,
I found out that I should add a bracket, [ ],along with an equal sign, =, to make it work.
thank you for your help though.
Pazzo

SANDEEP KUMAR R on 14 Sep 2016
Instead of 'diffxy' use @diffxy in ode45