Rational functions: Difference between revisions

From JSXGraph Wiki
No edit summary
Line 65: Line 65:
<source lang="javascript">
<source lang="javascript">
         board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25});
         board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25});
         // Axes
         board.createElement('axis', [[0,0], [1,0]]);
        b1axisx = board.createElement('axis', [[0,0], [1,0]], {});
         board.createElement('axis', [[0,0], [0,1]]);
         b1axisy = board.createElement('axis', [[0,0], [0,1]], {});


         var p = [];
         var p = [];
Line 82: Line 81:


         board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25});
         board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25});
         // Axes
         board2.createElement('axis', [[0,0], [1,0]]);
        b1axisx2 = board2.createElement('axis', [[0,0], [1,0]], {});
         board2.createElement('axis', [[0,0], [0,1]]);
         b1axisy2 = board2.createElement('axis', [[0,0], [0,1]], {});


         q[0] = board2.createElement('point', [-1,2], {style:6});
         q[0] = board2.createElement('point', [-1,2], {style:6});
Line 97: Line 95:


         board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25});
         board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25});
         // Axes
         board3.createElement('axis', [[0,0], [1,0]]);
        b1axisx3 = board3.createElement('axis', [[0,0], [1,0]], {});
         board3.createElement('axis', [[0,0], [0,1]]);
         b1axisy3 = board3.createElement('axis', [[0,0], [0,1]], {});
         board3.createElement('curve', ['x', function(x){return f(x)/f2(x);}, 'x', -10, 10], {curveType:'graph',strokeColor:'#ff0000'});
         graph3 = board3.createElement('curve', ['x', function(x){return f(x)/f2(x);}, 'x', -10, 10], {curveType:'graph',strokeColor:'#ff0000'});
</source>
</source>


[[Category:Examples]]
[[Category:Examples]]
[[Category:Calculus]]
[[Category:Calculus]]

Revision as of 17:24, 5 February 2009

Polynomial [math]\displaystyle{ f }[/math]:

Polynomial [math]\displaystyle{ g }[/math]:

Rational function [math]\displaystyle{ \frac{f}{g} }[/math]:

References

The underlying JavaScript source code

        board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25});
        board.createElement('axis', [[0,0], [1,0]]);
        board.createElement('axis', [[0,0], [0,1]]);

        var p = [];
        var q = [];
        p[0] = board.createElement('point', [-1,2], {style:6});
        p[1] = board.createElement('point', [3,-1], {style:6});
        var f = board.lagrangePolynomial(p);
        graph = board.createElement('curve', ['x', f, 'x', -10, 10], {curveType:'graph'});

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

        board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25});
        board2.createElement('axis', [[0,0], [1,0]]);
        board2.createElement('axis', [[0,0], [0,1]]);

        q[0] = board2.createElement('point', [-1,2], {style:6});
        q[1] = board2.createElement('point', [3,-1], {style:6});
        var f2 = board2.lagrangePolynomial(q);
        graph2 = board2.createElement('curve', ['x', f2, 'x', -10, 10], {curveType:'graph'});

        function addPoint2() {
          q.push(board2.createElement('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
          board2.update();
        }

        board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25});
        board3.createElement('axis', [[0,0], [1,0]]);
        board3.createElement('axis', [[0,0], [0,1]]);
        board3.createElement('curve', ['x', function(x){return f(x)/f2(x);}, 'x', -10, 10], {curveType:'graph',strokeColor:'#ff0000'});