Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Fixed Typo in Code---> Re: updating a simulation within Manipulate.
Replies: 5   Last Post: Mar 9, 2013 5:25 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
W. Craig Carter

Posts: 265
Registered: 9/10/05
Fixed Typo in Code---> Re: updating a simulation within Manipulate.
Posted: Mar 7, 2013 10:47 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On previous message, there is a typo in the example code, please use this instead:

randomStep[bias_, stepList_] :=
Module[{angle = RandomVariate[NormalDistribution[bias, 1]]},
Join[stepList, {Last[stepList] + {Cos[angle], Sin[angle]}}]]

walkerGraphic[stepList_, range_] :=
Graphics[GraphicsComplex[stepList, Disk /@ Range[Length[stepList]]],
PlotRange -> range {{-1, 1}, {-1, 1}}]

DynamicModule[{walkerPath = {{0, 0}}},
Manipulate[
If[keepWalking,(*kludge warning---testing for If[ True...] seems inefficient*)
walkerPath = randomStep[bias, walkerPath]];
If[reset, reset = False; keepWalking = False;
walkerPath = {{0, 0}}];
walkerGraphic[walkerPath,
range], {{keepWalking, False}, {True, False}}, {{reset,
False}, {True, False}}, Delimiter, {{range, 20}, 0, 100},
{{bias, 0}, -Pi, Pi,
AngularGauge[##, ImageSize -> 160,
ScaleOrigin -> {{-4 Pi, 4 Pi}, 1}] &}]]



W Craig Carter
Professor of Materials Science, MIT



On Mar 7, 13, at 17:16 PM, W Craig Carter wrote:

> I *think* I've asked this question before, but I can't find it on mathgroup. In any case, I don't know the answer now.
>
> Here is a simple example of a Manipulate that updates a graphic as long as a boolean is true. This method seems like a kludge to me---is it? If so, what would be a better way to do this.
>
> This is a constructed example, the real case I am looking at is much more involved; but kudos to anyone who can make a reasonable facsimile of their signature by adjusting the random walker's bias....
>
> randomStep[bias_, stepList_] :=
> Module[{angle = RandomVariate[NormalDistribution[bias, 1]]},
> Join[stepList, {Last[stepList] + {Cos[angle], Sin[angle]}}]]
>
> walkerGraphic[stepList_, range_] :=
> Graphics[GraphicsComplex[stepList, Disk /@ Range[Length[stepList]]],
> PlotRange -> range {{-1, 1}, {-1, 1}}]
>
> DynamicModule[
> {walkerPath = {{0, 0}}},
> Manipulate[
> If[keepWalking, (* kludge warning---testing for If[True...] seems inefficient *)
> walkerPath = randomStep[bias, walkerPath]
> ];
> If[reset,
> reset = False; keepWalking = False;
> walkerPath = {{0, 0}}
> ];
> walkerGraphic[walkerPath, range],
> {{keepWalking, False}, {True, False}},
> {{reset, False}, {True, False}},
> Delimiter,
> {{range, 20}, 0, 100},
> {{a, 0}, -Pi, Pi,
> AngularGauge[##, ImageSize -> 160 ,
> ScaleOrigin -> {{-4 Pi, 4 Pi}, 1}] &}
> ]
> ]
>
>
>
> W Craig Carter
> Professor of Materials Science, MIT
>
>




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.