MathGroup Archive 2013

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

Search the Archive

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
>
>


  • Prev by Date: Can I use Mathematica to simplify this recursive function definition
  • Next by Date: problem with ndsolve using interpolated functions
  • Previous by thread: Can I use Mathematica to simplify this recursive function definition
  • Next by thread: Re: Using manipulate with user entered variables and functions