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,