Re: Dynamically changing 2 interdependent variables.
- To: mathgroup at smc.vnet.net
- Subject: [mg81489] Re: Dynamically changing 2 interdependent variables.
- From: m.r at inbox.ru
- Date: Wed, 26 Sep 2007 06:31:32 -0400 (EDT)
- References: <fd57vj$25b$1@smc.vnet.net>
On Sep 23, 3:26 am, Michael Knap <michael.j.k... at comcast.net> wrote: > Ok, I have looked over the Documentation, but I still haven't quite > figured out how to do exactly what I want to do. > > I am working on a Physics app dealing with waves, so I want to be able > to input a wave number either expressly, as k, or in terms of lambda. > > This is the relationship: k = (2 Pi) / lambda . > > I want to be able to change either variable in a Manipulate[] function, > and have the other update appropriately. > > This is what I have started with: > > Manipulate[ > Dynamic[ > Row[{ > TraditionalForm[k = (2 Pi)/lam], > " = ", > TraditionalForm[2 Pi]/TraditionalForm[lam = (2 Pi)/k] > }] > ], > {{k, 1}, .00001, 1}, > {{lam, 2 Pi}, 2 Pi, 100} > ] > > Notice how changing the lam slider works as expected. Changing the k > slider does not. > > Any help is appreciated. Use custom control functions: Manipulate[ TraditionalForm[HoldForm[# == 2 Pi/#2]]&[k, lam], {{k, 1.}, 2 Pi/100, 1, Slider[Dynamic[k, (lam = 2 Pi/(k = #))&], #2]&}, {{lam, 2. Pi}, 2 Pi, 100, Slider[Dynamic[lam, (k = 2 Pi/(lam = #))&], #2]&}] Maxim Rytin m.r at inbox.ru