Power Series for sine and cosine: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 22: Line 22:
var val = 0;
var val = 0;
for(var i = 0; i < Math.floor(s.X()) + 1; i++) {
for(var i = 0; i < Math.floor(s.X()) + 1; i++) {
var f = 1;
                        f = board1.factorial(2*i+1);
var n = 1;
// var f = 1;
while (n <= 2 * i + 1) { f = f * n++; }
// var n = 1;
// while (n <= 2 * i + 1) { f = f * n++; }
   val = val + Math.pow(-1, i) * Math.pow(t, 2 * i + 1) / f;
   val = val + Math.pow(-1, i) * Math.pow(t, 2 * i + 1) / f;
}
}

Revision as of 14:23, 17 September 2008

Power Series for Sine

board1 = JXG.JSXGraph.initBoard('jxgbox1', {originX: 300, originY: 150, unitX: 50, unitY: 50});
board1.suspendUpdate();
board1.createElement('axis', [[1,0], [0,0]], {});
board1.createElement('axis', [[0,1], [0,0]], {});
board1.createElement('curve', [function(t){ return t; }, function(t){ return Math.sin(t); }, "t", -10, 10],{strokeColor: "#cccccc"});
var s = board1.createElement('slider', [0.75,-2.5,5,0,10,0], {name:'S'});
board1.createElement('curve', [
  't', 
  function(t) {
    var val = 0;
    for(var i = 0; i < Math.floor(s.X()) + 1; i++) {
      var f = 1;
      var n = 1;
      while (n <= 2 * i + 1) { f = f * n++; }
      val = val + Math.pow(-1, i) * Math.pow(t, 2 * i + 1) / f;
    }
    return val;
  }, "t", -10, 10], {strokeColor: "#bb0000", curveType:'plot'});
board1.unsuspendUpdate();

Power Series for Cosine

board2 = JXG.JSXGraph.initBoard('jxgbox2', {originX: 300, originY: 150, unitX: 50, unitY: 50});
board2.suspendUpdate();
board2.createElement('axis', [[1,0], [0,0]], {});
board2.createElement('axis', [[0,1], [0,0]], {});
board2.createElement('curve', [function(t){ return t; }, function(t){ return Math.cos(t); }, "t", -10, 10],{strokeColor: "#cccccc"});
var s2 = board2.createElement('slider', [0.75,-2.5,5,0,10,0], {name:'T'});
board2.createElement('curve', [
  't', 
  function(t) {
    var val = 0;
    for(var i = 0; i < Math.floor(s2.X()) + 1; i++) {
      var f = 1;
      var n = 1;
      while (n <= 2 * i) { f = f * n++; }
      val = val + Math.pow(-1, i) * Math.pow(t, 2 * i) / f;
    }
    return val;
  }, "t", -10, 10],{strokeColor: "#009900", curveType:'plot'});						
board2.unsuspendUpdate();