       Re: Manipulate and Initialization

• To: mathgroup at smc.vnet.net
• Subject: [mg130229] Re: Manipulate and Initialization
• From: Bob Hanlon <hanlonr357 at gmail.com>
• Date: Sun, 24 Mar 2013 04:16:45 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-newout@smc.vnet.net
• Delivered-to: mathgroup-newsend@smc.vnet.net
• References: <20130323072431.19F0E6A0D@smc.vnet.net>

```Use Dynamic

nn = 23;
Manipulate[n,
{n, 1, Dynamic[nn], 1, Appearance -> "Labeled"},
Initialization :>
(nn = RandomInteger[{5, 15}]; Print[nn])]

Bob Hanlon

On Sat, Mar 23, 2013 at 3:24 AM, Fred Simons <f.h.simons at tue.nl> wrote:
> I want to create a rather complicated Manipulate, in which I do not know
> the limits for the parameter beforehand; they depend on the result of an
> initialization. Here is a highly simplfied example:
>
> Clear[nn];
> Manipulate[n, {n,1,nn,1},
> Initialization:>(nn=RandomInteger[{5,15}];Print[nn])]
>
> This works fine. The slider can be used in the range from 1 to the
> printed value.
>
> However, when nn already has a value, the behaviour is different. When
> we execute
>
> nn=23;
> Manipulate[n, {n,1,nn,1},
> Initialization:>(nn=RandomInteger[{5,15}];Print[nn])]
>
> a value between 5 and 15 for nn is printed, but that value is not used
> in the result; the slider now runs from 1 to 23.
>
> So, whether nn has a value or not, just before the box structure is
> printed, the frontend asks the kernel to evaluate the initialization.
> But the returned value of nn is used in Manipulate only when nn did not
> have a value before. That embarasses me. Any explanation is highly
> apprectiated.
>
> Fred Simons
> Eindhoven University of Technology
>

```

• Prev by Date: Re: Integrate with unknow function
• Next by Date: Re: Integrate with unknow function
• Previous by thread: Manipulate and Initialization
• Next by thread: Integrate with unknow function