MATLAB Answers

## solving a second order linear differential equation

Asked by Eliraz Nahum

### Eliraz Nahum (view profile)

on 23 Sep 2018
Latest activity Answered by Eliraz Nahum

### Eliraz Nahum (view profile)

on 23 Sep 2018
Accepted Answer by Mischa Kim

### Mischa Kim (view profile)

hello everybody, I was trying to solve a simple pendulum second order linear differential equation of the form y''=-(g/l)*sin(y) while using the ode45 function. since it's a second order equation I understood that I have to manipulate the problem, so it will fit the ode45.
The mathematical manipulation I did is described in the attached picture. I can't understand why my code fails...please help
g=9.8;
l=0.5;
t_span=[0 30];
teta0=deg2rad(60);
F=@(t,q) [q(2);-(g/l)*sin(q(2))];
[t,q]=ode45(@(t,q) F(t,q),t_span,teta0)

#### 0 Comments

Sign in to comment.

R2018a

## 2 Answers

Answer by Mischa Kim

### Mischa Kim (view profile)

on 23 Sep 2018
Edited by Mischa Kim

### Mischa Kim (view profile)

on 23 Sep 2018
Accepted Answer

Almost there:
g = 9.8;
l = 0.5;
t_span = [0 30];
teta0 = deg2rad(60);
tetad0 = 0;
F = @(t,q) [q(2);-(g/l)*sin(q(1))]; % check your derivation
[t,q_t] = ode45(@(t,q) F(t,q),t_span,[teta0; tetad0])
This is a second order DE so you need two initial conditions, one for teta and one for tetad.

#### 0 Comments

Sign in to comment.

Answer by Eliraz Nahum

### Eliraz Nahum (view profile)

on 23 Sep 2018

thank you very much... sometimes it's not about the code, but the mathematics :-)

#### 0 Comments

Sign in to comment.