Can anyone help me solve 2nd-order ODEs using Euler's method in MATLAB?

  • Context: MATLAB 
  • Thread starter Thread starter vendtfan
  • Start date Start date
  • Tags Tags
    Ode
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 7K views
vendtfan
Messages
1
Reaction score
0
I'm trying to come up with an algorithm for solving second-order ode problems with euler's on matlab. the problem is that my MATLAB skills are very minimal! If anyone can point me in the right direction, it would be greatly appreciated!
 
Physics news on Phys.org
arildno said:
Can't you just use a system of first-order equations to solve it?

So for example, my function is:

[tex]\frac{d^2y}{dt^2}=-9y[/tex]

So converting it into two first orders would be:

[tex]\frac{dy}{dt} = z[/tex]

and

[tex]\frac{dz}{dt} = -9y[/tex]

So as I understand,

[tex]y' = \int{\frac{dz}{dt}} = -9yt[/tex]

When I plug this into Matlab (with a Euler's ODE solver and initial guess of 1), it looks good for about a quarter of a period then levels off to zero. Should I be doing something with the z equation, or do I use it as a conceptual tool to solve the one equation?

I'm sorry, this is very confusing for me, any help would be awesome.
 
No, once you have defined z to be dy/dt you have the second equation in your system.

So your system will be:

[tex]\frac{dz}{dt}=-9y[/tex]
[tex]\frac{dy}{dt}=z[/tex]

You "track" the solution (both z and y) using a matrix form of Euler's method. But since the original equation was in terms of y, you'll output only the values of y.