Polynomial regression II
From JSXGraph Wiki
Jump to navigationJump to searchHere 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'});