octave_mechanics_singlependulum
Function: octave_mechanics_singlependulum ()
function out = octave_mechanics_singlependulum(m,l,g,x0,x1)
dt = 0.01;
%m = 1;
%l = 0.5;
%g = 9.8;
%x_k = [30/180*pi ;
% 0 ];
x_k = [x0 ;
x1];
x = [];
tim =[];
for t = 0 : dt : 10
k1 = [ x_k(2);
-g/l * sin(x_k(1)) ] * dt;
x_tmp = x_k + k1/2;
k2 = [ x_tmp(2);
-g/l * sin(x_tmp(1)) ] * dt;
x_tmp = x_k + k2/2;
k3 = [ x_tmp(2);
-g/l * sin(x_tmp(1)) ] * dt;
x_tmp = x_k + k3;
k4 = [ x_tmp(2);
-g/l * sin(x_tmp(1)) ] * dt;
x_k1 = x_k + (k1 + 2 * k2 + 2 * k3 + k4 ) /6 ;
x = [x x_k];
tim = [tim t];
x_k = x_k1;
endfor
plot(tim, x(1, :),tim, x(2, :));
out=0;
endfunction