solving a second order linear differential equation
6 views (last 30 days)
Show older comments
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
Accepted Answer
Mischa Kim
on 23 Sep 2018
Edited: Mischa Kim
on 23 Sep 2018
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
More Answers (1)
See Also
Categories
Find more on Numerical Integration and Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!