Lagrange interpolation: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) (New page: Constructs a polynomial of degree <math>n</math> through <math>n+1</math> given points. Points can be added by clicking on "Add point". <html> <link rel="stylesheet" type="text/css" href="...) |
A WASSERMANN (talk | contribs) No edit summary |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Constructs a polynomial of degree <math>n</math> through <math>n+1</math> given points. | Constructs a polynomial of degree <math>n</math> through <math>n+1</math> given points. | ||
Points can be added by clicking on "Add point". | Points can be added by clicking on "Add point". | ||
The dotted line is the graph of the first derivative, the dashed line is the graph of the second derivative. | |||
<html> | <html> | ||
<form><input type="button" value="Add point" onClick="addPoint()"></form> | <form><input type="button" value="Add point" onClick="addPoint()"></form> | ||
< | </html> | ||
<jsxgraph box="box" width="600" height="400"> | |||
var board = JXG.JSXGraph.initBoard('box', {boundingbox: [-5, 10, 7, -6], axis: true}); | |||
var p = []; | |||
p[0] = board.create('point', [-1,2], {size:4}); | |||
p[1] = board.create('point', [3,-1], {size:4}); | |||
var f = JXG.Math.Numerics.lagrangePolynomial(p); | |||
var graph = board.create('functiongraph', [f,-10, 10], {strokeWidth:3}); | |||
var d1 = board.create('functiongraph', [JXG.Math.Numerics.D(f), -10, 10], {dash:1}); | |||
var d2 = board.create('functiongraph', [JXG.Math.Numerics.D(JXG.Math.Numerics.D(f)), -10, 10], {dash:2}); | |||
function addPoint() { | |||
p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{size:4})); | |||
board.update(); | |||
} | |||
</jsxgraph> | |||
=== References === | === References === | ||
* [http://en.wikipedia.org/wiki/Lagrange_polynomial http://en.wikipedia.org/wiki/Lagrange_polynomial] | * [http://en.wikipedia.org/wiki/Lagrange_polynomial http://en.wikipedia.org/wiki/Lagrange_polynomial] | ||
=== The underlying JavaScript code === | === The underlying JavaScript code === | ||
<source lang="javascript"> | <source lang="javascript"> | ||
var board = JXG.JSXGraph.initBoard('box', {boundingbox: [-5, 10, 7, -6], axis: true}); | |||
var p = []; | |||
p[0] = board.create('point', [-1,2], {size:4}); | |||
p[1] = board.create('point', [3,-1], {size:4}); | |||
var f = JXG.Math.Numerics.lagrangePolynomial(p); | |||
var graph = board.create('functiongraph', [f,-10, 10], {strokeWidth:3}); | |||
var d1 = board.create('functiongraph', [JXG.Math.Numerics.D(f), -10, 10], {dash:1}); | |||
var d2 = board.create('functiongraph', [JXG.Math.Numerics.D(JXG.Math.Numerics.D(f)), -10, 10], {dash:2}); | |||
function addPoint() { | |||
p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{size:4})); | |||
board.update(); | |||
} | |||
</source> | </source> | ||
Line 94: | Line 46: | ||
[[Category:Examples]] | [[Category:Examples]] | ||
[[Category:Calculus]] | [[Category:Calculus]] | ||
[[Category:Interpolation]] |
Latest revision as of 15:20, 20 February 2013
Constructs a polynomial of degree [math]\displaystyle{ n }[/math] through [math]\displaystyle{ n+1 }[/math] given points. Points can be added by clicking on "Add point". The dotted line is the graph of the first derivative, the dashed line is the graph of the second derivative.
References
The underlying JavaScript code
var board = JXG.JSXGraph.initBoard('box', {boundingbox: [-5, 10, 7, -6], axis: true});
var p = [];
p[0] = board.create('point', [-1,2], {size:4});
p[1] = board.create('point', [3,-1], {size:4});
var f = JXG.Math.Numerics.lagrangePolynomial(p);
var graph = board.create('functiongraph', [f,-10, 10], {strokeWidth:3});
var d1 = board.create('functiongraph', [JXG.Math.Numerics.D(f), -10, 10], {dash:1});
var d2 = board.create('functiongraph', [JXG.Math.Numerics.D(JXG.Math.Numerics.D(f)), -10, 10], {dash:2});
function addPoint() {
p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{size:4}));
board.update();
}