Difference between revisions of "Convergence of sequence"

From JSXGraph Wiki
Jump to navigationJump to search
Line 3: Line 3:
 
<html>
 
<html>
 
<p>
 
<p>
nth-element of the sequence: <input type="text" id="input" value="1 / n"><br />
+
nth-element of the sequence: <input type="text" id="input" value="1 / n">
start at <input type="number" id="startval" value="1" style="width:2em">
+
start at <input type="number" id="startval" value="1" style="width:2em"><br />
 
<input type="button" value="start" onClick="start_approx()">
 
<input type="button" value="start" onClick="start_approx()">
 
<input type="button" value="stop" onClick="clear_all()">
 
<input type="button" value="stop" onClick="clear_all()">
Line 10: Line 10:
 
<jsxgraph width="500" height="500" box="box">
 
<jsxgraph width="500" height="500" box="box">
 
  var board = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-3, 8, 50, -8]});
 
  var board = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-3, 8, 50, -8]});
  var seq = board.create('curve', [[0], [1]], {strokeColor: 'blue'});
+
  var seq = board.create('curve', [[], []], {strokeColor: 'blue'});
   
+
  var n;
 +
 
 
  var seq_add = function() {
 
  var seq_add = function() {
     var n = seq.dataX.length,
+
     var val = a_n(n);
        val = a_n(n);
 
 
     seq.dataX.push(n);
 
     seq.dataX.push(n);
 
     seq.dataY.push(val);
 
     seq.dataY.push(val);
 +
    n++;
 
  };
 
  };
  
Line 26: Line 27:
 
     seq_add();
 
     seq_add();
 
     board.update();
 
     board.update();
     if (seq.dataX.length <= 50) {
+
     if (n <= 50) {
 
         TO = setTimeout(approx, 500);
 
         TO = setTimeout(approx, 500);
 
     }
 
     }
Line 35: Line 36:
 
   var txtraw = document.getElementById('input').value;
 
   var txtraw = document.getElementById('input').value;
 
   a_n = board.jc.snippet(txtraw, true, 'n', true);
 
   a_n = board.jc.snippet(txtraw, true, 'n', true);
 +
  n = document.getElementById('startval').value;
 
   approx();
 
   approx();
 
}
 
}
Line 40: Line 42:
 
var clear_all = function() {
 
var clear_all = function() {
 
   clearTimeout(TO);
 
   clearTimeout(TO);
   seq.dataX = [0];
+
   seq.dataX = [];
   seq.dataY = [1];
+
   seq.dataY = [];
 +
  n = 0;
 
};
 
};
  
Line 49: Line 52:
 
<source lang="javascript">
 
<source lang="javascript">
 
  var board = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-3, 8, 50, -8]});
 
  var board = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-3, 8, 50, -8]});
  var seq = board.create('curve', [[0], [1]], {strokeColor: 'blue'});
+
  var seq = board.create('curve', [[], []], {strokeColor: 'blue'});
 
   
 
   
 
  var seq_add = function() {
 
  var seq_add = function() {

Revision as of 19:46, 7 January 2019

Compute values of the sequence [math] (a_n)_{n\in{\mathbb N}}[/math].

nth-element of the sequence: start at

The underlying JavaScript code

 var board = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-3, 8, 50, -8]});
 var seq = board.create('curve', [[], []], {strokeColor: 'blue'});
 
 var seq_add = function() {
    var n = seq.dataX.length,
        val = a_n(n);
    seq.dataX.push(n);
    seq.dataY.push(val);
 };

var txt1 = board.create('text', [15, 1.6, function() { return 'n=' + (seq.dataX.length-1) + ': value = ' + seq.dataY[seq.dataY.length - 1]; }], {strokeColor: 'blue'});

var TO;

var approx = function() {
     seq_add();
     board.update();
     if (seq.dataX.length <= 50) {
         TO = setTimeout(approx, 500);
     }
};

var a_n;
var start_approx = function() {
  var txtraw = document.getElementById('input').value;
  a_n = board.jc.snippet(txtraw, true, 'n', true);
  approx();
}

var clear_all = function() {
  clearTimeout(TO);
  seq.dataX = [0];
  seq.dataY = [1];
};