Re: Manipulate piecewise functions,
- To: mathgroup at smc.vnet.net
- Subject: [mg107711] Re: [mg107643] Manipulate piecewise functions,
- From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
- Date: Wed, 24 Feb 2010 06:19:25 -0500 (EST)
- References: <201002210924.EAA17172@smc.vnet.net>
Hi, I thought it was clear that Range[blub] is a list which you have to substitute by whatever you want: a = {0, 7, 2, 1, 4}; Manipulate[ Plot[Evaluate[ Piecewise[{{x - p - q, x - p - q <= #}}, (x - p - q)^2] & /@ a], {x, 0, 20}, PlotRange -> {Automatic, {0, 50}}], {p, 0, 20}, {q, 0, 20}] See where your "a" goes? You have to try to follow every step to understand and to get better! So try to understande the core which is Piecewise[{{x - p - q, x - p - q <= #}}, (x - p - q)^2] & /@ a What is the # and the &? What is /@? Why and how does it work? You only have to read the examples in the documentation and maybe the doc itself. Cheers Patrick On Tue, 2010-02-23 at 16:53 -0700, Vedhas Pandit wrote: > That helped so far as syntax is concerned! > > Please note that I need to use elements of array a, a is an array is > predefined with some random numbers, say a={0 7 2 1 4}. (I cannot use > range, I need to use the "data" I have with me). > > a = {0 7 2 1 4}; > Manipulate[ > Plot[Evaluate[ > Piecewise[{{x - p - q, x - p - q <= a}}, (x - p - q)^2]], {x, 0, > 20}, PlotRange -> {Automatic, {0, 50}}], {p, 0, 20}, {q, 0, 20}] > didn't work > > Thanks, > > Vedhas > > > On Tue, Feb 23, 2010 at 3:54 PM, Patrick Scheibe > <pscheibe at trm.uni-leipzig.de> wrote: > Hi, > > > for plot y versus x is: > > y=x-p-q for x-p-q<a, and (x-p-q)^2 for (x-p-q)>=a i.e. 6 > plots getting > > manipulated simultaneously. > > > this makes absolutely no sense, because you will have no > additional > information. Set k=p+q and you can do the same with only one > parameter. > But your original question is easy: > > Manipulate[ > Plot[Evaluate[ > Piecewise[{{x - p - q, x - p - q <= #}}, (x - p - q)^2] & /@ > Range[6]], {x, 0, 20}, PlotRange -> {Automatic, {0, 50}}], > {p, 0, > 20}, {q, 0, 20}] > > If you give Plot a list of functions you'll have them all in > the same > plot. But I'm pretty sure you expected something different > from this > plot. > > Cheers > Patrick > > > > > Again, Thanks for your help and I hope you will again > respond to the > > query quickly! > > > > Best regards, > > > > Vedhas > > > > On Sun, Feb 21, 2010 at 8:33 AM, Bob Hanlon > <hanlonr at cox.net> wrote: > > > > If you plot all of the curves on a single plot they > will > > overlap and make it difficult to see what is > happening. > > Recommend an array of plots. > > > > Manipulate[ > > Grid[ > > Partition[ > > Table[ > > Plot[ > > Piecewise[{ > > {x - p, x < a + p}, > > {(x - p)^2, x >= a + p}}], > > {x, -8, 5}, > > Frame -> True, > > Axes -> False, > > PlotRange -> {-10, 50}, > > ImageSize -> 250, > > Epilog -> > > {Style[ > > Text[ > > "a = " <> ToString[a], > > {-6, 40}], > > Blue, 16], > > Style[ > > Text[ > > "step = " <> ToString[a (a - 1)], > > {-6, 30}], > > Blue, 16]}], > > {a, 6}], > > 2]], > > {p, -6, -2, Appearance -> "Labeled"}] > > > > > > Bob Hanlon > > > > > > ---- Vedhas | sahdeV <vedhas at gmail.com> wrote: > > > > ============= > > a = {1 2 3 4 5 6} > > The goal is to plot a piecewise function > corresponding to each > > of "a" > > values, with manipulate where control variable is p, > and the > > function > > for plot y versus x is: > > y=x-p for x-p<a, and (x-p)^2 for (x-p)>=a i.e. 6 > plots getting > > manipulated simultaneously. > > > > I am new to Mathematica and this might be a naive > question, > > but I > > couldn't find a solution through help documentation. > I will > > appreciate > > if you can help! > > > > Thanks, > > > > Vedhas > > > > > > > > >
- References:
- Manipulate piecewise functions,
- From: "Vedhas | sahdeV" <vedhas@gmail.com>
- Manipulate piecewise functions,