Second Order Non linear ode matlab

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
2 replies · 2K views
SteliosVas
Messages
70
Reaction score
0

Homework Statement



Okay the problem is of a free swinging pendulum with dampening which is modeled using the following equation:

Damping coefficient: c=1 s−1
Mass: m=1 kg
Gravity: g=9.81 ms−1
Link length: l=0.5 m

We know
θ(0)=90° and θ′(0)=0, solve this equation from t = 0 to t = 10 with a time interval of 0.01s The equation is:

d2θ/dt2+(c/m)*(dθ/dt)+(g/l)*sin (θ)=0

So we need to use Euler,Heun and 4th order Runge-Kutta method

Homework Equations

The Attempt at a Solution



Okay so my idea was to create a function as so:

function xdot=pendemo(t,x)
% PENDEMO Pendulum ODE derivative evaluation

xdot(1,1) = x(2,1);

xdot(2,1) = -1/(1*1)*x(2,1) - 9.81/1*sin(x(1,1));

% End of pendemo.m

and than an m.file giving the above information:

xphi = [pi/2;0];

tphi = 0; 5 %start time

tfin = 10; %end time

[t,x] = ode45('pendemo',[tphi tfin],xphi);

plot(t,x(:,1))

The only thing is how do I implement a euler/heun method? What is a 4th order Runga Kata??

thanks
 
Physics news on Phys.org
Did you try to google something ? I found several MATLAB RK4 integrator codes in no time at all !