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

MathGroup Archive 2009

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

Search the Archive

Re: newbie: explicit function works, "function object" doesn't

  • To: mathgroup at smc.vnet.net
  • Subject: [mg96251] Re: newbie: explicit function works, "function object" doesn't
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Tue, 10 Feb 2009 05:51:25 -0500 (EST)
  • Organization: The Open University, Milton Keynes, UK
  • References: <gmp0st$c30$1@smc.vnet.net>

In article <gmp0st$c30$1 at smc.vnet.net>, Tom Roche <tlroche at gmail.com> 
wrote:

> summary: I've got a function that I can Manipulate, but I can't
> Manipulate the things to which the function is assigned. I'm assuming
> this is due to a syntax error.

All the parameters used by Manipulate[] must appear *explicitly* at the 
first level of the expression to be manipulated.
  
[snip]

> From what I've read, it seems Manipulate wants an expression like the
> RHS of 'soln', which I'll refer to here as a "function." (Please
> correct my usage as needed.) I got a "function object" with ReplaceAll
> 
> happysoln[t_] = theta[t] /. soln[[1]]

Therefore, you should define happysoln as follows:

    happysoln[omega_, theta0_, v0_, t_] = theta[t] /. soln[[1]]

So we now have the following working code:

linearPendulum = theta''[t] == -omega^2 theta[t];

soln = DSolve[{linearPendulum, theta'[0] == v0, theta[0] == theta0}, 
   theta, t];

happysoln[omega_, theta0_, v0_, t_] = theta[t] /. soln[[1]];

Manipulate[
 Plot[happysoln[omega, theta0, v0, t], {t, -2 Pi, 2 Pi}], {{omega, 1},
   0, 5}, {{theta0, 1}, 0, 5}, {{v0, 1}, 0, 5}]

which works as expected.

[snip]

Regards,
--Jean-Marc


  • Prev by Date: Re: Something for this list
  • Next by Date: Re: most ChemicalData molecule plots missing?
  • Previous by thread: Re: newbie: explicit function works, "function object" doesn't
  • Next by thread: Re: newbie: explicit function works, "function object" doesn't