Re: Using manipulate with user entered variables and functions
- To: mathgroup at smc.vnet.net
- Subject: [mg131118] Re: Using manipulate with user entered variables and functions
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Wed, 12 Jun 2013 05:40:12 -0400 (EDT)
- 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: <20130523080537.2A5356A0D@smc.vnet.net>
Manipulate[
Module[{
var = Union[
Cases[f, _Symbol?(! NumericQ[#] &),
Infinity]]},
Grid[{HoldForm[D["f", #]] & /@ var,
Simplify[D[f, #] & /@ var]},
Frame -> All,
FrameStyle -> {LightGray, Thin}]],
{f, {
x (x^2 + y^3),
x*Sqrt[x^2 + y^2 + z^2],
Sin[(x^2 - t)]/(x (y^2 + z^2))},
ControlType -> PopupMenu}]
Bob Hanlon
On Thu, May 23, 2013 at 4:05 AM, <nmueggen at gmail.com> wrote:
> I am trying to create a program through which a user can enter a number of
> variable names and a function of those variables. The program then
> performs calculations based on derivatives of the function with respect to
> the entered variables. Eventually this will become a tool for error
> propagation in an undergraduate physics lab.
>
> The following simple program allows a user to enter two variables and a
> function of those variables. It then calculates the partial derivatives of
> the function with respect to each of the variables.
>
> Manipulate[{D[f, var[1]], D[f, var[2]]}, {var[1], x}, {var[2], y}, {f,
> x^2 + y^3}]
>
>
> I would like to extend this program to allow for an adjustable number of
> variables. I'm imagining using nested manipulate commands to allow the
> number of variables to be user controlled. To do this I also need the
> program to be able to adjust how many derivatives are being calculated. I
> tried to
> replace the list of derivative commands with a table:
>
> Manipulate[
> Table[D[f, var[i]], {i, 1, 2}], {var[1], x}, {var[2], y}, {f,
> x^2 + y^3}]
>
> This does not work. I suspect that the Table command somehow causes it to
> calculate the derivatives before the function and/or variables are defined
> based on the manipulate controls. How do I control this order of
> evaluation?
>
> Thank you,
>
> Nathan
>
>