Re: Plotting a table of piecewise functions
- To: mathgroup at smc.vnet.net
- Subject: [mg105427] Re: [mg105389] Plotting a table of piecewise functions
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 2 Dec 2009 06:26:13 -0500 (EST)
- Reply-to: hanlonr at cox.net
Convert cells to InputForm prior to copy and paste to e-mail.
pdf[x_] = {
Piecewise[{{x^2/9, 0 <= x <= 3}}],
Piecewise[{{x/4, 0 < x < 2}, {1/2, 2 <= x < 3}}],
Piecewise[{{4 x Cos[x]^2/Pi^2, 0 < x < Pi}}]};
Attributes[Plot]
{HoldAll,Protected}
Since Plot has attribute HoldAll, until pdf[x] is evaluated pdf[x] is a single entity not a list, so Plot allocates it a single color.
Use Evaluate to force its evaluation early. With Evaluate it is equivalent to your manually entering the three terms.
Plot[Evaluate[pdf[x]], {x, -1, 4},
PlotStyle -> {Red, Green, Blue}]
cdf[x_] = Assuming[{Element[x, Reals]},
Integrate[pdf[t], {t, -Infinity, x}]];
Plot[Evaluate[cdf[x]], {x, -1, 4},
PlotStyle -> {Red, Green, Blue}]
Bob Hanlon
---- michael partensky <partensky at gmail.com> wrote:
=============
Hi!
I have a table of three piecewise functions:
pdf[x]= {\[Piecewise] {
{(x^2/9), 0 <= x <= 3},
{0, \!\(\*
TagBox["True",
"PiecewiseDefault",
AutoDelete->False,
DeletionWarning->True]\)}
}, \[Piecewise] {
{0.25 x, 0 < x < 2},
{0.5, 2 <= x < 3},
{0, \!\(\*
TagBox["True",
"PiecewiseDefault",
AutoDelete->False,
DeletionWarning->True]\)}
}, \[Piecewise] {
{((4 x Cos[x]^2)/\[Pi]^2), 0 < x < \[Pi]},
{0, \!\(\*
TagBox["True",
"PiecewiseDefault",
AutoDelete->False,
DeletionWarning->True]\)}
}}
I would like to make a plot of it.
Plot[pdf[x],{x,-1,4},PlotStyle->{Red,Green,Blue}] ignores the colors and
interrupts some of the curves .
Plot[{pdf[x][[1]],pdf[x][[2]],pdf[x][[3]]},{x,-1,4},PlotStyle->{Red,Green,Blue}]
does the job as expected.
Why are the results different? What is wrong with the first approach?
Thanks.
Michael.