Difference between revisions of "Riemann sums"

From JSXGraph Wiki
Jump to: navigation, search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<html>
 
<html>
<script type="text/javascript" src="http://korpelainen.net/js/AM1.js"></script>  
+
<!--<script type="text/javascript" src="http://korpelainen.net/js/AM1.js"></script>-->
 
</html>
 
</html>
 
<html>
 
<html>
Line 7: Line 7:
 
<option value='right'> right
 
<option value='right'> right
 
<option value='middle'> middle
 
<option value='middle'> middle
<option value='trapezodial'> trapezodial
+
<option value='trapezoidal'> trapezoidal
 +
<option value='simpson'> simpson
 
<option value='lower'> lower
 
<option value='lower'> lower
 
<option value='upper'> upper
 
<option value='upper'> upper
 
</select></form>
 
</select></form>
 
</html>
 
</html>
 +
 
<jsxgraph width="800" height="400" box="box">
 
<jsxgraph width="800" height="400" box="box">
 
+
var brd = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-8, 4, 8, -4]});
JXG.Options.text.useASCIIMathML = true;
+
var s = brd.create('slider',[[1,3],[5,3],[1,10,50]],{name:'n',snapWidth:1});
 
+
var a = brd.create('slider',[[1,2],[5,2],[-10,-3,0]],{name:'start'});
var brd = JXG.JSXGraph.initBoard('box', {axis:true, originX: 400, originY: 200, grid:true, unitX: 50, unitY: 50});
+
var b = brd.create('slider',[[1,1],[5,1],[0,Math.PI,10]],{name:'end'});
var s = brd.createElement('slider',[[1,3],[5,3],[1,10,50]],{name:'n',snapWidth:1});
 
var a = brd.createElement('slider',[[1,2],[5,2],[-10,-3,0]],{name:'start'});
 
var b = brd.createElement('slider',[[1,1],[5,1],[0,Math.PI,10]],{name:'end'});
 
 
var f = function(x){ return Math.sin(x); };
 
var f = function(x){ return Math.sin(x); };
var plot = brd.createElement('functiongraph',[f,function(){return a.Value();}, function(){return b.Value();}]);
+
var plot = brd.create('functiongraph',[f,function(){return a.Value();}, function(){return b.Value();}]);
  
var os = brd.createElement('riemannsum',[f,  
+
var os = brd.create('riemannsum',[f,  
 
     function(){ return s.Value();}, function(){ return document.getElementById('sumtype').value;},
 
     function(){ return s.Value();}, function(){ return document.getElementById('sumtype').value;},
 
     function(){return a.Value();},  
 
     function(){return a.Value();},  
Line 30: Line 29:
 
     {fillColor:'#ffff00', fillOpacity:0.3});
 
     {fillColor:'#ffff00', fillOpacity:0.3});
  
brd.createElement('text',[-6,-3,function(){ return 'Sum='+(brd.riemannsum(f,s.Value(),document.getElementById('sumtype').value,a.Value(),b.Value())).toFixed(4); }]);
+
brd.create('text',[-6,-3,function(){ return 'Sum='+(JXG.Math.Numerics.riemannsum(f,s.Value(),document.getElementById('sumtype').value,a.Value(),b.Value())).toFixed(4); }]);
 
 
brd.create('text',[3,-3,'`sum_(i=0)^n i^2`']);
 
 
 
 
</jsxgraph>
 
</jsxgraph>
  
 
===The underlying JavaScript code===
 
===The underlying JavaScript code===
<source lang="xml">
+
<source lang="javascript">
<jsxgraph width="800" height="400" box="box">
+
var brd = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-8, 4, 8, -4]});
JXG.Options.text.useASCIIMathML = true;
+
var s = brd.create('slider',[[1,3],[5,3],[1,10,50]],{name:'n',snapWidth:1});
 
+
var a = brd.create('slider',[[1,2],[5,2],[-10,-3,0]],{name:'start'});
var brd = JXG.JSXGraph.initBoard('box', {axis:true, originX: 400, originY: 200, grid:true, unitX: 50, unitY: 50});
+
var b = brd.create('slider',[[1,1],[5,1],[0,Math.PI,10]],{name:'end'});
var s = brd.createElement('slider',[[1,3],[5,3],[1,10,50]],{name:'n',snapWidth:1});
 
var a = brd.createElement('slider',[[1,2],[5,2],[-10,-3,0]],{name:'start'});
 
var b = brd.createElement('slider',[[1,1],[5,1],[0,Math.PI,10]],{name:'end'});
 
 
var f = function(x){ return Math.sin(x); };
 
var f = function(x){ return Math.sin(x); };
var plot = brd.createElement('functiongraph',[f,function(){return a.Value();}, function(){return b.Value();}]);
+
var plot = brd.create('functiongraph',[f,function(){return a.Value();}, function(){return b.Value();}]);
  
var os = brd.createElement('riemannsum',[f,  
+
var os = brd.create('riemannsum',[f,  
 
     function(){ return s.Value();}, function(){ return document.getElementById('sumtype').value;},
 
     function(){ return s.Value();}, function(){ return document.getElementById('sumtype').value;},
 
     function(){return a.Value();},  
 
     function(){return a.Value();},  
Line 55: Line 48:
 
     {fillColor:'#ffff00', fillOpacity:0.3});
 
     {fillColor:'#ffff00', fillOpacity:0.3});
  
brd.createElement('text',[-6,-3,function(){ return 'Sum='+(brd.riemannsum(f,s.Value(),document.getElementById('sumtype').value,a.Value(),b.Value())).toFixed(4); }]);
+
brd.create('text',[-6,-3,function(){ return 'Sum='+(JXG.Math.Numerics.riemannsum(f,s.Value(),document.getElementById('sumtype').value,a.Value(),b.Value())).toFixed(4); }]);
 
 
brd.create('text',[3,-3,'`sum_(i=0)^n i^2`']);
 
</jsxgraph>
 
 
</source>
 
</source>
  
 
[[Category:Examples]]
 
[[Category:Examples]]
 
[[Category:Calculus]]
 
[[Category:Calculus]]

Latest revision as of 13:13, 11 July 2018

Riemann sum type:

The underlying JavaScript code

var brd = JXG.JSXGraph.initBoard('box', {axis:true, boundingbox: [-8, 4, 8, -4]});
var s = brd.create('slider',[[1,3],[5,3],[1,10,50]],{name:'n',snapWidth:1});
var a = brd.create('slider',[[1,2],[5,2],[-10,-3,0]],{name:'start'});
var b = brd.create('slider',[[1,1],[5,1],[0,Math.PI,10]],{name:'end'});
var f = function(x){ return Math.sin(x); };
var plot = brd.create('functiongraph',[f,function(){return a.Value();}, function(){return b.Value();}]);

var os = brd.create('riemannsum',[f, 
    function(){ return s.Value();}, function(){ return document.getElementById('sumtype').value;},
    function(){return a.Value();}, 
    function(){return b.Value();}
    ], 
    {fillColor:'#ffff00', fillOpacity:0.3});

brd.create('text',[-6,-3,function(){ return 'Sum='+(JXG.Math.Numerics.riemannsum(f,s.Value(),document.getElementById('sumtype').value,a.Value(),b.Value())).toFixed(4); }]);