Polynomial regression II: Difference between revisions
From JSXGraph Wiki
A WASSERMANN (talk | contribs) No edit summary |
A WASSERMANN (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
Here are 30 randomly distributed points. The range of these points can be adjusted by the slider 'scale'. | |||
Through these points a regression polynomial is computed. The degree of this polynomial can be adjusted by the slider 'degree'. | |||
<jsxgraph width="700" height="500"> | |||
brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox:[-2, 100, 220, -70], grid: false, axis:true}); | |||
brd.suspendUpdate(); | |||
deg = brd.createElement('slider',[[10,90],[100,90],[1,1,10]],{name:'degree',snapWidth:1}); | |||
s = brd.createElement('slider',[[10,70],[100,70],[0,1,3]],{name:'scale'}); | |||
pointlist = []; | |||
for (i=0; i<30;i++) { | |||
pointlist.push(brd.createElement('point', [function() { return 200*Math.random(); }, function() { return s.Value()*30*Math.random()+20;}], { style:4, strokecolor:"#0000a0", name:" "})); | |||
} | |||
regression = JXG.Math.Numerics.regressionPolynomial(deg,pointlist); | |||
reg = brd.createElement('functiongraph',[regression],{strokeColor:'green'}); | |||
t = brd.createElement('text',[20,-40, | |||
function(){ return "r(x) = " + regression.getTerm();} | |||
], | |||
{strokeColor:'black',fontSize:'14px'}); | |||
brd.unsuspendUpdate(); | |||
</jsxgraph> | |||
===The underlying JavaScript code=== | |||
<source lang="xml"> | |||
<jsxgraph width="700" height="500"> | <jsxgraph width="700" height="500"> | ||
brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox:[-2, 100, 220, -70], grid: false, axis:true}); | brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox:[-2, 100, 220, -70], grid: false, axis:true}); | ||
Line 18: | Line 43: | ||
brd.unsuspendUpdate(); | brd.unsuspendUpdate(); | ||
</jsxgraph> | </jsxgraph> | ||
</source> | |||
[[Category:Examples]] |
Revision as of 15:20, 19 August 2009
Here are 30 randomly distributed points. The range of these points can be adjusted by the slider 'scale'. Through these points a regression polynomial is computed. The degree of this polynomial can be adjusted by the slider 'degree'.
The underlying JavaScript code
<jsxgraph width="700" height="500">
brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox:[-2, 100, 220, -70], grid: false, axis:true});
brd.suspendUpdate();
deg = brd.createElement('slider',[[10,90],[100,90],[1,1,10]],{name:'degree',snapWidth:1});
s = brd.createElement('slider',[[10,70],[100,70],[0,1,3]],{name:'scale'});
pointlist = [];
for (i=0; i<30;i++) {
pointlist.push(brd.createElement('point', [function() { return 200*Math.random(); }, function() { return s.Value()*30*Math.random()+20;}], { style:4, strokecolor:"#0000a0", name:" "}));
}
regression = JXG.Math.Numerics.regressionPolynomial(deg,pointlist);
reg = brd.createElement('functiongraph',[regression],{strokeColor:'green'});
t = brd.createElement('text',[20,-40,
function(){ return "r(x) = " + regression.getTerm();}
],
{strokeColor:'black',fontSize:'14px'});
brd.unsuspendUpdate();
</jsxgraph>