Lagrange interpolation: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
Line 10: Line 10:
         board = JXG.JSXGraph.initBoard('box', {originX: 250, originY: 250, unitX: 50, unitY: 25});
         board = JXG.JSXGraph.initBoard('box', {originX: 250, originY: 250, unitX: 50, unitY: 25});
         // Axes
         // Axes
         b1axisx = board.createElement('axis', [[0,0], [1,0]], {});
         b1axisx = board.create('axis', [[0,0], [1,0]], {});
         b1axisy = board.createElement('axis', [[0,0], [0,1]], {});
         b1axisy = board.create('axis', [[0,0], [0,1]], {});


         var p = [];
         var p = [];
         p[0] = board.createElement('point', [-1,2], {style:6});
         p[0] = board.create('point', [-1,2], {style:6});
         p[1] = board.createElement('point', [3,-1], {style:6});
         p[1] = board.create('point', [3,-1], {style:6});
         var f = board.lagrangePolynomial(p);
         var f = board.lagrangePolynomial(p);
         graph = board.createElement('functiongraph', [f,-10, 10], {strokeWidth:3});
         graph = board.create('functiongraph', [f,-10, 10], {strokeWidth:3});
         d1 = board.createElement('functiongraph', [board.D(f), -10, 10], {dash:1});
         d1 = board.create('functiongraph', [board.D(f), -10, 10], {dash:1});
         d2 = board.createElement('functiongraph', [board.D(board.D(f)), -10, 10], {dash:2});
         d2 = board.create('functiongraph', [board.D(board.D(f)), -10, 10], {dash:2});


         function addPoint() {
         function addPoint() {
           p.push(board.createElement('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
           p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
           board.update();
           board.update();
         }
         }
Line 41: Line 41:
         board = JXG.JSXGraph.initBoard('box', {originX: 250, originY: 250, unitX: 50, unitY: 25});
         board = JXG.JSXGraph.initBoard('box', {originX: 250, originY: 250, unitX: 50, unitY: 25});
         // Axes
         // Axes
         b1axisx = board.createElement('axis', [[0,0], [1,0]], {});
         b1axisx = board.create('axis', [[0,0], [1,0]], {});
         b1axisy = board.createElement('axis', [[0,0], [0,1]], {});
         b1axisy = board.create'axis', [[0,0], [0,1]], {});


         var p = [];
         var p = [];
         p[0] = board.createElement('point', [-1,2], {style:6});
         p[0] = board.create('point', [-1,2], {style:6});
         p[1] = board.createElement('point', [3,-1], {style:6});
         p[1] = board.create('point', [3,-1], {style:6});
          
          
         var f = board.lagrangePolynomial(p);
         var f = board.lagrangePolynomial(p);
         graph = board.createElement('functiongraph',  [f, -10, 10], {strokeWidth:3});
         graph = board.create('functiongraph',  [f, -10, 10], {strokeWidth:3});
         d1 = board.createElement('functiongraph', [board.D(f), -10, 10], {dash:1});
         d1 = board.create('functiongraph', [board.D(f), -10, 10], {dash:1});
         d2 = board.createElement('functiongraph', [board.D(board.D(f)), -10, 10], {dash:2});
         d2 = board.create('functiongraph', [board.D(board.D(f)), -10, 10], {dash:2});


         function addPoint() {
         function addPoint() {
           p.push(board.createElement('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
           p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
           board.update();
           board.update();
         }
         }
Line 63: Line 63:
[[Category:Examples]]
[[Category:Examples]]
[[Category:Calculus]]
[[Category:Calculus]]
[[Category:Interpolation]]

Revision as of 11:20, 29 July 2010

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

<link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" />
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js"></script>
<div id="box" class="jxgbox" style="width:600px; height:400px;"></div>
        board = JXG.JSXGraph.initBoard('box', {originX: 250, originY: 250, unitX: 50, unitY: 25});
        // Axes
        b1axisx = board.create('axis', [[0,0], [1,0]], {});
        b1axisy = board.create'axis', [[0,0], [0,1]], {});

        var p = [];
        p[0] = board.create('point', [-1,2], {style:6});
        p[1] = board.create('point', [3,-1], {style:6});
        
        var f = board.lagrangePolynomial(p);
        graph = board.create('functiongraph',  [f, -10, 10], {strokeWidth:3});
        d1 = board.create('functiongraph', [board.D(f), -10, 10], {dash:1});
        d2 = board.create('functiongraph', [board.D(board.D(f)), -10, 10], {dash:2});

        function addPoint() {
          p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
          board.update();
        }