Difference between revisions of "Rational functions"

From JSXGraph Wiki
Jump to navigationJump to search
Line 56: Line 56:
  
 
<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, axis:true});
        // Axes
+
var p = [];
        b1axisx = board.createElement('axis', [[0,0], [1,0]], {});
+
var q = [];
        b1axisy = board.createElement('axis', [[0,0], [0,1]], {});
+
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('functiongraph', [f,-10, 10]);
  
        var p = [];
+
function addPoint1() {
        var q = [];
+
  p.push(board.createElement('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
        p[0] = board.createElement('point', [-1,2], {style:6});
+
  board.update();
        p[1] = board.createElement('point', [3,-1], {style:6});
+
}
        var f = board.lagrangePolynomial(p);
 
        graph = board.createElement('functiongraph', [f,-10, 10]);
 
  
        function addPoint1() {
+
board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});
          p.push(board.createElement('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
+
q[0] = board2.createElement('point', [-1,2], {style:6});
          board.update();
+
q[1] = board2.createElement('point', [3,-1], {style:6});
        }
+
var f2 = board2.lagrangePolynomial(q);
 +
graph2 = board2.createElement('functiongraph', [f2, -10, 10]);
  
        board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25});
+
function addPoint2() {
        // Axes
+
  q.push(board2.createElement('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
        b1axisx2 = board2.createElement('axis', [[0,0], [1,0]], {});
+
  board2.update();
        b1axisy2 = board2.createElement('axis', [[0,0], [0,1]], {});
+
}
  
        q[0] = board2.createElement('point', [-1,2], {style:6});
+
board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25, axis:true});
        q[1] = board2.createElement('point', [3,-1], {style:6});
+
graph3 = board3.createElement('functiongraph', [function(x){return f(x)/f2(x);}, -10, 10], {strokeColor:'#ff0000'});
        var f2 = board2.lagrangePolynomial(q);
 
        graph2 = board2.createElement('functiongraph', [f2, -10, 10]);
 
  
        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});
 
        // Axes
 
        b1axisx3 = board3.createElement('axis', [[0,0], [1,0]], {});
 
        b1axisy3 = board3.createElement('axis', [[0,0], [0,1]], {});
 
        graph3 = board3.createElement('functiongraph', [function(x){return f(x)/f2(x);}, -10, 10], {strokeColor:'#ff0000'});
 
 
board.addChild(board3);
 
board.addChild(board3);
 
board2.addChild(board3);
 
board2.addChild(board3);

Revision as of 15:37, 21 August 2009

Polynomial [math]f[/math]:

Polynomial [math]g[/math]:

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

References

The underlying JavaScript source code

board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});
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('functiongraph', [f,-10, 10]);

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, axis:true});
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('functiongraph', [f2, -10, 10]);

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, axis:true});
graph3 = board3.createElement('functiongraph', [function(x){return f(x)/f2(x);}, -10, 10], {strokeColor:'#ff0000'});

board.addChild(board3);
board2.addChild(board3);