Search All of the Math Forum:

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

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Help with Manipulate
Replies: 5   Last Post: Nov 25, 2013 11:31 PM

 Messages: [ Previous | Next ]
 Itai Seggev Posts: 61 Registered: 7/29/13
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]],n-1]}]},Button["random",z=Flatten[{0,RandomVariate[Quiet@ExponentialDistribution[\[Lambda]],n-1]}]]&,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 \
> >> non-negative machine-sized 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
217-398-0700

Date Subject Author
11/15/13 emammendes@gmail.com
11/15/13 waku
11/15/13 Tomas Garza Hernandez
11/25/13 Itai Seggev