Re: Manipulate piecewise functions,
- To: mathgroup at smc.vnet.net
- Subject: [mg107713] Re: [mg107643] Manipulate piecewise functions,
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 24 Feb 2010 06:19:47 -0500 (EST)
- Reply-to: hanlonr at cox.net
You can interconnect the controls to avoid cases where everything is off the graph. Also the Exclusions option can be used if you want the vertical lines to show. 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, {-1, 51}}, Exclusions -> p + q], {p, 0, 20 - q, 0.1, Appearance -> "Labeled"}, {q, 0, 20 - p, 0.1, Appearance -> "Labeled"}] Bob Hanlon ---- Patrick Scheibe <pscheibe at trm.uni-leipzig.de> wrote: ============= 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