hw4 (no graphics)

Euler's method

by SunnyHsu

JavaScript

var m = 1, k = 5, c = .51;
var x = [];

init();
animate();

function deriv (x) {
	var ff = [];
   ff.push (x[1]);                  // x_dot = v;
   ff.push (-(c*x[1] + k*x[0])/m);  // v_dot = 1/m *(-cx_dot -kx)
   
   return ff;
}

function ODESolver(x, dt) {
    var n = x.length;

    // Euler's method
   // var f = deriv(x);
    for (var i = 0; i < n; i++) {
        x[i] += f[i] * dt;
    }
}

function init() {	
    // INITIIALIZE ODE
    x.push (20);
    x.push (0);    
}

function animate() {
    requestAnimationFrame(animate);
	var dt = 0.1;
    ODESolver (x,dt); 
    console.log (x[0]);
}