//
// pendulum.sci
//
// Scilab vector field functions for: pendulum
//
// This file was generated by the program VFGEN (Version:2.1.0)
// Generated on  3-Jun-2007 at 12:24
//

//
// pendulum_vf
//
// The vector field 
//
function vf_ = pendulum_vf(t,x_,p_)
    Pi = %pi;
    theta      = x_(1);
    v          = x_(2);
    g          = p_(1);
    b          = p_(2);
    L          = p_(3);
    m          = p_(4);
    vf_ = zeros(2,1);
    vf_(1) = v;
    vf_(2) = -L^(-2)*b*v*m^(-1)-L^(-1)*g*sin(theta);
endfunction

//
// pendulum_jac
//
// The Jacobian of the vector field
//
function jac_ = pendulum_jac(t,x_,p_)
    Pi = %pi;
    theta      = x_(1);
    v          = x_(2);
    g          = p_(1);
    b          = p_(2);
    L          = p_(3);
    m          = p_(4);
    jac_ = zeros(2,2);
    jac_(1,2) = 1;
    jac_(2,1) = -L^(-1)*cos(theta)*g;
    jac_(2,2) = -L^(-2)*b*m^(-1);
endfunction

//
// pendulum_energy
//
// This function implements the user-defined function "energy"
//
function r_ = pendulum_energy(t,x_,p_)
    Pi = %pi;
    theta      = x_(1);
    v          = x_(2);
    g          = p_(1);
    b          = p_(2);
    L          = p_(3);
    m          = p_(4);
    r_ = -L*cos(theta)*g*m+1/2*L^2*v^2*m;
endfunction
