Re: How to plot discontinuous functions?
- To: mathgroup at smc.vnet.net
- Subject: [mg90172] Re: How to plot discontinuous functions?
- From: "David Park" <djmpark at comcast.net>
- Date: Tue, 1 Jul 2008 07:00:41 -0400 (EDT)
- References: <g4a6tv$8uh$1@smc.vnet.net>
For something like this you could use a UnitStep.
Plot[1 + UnitStep[x - 1], {x, 0, 2}, PlotRange -> {0, 3}]
Your second case will work if you use the Exclusions option.
f[x_] := Piecewise[{{{1, 1}, x < 1}}, {2, 2}];
Plot[f[x][[1]], {x, 0, 2}, PlotRange -> {0, 3},
Exclusions -> {1}]
Exclusions will usually work for these cases. But if worst comes to worst,
or things are inconvenient, the Presentations package has (left over from
pre Version 6 days) the SplitLineOn... rules.
Needs["Presentations`Master`"]
Draw2D[
{Draw[f[x][[1]], {x, 0, 2}] /. SplitLineOnVertical[.6]},
AspectRatio -> .5,
PlotRange -> {0, 3},
Axes -> True]
--
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/
"Aaron Fude" <aaronfude at gmail.com> wrote in message
news:g4a6tv$8uh$1 at smc.vnet.net...
> Hi,
>
> If a function is defined via If, then when plotted it does not
> acknowledge the discontinuity. E.g.
>
> f[x_] := If[x < 1, 1, 2];
> Plot[f[x], {x, 0, 2}, PlotRange -> {0, 3}]
>
> Defined via Piecewise, it does, but in my experience, not always:
> f[x_] := Piecewise[{{{1, 1}, x < 1}}, {2, 2}];
> Plot[f[x][[1]], {x, 0, 2}, PlotRange -> {0, 3}]
>
> How do I make the Plot function try to acknowledge the discontuity by
> not connecting the left limit and the right limit?
>
> Thanks,
>
> Aaron
>