MathGroup Archive 2009

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

Search the Archive

Re: Manipulating list of functions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg96331] Re: [mg96276] Manipulating list of functions
  • From: "David Park" <djmpark at comcast.net>
  • Date: Wed, 11 Feb 2009 05:25:32 -0500 (EST)
  • References: <23853518.1234264854681.JavaMail.root@m02>

Istvan,

Many problems in Mathematica could be avoided if all the variables and
parameters of a function were included within the function definition and
not left 'hanging loose'.

It also helps a lot to calculate, define and test required functions outside
of Plot and Manipulate statements.

So I would do your calculation this way.

funcA[a_][z_]:=Sin[z+a];
funcB[a_][z_]:=Cos[z+a];
funcC[a_][z_]:=0;

Manipulate[
Plot[{funcA[a][x],funcB[b][x],funcC[0][x]},{x,1,10},Axes->False,Frame->True]
,
{a,0,1},
{b,0,1}]

There, I actually typed the list into the Plot statement. If we wanted to
precompute the list with different parameters for the functions it becomes
more convoluted.

Clear[funcA,funcB,funcC,funcList];
funcA[a_,b_][z_]:=Sin[z+a];
funcB[a_,b_][z_]:=Cos[z+b];
funcC[a_,b_][z_]:=0;
funcList[a_,b_][x_]=#[a,b][x]&/@{funcA,funcB,funcC}

{Sin[a+x],Cos[b+x],0}

Manipulate[
Plot[funcList[a,b][x]//Evaluate,{x,1,10},Axes->False,Frame->True],
{a,0,1},
{b,0,1}]


David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/  



From: replicatorzed at gmail.com [mailto:replicatorzed at gmail.com] 

Dear Group,

I have the following code:

Manipulate[
 funcA[z_] := Sin[z + a];
 funcB[z_] := Cos[z + b];
 funcC[z_] := 0;
 funcList = #[x] & /@ {funcA, funcB, funcC};
 Plot[funcList, {x, 1, 10}, Axes -> False, Frame -> True],
 {a, 0, 1},
 {b, 0, 1}
 ]

It returns the Manipulate panel correctly. What annoys me is the cell
bracket of it that is constantly highlighted, probably because there
is some calculation going on even when I do not move any of the
sliders, due to some function-definitions. I'm afraid I do not fully
understand the cause of it. Nor do I know how to overcome it. Also
what should I do, if I want to move the funcA, funcB, funcC
definitions outside of Manipulate?

Thank you in advance
Istvan




  • Prev by Date: Re: Inappropriate kernel limits!
  • Next by Date: Re: Data interpolation
  • Previous by thread: Re: Manipulating list of functions
  • Next by thread: Re: Manipulating list of functions