Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

Solving ODEs using matlab (ode45)

Asked by Pazzo Giampalo

Pazzo Giampalo (view profile)

on 19 Jul 2013

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.

I wonder if anyone could please help.

Thankyou!

Pazzo

1 Comment

Jan Simon

Jan Simon (view profile)

on 20 Jul 2013

What is "my function page"?

I've formatted your code. Please read the "? Help" link to find out, how to do this by your own. Thanks.

You need an additional "=" to assign the output.

Pazzo Giampalo

Pazzo Giampalo (view profile)

Tags

Products

No products are associated with this question.

2 Answers

Answer by Matt Kindig

Matt Kindig (view profile)

on 19 Jul 2013

Did you forget the assignment sign?

[T, XY] = ode45 ('diffxy', 0 10, [0 1 0])

2 Comments

Pazzo Giampalo

Pazzo Giampalo (view profile)

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 Simon

Jan Simon (view profile)

on 20 Jul 2013

Please explain "didn't work" with details. And we have to know, where you have written the shown code.

Matt Kindig

Matt Kindig (view profile)

Answer by Pazzo

Pazzo (view profile)

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

0 Comments

Pazzo

Pazzo (view profile)

Contact us