Re: Ploting a changing constant
- To: mathgroup at smc.vnet.net
- Subject: [mg64778] Re: [mg64740] Ploting a changing constant
- From: Mary Beth Mulcahy <Mary.Mulcahy at colorado.edu>
- Date: Thu, 2 Mar 2006 19:27:51 -0500 (EST)
- References: <NDBBJGNHKLMPLILOIPPOIEEJEOAA.djmp@earthlink.net>
- Sender: owner-wri-mathgroup at wolfram.com
Thanks for your response. I was curious if you wouldn't mind saying exactly how y[x_, a_] is different from y[x_][a_] (note placement of brackets). How does Mathematica interpret them differently? I somehow picked up the habit of always defining my functions as the first example and haven't had any trouble. In a similar example someone else sent me I tried both y[x_, a_] and y[x_] [a_]. They gave the same result, so maybe there isn't a difference? Thanks. Mary Beth Quoting David Park <djmp at earthlink.net>: > Mary Beth, > > Plot allows a list of functions to plot. This can be generated by Table but > you must Evaluate the Table statement. > > y[x_, a_] := a x > > Plot[Table[y[x, a], {a, 10, 50, 10}] // Evaluate, {x, 0, 33}]; > > I would like to call 'a' a parameter and I would tend to define such a > (different) function in the following manner. > > Clear[y] > y[a_][x_] := x^a > > Then you can easily write the derivative of the function as... > > y[2]'[x] > 2 x > > If you wanted to plot a series of curves with different values of a, but not > necessarily evenly spaced, then you could use MapThread. Here is an example. > > Plot[MapThread[y[#][x] &, {{0, 0.2, 0.5, 1, 2, 5}}] // Evaluate, {x, 0, 1}, > Frame -> True]; > > If you wanted to plot the derivatives then you could use... > > Plot[MapThread[y[#]'[x] &, {{0, 0.2, 0.5, 1, 2, 5}}] // Evaluate, {x, 0, 1}, > PlotRange -> {0, 4}, > Frame -> True]; > > David Park > djmp at earthlink.net > http://home.earthlink.net/~djmp/ > > > From: Mary Beth Mulcahy [mailto:Mary.Mulcahy at colorado.edu] To: mathgroup at smc.vnet.net > > OK, so this has to be an easy one. I am trying to plot a function several > times > for a variety of values of a constant. For example: > > y[x_, a_]:=a*x > > I want to plot a=10, a=20 overlaying one another. Currently I simply > rewrite > the equation however many times I need to change the variable. For example: > > DisplayTogether[Plot[y[x, 10], {x, 0, 33}],Plot[y[x,20], {x, 0, > 33}],Plot[y[x,30], {x, 0, 33}],Plot[y[x,40], {x, 0, 33}],Plot[y[50], {x, 0, > 33}]] > > I'm plotting this equation 15 times with a increasing in steps of ten. > Seems to > me there should be a single command to do this rather than cut and paste 10 > times (and then go back in to change the variable by hand). Something like > in > Sum[] where you can state the beginingvalue, end value and step size. > > Thanks for the help. > > mary beth > > > > > -- > Department of Chemistry and Biochemistry > University of Colorado > Chemistry 76 > Boulder, CO 80309-0215 > > (303) 492-0579 > > -- Department of Chemistry and Biochemistry University of Colorado Chemistry 76 Boulder, CO 80309-0215 (303) 492-0579