Rational functions: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary  | 
				A WASSERMANN (talk | contribs) No edit summary  | 
				||
| Line 16: | Line 16: | ||
<div id="box3" class="jxgbox" style="width:600px; height:400px;"></div>  | <div id="box3" class="jxgbox" style="width:600px; height:400px;"></div>  | ||
<script language="JavaScript">  | <script language="JavaScript">  | ||
board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});  | var board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});  | ||
var p = [];  | var p = [];  | ||
var q = [];  | var q = [];  | ||
p[0] = board.  | p[0] = board.create('point', [-1,2], {style:6});  | ||
p[1] = board.  | p[1] = board.create('point', [3,-1], {style:6});  | ||
var f = board.lagrangePolynomial(p);  | var f = board.lagrangePolynomial(p);  | ||
graph = board.  | var graph = board.create('functiongraph', [f,-10, 10]);  | ||
function addPoint1() {  | function addPoint1() {  | ||
    p.push(board.  |     p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));  | ||
    board.update();  |     board.update();  | ||
}  | }  | ||
board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});  | var board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});  | ||
q[0] = board2.  | q[0] = board2.create('point', [-1,2], {style:6});  | ||
q[1] = board2.  | q[1] = board2.create('point', [3,-1], {style:6});  | ||
var f2 = board2.lagrangePolynomial(q);  | var f2 = board2.lagrangePolynomial(q);  | ||
graph2 = board2.  | var graph2 = board2.create('functiongraph', [f2, -10, 10]);  | ||
function addPoint2() {  | function addPoint2() {  | ||
    q.push(board2.  |     q.push(board2.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));  | ||
    board2.update();  |     board2.update();  | ||
}  | }  | ||
board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25, axis:true});  | var board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25, axis:true});  | ||
graph3 = board3.  | var graph3 = board3.create('functiongraph', [function(x){return f(x)/f2(x);}, -10, 10], {strokeColor:'#ff0000'});  | ||
board.addChild(board3);  | board.addChild(board3);  | ||
| Line 55: | Line 55: | ||
<source lang="javascript">  | <source lang="javascript">  | ||
board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});  | var board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});  | ||
var p = [];  | var p = [];  | ||
var q = [];  | var q = [];  | ||
p[0] = board.  | p[0] = board.create('point', [-1,2], {style:6});  | ||
p[1] = board.  | p[1] = board.create('point', [3,-1], {style:6});  | ||
var f = board.lagrangePolynomial(p);  | var f = board.lagrangePolynomial(p);  | ||
graph = board.  | var graph = board.create('functiongraph', [f,-10, 10]);  | ||
function addPoint1() {  | function addPoint1() {  | ||
    p.push(board.  |     p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));  | ||
    board.update();  |     board.update();  | ||
}  | }  | ||
board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});  | var board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});  | ||
q[0] = board2.  | q[0] = board2.create('point', [-1,2], {style:6});  | ||
q[1] = board2.  | q[1] = board2.create('point', [3,-1], {style:6});  | ||
var f2 = board2.lagrangePolynomial(q);  | var f2 = board2.lagrangePolynomial(q);  | ||
graph2 = board2.  | var graph2 = board2.create('functiongraph', [f2, -10, 10]);  | ||
function addPoint2() {  | function addPoint2() {  | ||
    q.push(board2.  |     q.push(board2.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));  | ||
    board2.update();  |     board2.update();  | ||
}  | }  | ||
board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25, axis:true});  | var board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25, axis:true});  | ||
graph3 = board3.  | var graph3 = board3.create('functiongraph', [function(x){return f(x)/f2(x);}, -10, 10], {strokeColor:'#ff0000'});  | ||
board.addChild(board3);  | board.addChild(board3);  | ||
board2.addChild(board3);  | board2.addChild(board3);  | ||
</source>  | </source>  | ||
[[Category:Examples]]  | [[Category:Examples]]  | ||
[[Category:Calculus]]  | [[Category:Calculus]]  | ||
Revision as of 07:48, 22 July 2010
Polynomial [math]\displaystyle{ f }[/math]:
Polynomial [math]\displaystyle{ g }[/math]:
Rational function [math]\displaystyle{ \frac{f}{g} }[/math]:
References
The underlying JavaScript source code
var board = JXG.JSXGraph.initBoard('box1', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});
var p = [];
var q = [];
p[0] = board.create('point', [-1,2], {style:6});
p[1] = board.create('point', [3,-1], {style:6});
var f = board.lagrangePolynomial(p);
var graph = board.create('functiongraph', [f,-10, 10]);
function addPoint1() {
   p.push(board.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
   board.update();
}
var board2 = JXG.JSXGraph.initBoard('box2', {originX: 300, originY: 100, unitX: 30, unitY: 25, axis:true});
q[0] = board2.create('point', [-1,2], {style:6});
q[1] = board2.create('point', [3,-1], {style:6});
var f2 = board2.lagrangePolynomial(q);
var graph2 = board2.create('functiongraph', [f2, -10, 10]);
function addPoint2() {
   q.push(board2.create('point',[(Math.random()-0.5)*10,(Math.random()-0.5)*3],{style:6}));
   board2.update();
}
var board3 = JXG.JSXGraph.initBoard('box3', {originX: 300, originY: 200, unitX: 30, unitY: 25, axis:true});
var graph3 = board3.create('functiongraph', [function(x){return f(x)/f2(x);}, -10, 10], {strokeColor:'#ff0000'});
board.addChild(board3);
board2.addChild(board3);