# Solving ODEs using matlab (ode45)

23 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
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])
##### 2 CommentsShowHide 1 older comment
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