
Re: Help with Manipulate
Posted:
Nov 25, 2013 11:31 PM


Button wants a function in the second argument, which is the function to be applied to its contents when pressed. This code creates a "pure function" (look at ref/Function in the documentation center) which ignores the button contents but assign the value of generate to z.
On Fri, Nov 15, 2013 at 06:40:37AM 0500, Eduardo M. A. M. Mendes wrote: > Hello > > Many many thanks. > > I went through the code you sent me to see if I can understand it. There is one piece that I don't understand. Here is it > > > > (z = generate[\[Lambda], n]) & > > Why do I need &? > > Thanks again. > > Cheers > > Ed > > > On Nov 14, 2013, at 8:39 AM, Waclaw Kusnierczyk <waku@idi.ntnu.no> wrote: > > > Will this solve your problem: > > > > With[{generate = > > RandomVariate[Quiet@ExponentialDistribution[#1], #2  1] &}, > > Module[{z}, > > Manipulate[ > > z = generate[\[Lambda], n]; > > n/Total[z], > > Button["generate", (z = generate[\[Lambda], n]) &], > > {{\[Lambda], 2}, 1, 100, 1}, > > {{n, 10000}, 2, 1000000, 1000}]]] > > > > Best, > > vQ > > > > > > On 11/14/2013 08:11 AM, Eduardo M. A. M. Mendes wrote: > >> > >> I need to create a simple demonstration based upon an exercise on poisson counting processes. Here is the code > >> > >> Manipulate[n/Total[z],Style["Poisson Arrival Times",18,Bold],"",Delimiter,{{z,Flatten[{0,RandomVariate[Quiet@ExponentialDistribution[\[Lambda]],n1]}]},Button["random",z=Flatten[{0,RandomVariate[Quiet@ExponentialDistribution[\[Lambda]],n1]}]]&,Appearance>"Labeled"},"",Delimiter,{{\[Lambda],2,"\[Lambda]"},1,100,1,Appearance>"Labeled"},"",Delimiter,{{n,10000,"n"},1,1000000,1000,Appearance>"Labeled"},SaveDefinitions>True] > >> > >> The idea is to generate a sequence of random numbers, then take the sum of it and keep the last value. Every time I hit "random"a new sequence is created. > >> > >> The above code returns the following error msg > >> > >> RandomVariate::array : "\"The array dimensions 1 + n given in position 2 \ > >> of RandomVariate[ExponentialDistribution[=CE=BB], 1 + n] should be a list of \ > >> nonnegative machinesized integers giving the dimensions for the result. \"" > >> > >> and some weird output. After hitting "random", the output is what I expect but the whole Manipulate output is still red indicating that there are problems. > >> > >> Could you be so kind to point out what I did wrong and how to fix it? I feel that I did not quite get how Manipulate works. > >  Itai Seggev Mathematica Algorithms R&D 2173980700

