Convergence of series: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
Line 4: | Line 4: | ||
<p> | <p> | ||
nth-element of the series: <input type="text" id="input" value="1 / 2^n"> | nth-element of the series: <input type="text" id="input" value="1 / 2^n"> | ||
start summation at n = <input type="number" id="startval" value=" | start summation at n = <input type="number" id="startval" value="0" 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 62: | Line 62: | ||
series.dataX.push(n); | series.dataX.push(n); | ||
series.dataY.push(val); | series.dataY.push(val); | ||
}; | |||
var txt2 = board.create('text', [15, 1.8, function() { return 'n=' + (series.dataX.length-1) + ': value = ' + series.dataY[series.dataY.length - 1]; }], {strokeColor: 'black'}); | |||
var TO; | |||
var approx = function() { | |||
series_add(); | |||
board.update(); | |||
if (series.dataX.length <= 50) { | |||
TO = setTimeout(approx, 500); | |||
} | |||
}; | |||
var a_n; | |||
var start_approx = function() { | |||
var txtraw = docum var board = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-3, 8, 50, -8]}); | |||
var series = board.create('curve', [[], []], {strokeColor: 'black'}); | |||
var n; | |||
var series_add = function() { | |||
var val = a_n(n); | |||
if (series.dataY.length > 0) { | |||
val += series.dataY[series.dataY.length - 1]; | |||
} | |||
series.dataX.push(n); | |||
series.dataY.push(val); | |||
n++; | |||
}; | }; | ||
Line 79: | Line 107: | ||
var start_approx = function() { | var start_approx = function() { | ||
var txtraw = document.getElementById('input').value; | var txtraw = document.getElementById('input').value; | ||
a_n = board.jc.snippet(txtraw, true, 'n', true); | |||
n = parseInt(document.getElementById('startval').value); | |||
approx(); | |||
} | |||
var clear_all = function() { | |||
clearTimeout(TO); | |||
series.dataX = []; | |||
series.dataY = []; | |||
n = 0; | |||
}; | |||
ent.getElementById('input').value; | |||
a_n = board.jc.snippet(txtraw, true, 'n', true); | a_n = board.jc.snippet(txtraw, true, 'n', true); | ||
approx(); | approx(); |
Revision as of 17:56, 7 January 2019
Compute partial sums of the series [math]\displaystyle{ \sum_{n=0}^\infty a_n }[/math].
nth-element of the series:
start summation at n =
The underlying JavaScript code
var board = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-3, 8, 50, -8]});
var series = board.create('curve', [[0], [1]], {strokeColor: 'black'});
var series_add = function() {
var n = series.dataX.length,
val = series.dataY[n - 1] + a_n(n);
series.dataX.push(n);
series.dataY.push(val);
};
var txt2 = board.create('text', [15, 1.8, function() { return 'n=' + (series.dataX.length-1) + ': value = ' + series.dataY[series.dataY.length - 1]; }], {strokeColor: 'black'});
var TO;
var approx = function() {
series_add();
board.update();
if (series.dataX.length <= 50) {
TO = setTimeout(approx, 500);
}
};
var a_n;
var start_approx = function() {
var txtraw = docum var board = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-3, 8, 50, -8]});
var series = board.create('curve', [[], []], {strokeColor: 'black'});
var n;
var series_add = function() {
var val = a_n(n);
if (series.dataY.length > 0) {
val += series.dataY[series.dataY.length - 1];
}
series.dataX.push(n);
series.dataY.push(val);
n++;
};
var txt2 = board.create('text', [15, 1.8, function() { return 'n=' + (series.dataX.length-1) + ': value = ' + series.dataY[series.dataY.length - 1]; }], {strokeColor: 'black'});
var TO;
var approx = function() {
series_add();
board.update();
if (series.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);
n = parseInt(document.getElementById('startval').value);
approx();
}
var clear_all = function() {
clearTimeout(TO);
series.dataX = [];
series.dataY = [];
n = 0;
};
ent.getElementById('input').value;
a_n = board.jc.snippet(txtraw, true, 'n', true);
approx();
}
var clear_all = function() {
clearTimeout(TO);
series.dataX = [0];
series.dataY = [1];
};