Takagi–Landsberg curve: Difference between revisions

From JSXGraph Wiki
No edit summary
No edit summary
 
(One intermediate revision by one other user not shown)
Line 13: Line 13:


<jsxgraph width="500" height="500" box="box">
<jsxgraph width="500" height="500" box="box">
  var bd = JXG.JSXGraph.initBoard('box', {axis:true,originX: 25, originY: 400, unitX: 450, unitY: 25});
  var bd = JXG.JSXGraph.initBoard('box', {axis:true,boundingbox: [-0.05, 16, 1.27, -4]});
  var w = bd.createElement('slider', [[0,8],[0.8,8],[0,0.25,1.5]], {name:'w'});
  var w = bd.create('slider', [[0,8],[0.8,8],[0,0.25,1.5]], {name:'w'});
  var N = bd.createElement('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'});  
  var N = bd.create('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'});  
  var s = function(x){ return Math.abs(x-Math.round(x)); };
  var s = function(x){ return Math.abs(x-Math.round(x)); };
  var c = bd.createElement('functiongraph', [
  var c = bd.create('functiongraph', [
     function(x){
     function(x){
         var n, su, wval;
         var n, su, wval;
Line 31: Line 31:
===The JavaScript code to produce this picture===
===The JavaScript code to produce this picture===


<source lang="xml">
<source lang="javascript">
<jsxgraph width="500" height="500" box="box">
  var bd = JXG.JSXGraph.initBoard('box', {axis:true,boundingbox: [-0.05, 16, 1.27, -4]});
  var bd = JXG.JSXGraph.initBoard('box', {axis:true,originX: 25, originY: 400, unitX: 450, unitY: 25});
  var w = bd.create('slider', [[0,8],[0.8,8],[0,0.25,1.5]], {name:'w'});
  var w = bd.createElement('slider', [[0,8],[0.8,8],[0,0.25,1.5]], {name:'w'});
  var N = bd.create('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'});  
  var N = bd.createElement('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'});  
  var s = function(x){ return Math.abs(x-Math.round(x)); };
  var s = function(x){ return Math.abs(x-Math.round(x)); };
  var c = bd.createElement('functiongraph', [
  var c = bd.create('functiongraph', [
     function(x){
     function(x){
         var n, su, wval;
         var n, su, wval;
Line 47: Line 46:
         return su;
         return su;
     },0,1],{strokeColor:'red'});       
     },0,1],{strokeColor:'red'});       
</jsxgraph>
</source>
</source>



Latest revision as of 07:26, 9 June 2011

The blancmange function is defined on the unit interval by

[math]\displaystyle{ {\rm blanc}(x) = \sum_{n=0}^\infty {s(2^{n}x)\over 2^n}, }[/math]

where [math]\displaystyle{ s(x) }[/math] is defined by [math]\displaystyle{ s(x)=\min_{n\in{\bold Z}}|x-n| }[/math], that is, [math]\displaystyle{ s(x) }[/math] is the distance from x to the nearest integer. The infinite sum defining [math]\displaystyle{ blanc(x) }[/math] converges absolutely for all x, but the resulting curve is a fractal. The blancmange function is continuous but nowhere differentiable.

The Takagi–Landsberg curve is a slight generalization, given by

[math]\displaystyle{ T_w(x) = \sum_{n=0}^\infty w^n s(2^{n}x) }[/math]

for a parameter w; thus the blancmange curve is the case [math]\displaystyle{ w = 1 / 2 }[/math]. For [math]\displaystyle{ w = 1 / 4 }[/math], one obtains the parabola: the construction of the parabola by midpoint subdivision was described by Archimedes.


The JavaScript code to produce this picture

 var bd = JXG.JSXGraph.initBoard('box', {axis:true,boundingbox: [-0.05, 16, 1.27, -4]});
 var w = bd.create('slider', [[0,8],[0.8,8],[0,0.25,1.5]], {name:'w'});
 var N = bd.create('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'}); 
 var s = function(x){ return Math.abs(x-Math.round(x)); };
 var c = bd.create('functiongraph', [
     function(x){
        var n, su, wval;
        su = 0.0;
        wval = w.Value();
        for (n=0;n<N.Value();n++) {
           su += Math.pow(wval,n)*s(Math.pow(2,n)*x);
        }
        return su;
     },0,1],{strokeColor:'red'});

References

  • Teiji Takagi, "A Simple Example of a Continuous Function without Derivative", Proc. Phys. Math. Japan, (1903) Vol. 1, pp. 176-177.

External links