Difference between revisions of "Random walks"
From JSXGraph Wiki
Jump to navigationJump to searchA WASSERMANN (talk | contribs) |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 19: | Line 19: | ||
<option value="200">200</option> | <option value="200">200</option> | ||
</select> <br /> | </select> <br /> | ||
− | <input type="button" value="run" onClick="run()"> | + | <input type="button" value="run simulation" onClick="run()"> |
− | <input type="button" value="clear" onClick="clearturtle()"> | + | <input type="button" value="clear screen" onClick="clearturtle()"> |
<br /> | <br /> | ||
</form></html> | </form></html> | ||
Fixed values in this simulation are: | Fixed values in this simulation are: | ||
− | + | * stepsize <math>{}=5</math> and | |
− | + | * Number of steps per walk <math> {}= 100</math>. | |
Therefore, the expected | Therefore, the expected | ||
− | squared distance from the starting point will be <math>100\cdot 5^2=2500</math>. | + | squared distance from the starting point will be equal to |
+ | * <math>100\cdot 5^2=2500</math>. | ||
<html> | <html> | ||
<form> | <form> | ||
Line 35: | Line 36: | ||
<jsxgraph width="600" height="600"> | <jsxgraph width="600" height="600"> | ||
− | var brd = JXG.JSXGraph.initBoard('jxgbox', { | + | var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-100, 100, 100, -100]}); |
− | var t = brd. | + | var t = brd.create('turtle'); |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
function run() { | function run() { | ||
Line 81: | Line 44: | ||
t.hideTurtle(); | t.hideTurtle(); | ||
brd.suspendUpdate(); | brd.suspendUpdate(); | ||
− | var nr = | + | var nr = document.getElementById('number').value*1; |
for (i=0;i<nr;i++) { | for (i=0;i<nr;i++) { | ||
− | t.setPenColor( | + | t.setPenColor(JXG.hsv2rgb(Math.round(Math.random()*255),Math.random(),Math.random())); |
for (j=0;j<100;j++) { | for (j=0;j<100;j++) { | ||
var a = Math.floor(360*Math.random()); | var a = Math.floor(360*Math.random()); | ||
Line 93: | Line 56: | ||
t.home(); | t.home(); | ||
} | } | ||
− | + | document.getElementById('output').value = (sumdist/nr).toFixed(3); | |
brd.unsuspendUpdate(); | brd.unsuspendUpdate(); | ||
} | } | ||
function clearturtle() { | function clearturtle() { | ||
− | |||
t.cs(); | t.cs(); | ||
} | } | ||
Line 103: | Line 65: | ||
===Source code=== | ===Source code=== | ||
− | <source lang=" | + | <source lang="javascript"> |
− | + | var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-100, 100, 100, -100]}); | |
− | var brd = JXG.JSXGraph.initBoard('jxgbox', { | + | var t = brd.create('turtle'); |
− | var t = brd. | ||
function run() { | function run() { | ||
Line 112: | Line 73: | ||
var stepSize = 5; | var stepSize = 5; | ||
brd.suspendUpdate(); | brd.suspendUpdate(); | ||
− | var nr = | + | var nr = document.getElementById('number').value*1; |
for (i=0;i<nr;i++) { | for (i=0;i<nr;i++) { | ||
+ | t.setPenColor(JXG.hsv2rgb(Math.round(Math.random()*255),Math.random(),Math.random())); | ||
for (j=0;j<100;j++) { | for (j=0;j<100;j++) { | ||
var a = Math.floor(360*Math.random()); | var a = Math.floor(360*Math.random()); | ||
Line 123: | Line 85: | ||
t.home(); | t.home(); | ||
} | } | ||
− | + | document.getElementById('output').value = (sumdist/nr).toFixed(3); | |
brd.unsuspendUpdate(); | brd.unsuspendUpdate(); | ||
} | } | ||
function clearturtle() { | function clearturtle() { | ||
− | |||
t.cs(); | t.cs(); | ||
} | } | ||
− | |||
</source> | </source> | ||
Line 136: | Line 96: | ||
* [http://en.wikipedia.org/wiki/Random_walk http://en.wikipedia.org/wiki/Random_walk] | * [http://en.wikipedia.org/wiki/Random_walk http://en.wikipedia.org/wiki/Random_walk] | ||
* [http://mathworld.wolfram.com/RandomWalk.html http://mathworld.wolfram.com/RandomWalk.html] | * [http://mathworld.wolfram.com/RandomWalk.html http://mathworld.wolfram.com/RandomWalk.html] | ||
+ | * [http://www.bookrags.com/research/random-walks-and-brownian-motion-wop/ http://www.bookrags.com/research/random-walks-and-brownian-motion-wop/] | ||
[[Category:Examples]] | [[Category:Examples]] | ||
[[Category:Turtle Graphics]] | [[Category:Turtle Graphics]] | ||
[[Category:Statistics]] | [[Category:Statistics]] |
Latest revision as of 14:19, 8 June 2011
Fixed values in this simulation are:
- stepsize [math]{}=5[/math] and
- Number of steps per walk [math] {}= 100[/math].
Therefore, the expected squared distance from the starting point will be equal to
- [math]100\cdot 5^2=2500[/math].
Source code
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-100, 100, 100, -100]});
var t = brd.create('turtle');
function run() {
var i,j,dist,sumdist=0.0;
var stepSize = 5;
brd.suspendUpdate();
var nr = document.getElementById('number').value*1;
for (i=0;i<nr;i++) {
t.setPenColor(JXG.hsv2rgb(Math.round(Math.random()*255),Math.random(),Math.random()));
for (j=0;j<100;j++) {
var a = Math.floor(360*Math.random());
t.right(a);
t.forward(stepSize);
}
dist = t.pos[0]*t.pos[0]+t.pos[1]*t.pos[1];
sumdist += dist;
t.home();
}
document.getElementById('output').value = (sumdist/nr).toFixed(3);
brd.unsuspendUpdate();
}
function clearturtle() {
t.cs();
}