MATLAB Answers


Euler's method for second ODE

Asked by reem
on 2 Dec 2012

The equation given is: y′′+2y=0 y(0) = 5 y′(0) = 0

And I know how to solve it with standard methods but I need to solve it in Matlab with Euler's method.

How would I split this second order into 2 first order equations that I could plug into this code? I think it becomes v=y' and then v'=-2y... but I do not know how to plug this with v and y.

Here is example code with y'=-y (NOT second order)

% Numerical code for Euler integration of y'=-y; y(0)=1;

Tstart=0; %start Time Tstop=10; %Stop Time N=20; %Number of Time steps h=(Tstop-Tstart)/N; %Time step length

Time=[Tstart:h:Tstop]; %Time vector

y=zeros(1,length(Time)); %Solution vector


for i=2:length(Time)

y(i)=y(i-1)+h*(-y(i-1)); %Euler iteration



y_analytic=exp(-Time); %analytic solution





No products are associated with this question.

1 Answer

Answer by bym
on 2 Dec 2012

you are very close, try defining v as

v = zeros(length(t),2);
v (1,:)= [5,0]; % initial conditions

then write your y (from your example) in terms of [v, v']


Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!