Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: DynamicModule Pure Function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg121843] Re: DynamicModule Pure Function
  • From: Don <donabc at comcast.net>
  • Date: Wed, 5 Oct 2011 03:58:13 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

Thank you all for instructive insights into this problem of why the 
pure function works the way it does.

To see if I understood the points made in the emails, I changed
the original problem very slightly and tried to find
a similar solution to the new problem using a modified pure function
from the original problem.

The new problem is exactly the same as the original problem except
that the range for Slider #2 goes from 0 to 2 instead of 0 to 1.
That is the only modification to the original problem.  
The problem is to find an inverse function that will allow Slider #1 to 
control Slider #2 throughout its range and vice versa.

To define this modified problem completely:

(1) The starting position of Slider #1 with range 0 to 1 is 0.

(2) The starting position of Slider #2 with range 0 to 2 is 2.

(3) When Slider #1 in moved to the right, over its range from  0 to 1, Slider #2
should go to the left from 2 to 0.

(4) When Slider #2 is moved to the left, over its range from 2 to 0, Slider #1 
should go to the right from 0 to 1.

I was not able to solve this problem.

The closest I was able to do is to break up the problem
into component parts, hoping to synthesize a solution
from the parts.

The code below works when Slider #1 is controlling both Sliders. That is to say,
it satisfies the requirements 1, 2 and 3 above:   
the starting positions are 0 for Slider #1 and 2 for Slider #2 and when
Slider #1 is moved to the right over its range of 0 to 1, Slider #2 goes to the left
from   2 to 0.

ap = Appearance->"Labeled";

DynamicModule[{x = 0}, {Slider[Dynamic[x], ap], 
  Slider[Dynamic[2 - 2 x, (x = 2 - 2 #) &], {0, 2}, ap]}]



But, I was not able to find a function that would satisfy requirements 1, 2 and 4 above
where Slider #2 is controlling the action.

In addition, to solve the problem completely, there would have to be a synthesis
of both component solutions.

Is there a way to do this?

Thank you in advance.



  • Prev by Date: Re: count zeros in a number
  • Next by Date: Re: count zeros in a number
  • Previous by thread: Re: DynamicModule Pure Function
  • Next by thread: Re: DynamicModule Pure Function