solving a second order linear differential equation
    13 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!
