       • To: mathgroup at smc.vnet.net
• Subject: [mg69589] question about plot
• From: dimmechan at yahoo.com
• Date: Sat, 16 Sep 2006 03:50:36 -0400 (EDT)

```***Hello to all.

***I have a simple function

ln:=Quit

ln:=h[x_]:=x Tan[x]

***Here its Plot

In:=Plot[h[x],{x,0,Pi}]

***Plot has incorrectly connected the points at p/2.

***There are two approaches to deal with this bug.

***The first is to use a Block structure along with Show

ln:=Block[{\$DisplayFunction = Identity}, g1 = Plot[h[x], {x, 0,
Pi/2}];
ln:=g2 = Plot[h[x], {x, Pi/2, Pi}]];
Show[g1, g2, DisplayFunction \[Rule] \$DisplayFunction]

***The other is to define your code. Here is my attempt:

In:=
plotdisc[f_,a_,b_,x0_,opts___]:=Show[Map[Plot[f,{x,#[],#[]},

DisplayFunction\[Rule]Identity,opts]&,Delete[Partition[{a,x0-10^-8,x0+10^-8,b},\
2,1],2]],DisplayFunction\[Rule]\$DisplayFunction]

In:=plotdisc[h[x],0,Pi,Pi/2,Axes->False,Frame->True]

***However my plotdisc[] function has the disadvantage that can deal
with only one
discontinuity each time.

***How can I modify it (or if I can't, I look for another more elegant
code) so that to deal with
any number of discontinuities.

***In other words I look for a function (if mine cannot be modified)
which for example has the same output with

ln:=Block[{\$DisplayFunction = Identity}, gg1 = plotdisc[h[x], 0,
Pi, Pi/2];
gg2 = plotdisc[h[x], Pi, 2Pi, 3Pi/2]];
ln:=Show[gg1, gg2, DisplayFunction \[Rule] \$DisplayFunction]

***Thanks in advance for any assistance.

```

• Prev by Date: Re: A new application for Mathematica
• Next by Date: RE: plotting multidimensional arrays
• Previous by thread: Re: Re: Variables Within Homemade Functions
• Next by thread: Re: question about plot