Re: Help with Manipulate
- To: mathgroup at smc.vnet.net
- Subject: [mg132048] Re: Help with Manipulate
- From: "Eduardo M. A. M. Mendes" <emammendes at gmail.com>
- Date: Mon, 25 Nov 2013 23:58:33 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20131114071144.3079F6A38@smc.vnet.net> <5284A878.90104@idi.ntnu.no> <20131115114037.753D56A3C@smc.vnet.net> <20131125082512.GV88904@wolfram.com>
Hello
Thank you.
Cheers
Ed
On Nov 25, 2013, at 6:25 AM, Itai Seggev <itais at wolfram.com> wrote:
>
> 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 at 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
- References:
- Help with Manipulate
- From: "Eduardo M. A. M. Mendes" <emammendes@gmail.com>
- Re: Help with Manipulate
- From: "Eduardo M. A. M. Mendes" <emammendes@gmail.com>
- Help with Manipulate