MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

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