Polynomial regression II

From JSXGraph Wiki
Revision as of 11:48, 8 June 2011 by Michael (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox:[-2, 100, 220, -70], grid: false, axis:true});
brd.suspendUpdate();
deg = brd.create('slider',[[10,90],[100,90],[1,1,10]],{name:'degree',snapWidth:1});     
s = brd.create('slider',[[10,70],[100,70],[0,1,3]],{name:'scale'});     
pointlist = [];
for (i=0; i<30;i++) {
    pointlist.push(brd.create('point', [function() { return 200*Math.random(); }, function() { return s.Value()*30*Math.random()+20;}], { style:4, strokecolor:"#0000a0", name:" "})); 
}
brd.unsuspendUpdate();

regression = JXG.Math.Numerics.regressionPolynomial(deg,pointlist); 
reg = brd.create('functiongraph',[regression],{strokeColor:'green'});     
t = brd.create('text',[20,-40,
            function(){ return "r(x) = " + regression.getTerm();}
            ],
            {strokeColor:'black',fontSize:'14px'});