DMUG-Archiv 2000

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Plot[] - Sprünge nicht als Line darstellen?

Lars Denkewitz schrieb:

Ich hätte gerne gewußt, ob es in Mathematica 3.0 möglich ist, stückweise
stetige Funktionen so zu zeichnen, daß bei auftretenden Sprüngen die
beiden betreffenden Funktionswerte nicht verbunden werden. Wenn die
Funktionen als einzeln definierte Funktionen vorliegen, ist dies ja
durch Zusammensetzen (Show[]) leicht möglich. Wenn ich aber z.B. die
UnitStep[]-Funktion mit Plot[] zeichne, wird der charakteristische
Sprung als Linie dargestellt, was ja so nicht stimmt. Kann man das
irgendwie verhindern?


Lieber Lars,

hier ein (älterer) Vorschlag.

In[1]:= Unprotect[Plot]

In[2]:= 
Plot[f_, {var_Symbol, min_, singularit\[ADoubleDot]ten__, max_},
opts___] := 
  Module[{ranges = (Prepend[#1, var] & ) /@ 
      Partition[{min, singularit\[ADoubleDot]ten, max}, 2, 1], g}, 
   g = (Plot[f, #1, DisplayFunction -> Identity, opts] & ) /@ ranges; 
    Show[g, DisplayFunction -> $DisplayFunction]]

In[3]:= Protect[Plot]

In[4]:= Plot[1/((1 - x)*(2 - x)), {x, 0, 1, 2, 3}, 
  PlotRange -> {All, {-50, 50}}]

In[7]:= Plot[UnitStep[x - 1]*UnitStep[2 - x], {x, 0, 1, 2, 3}, 
  PlotStyle -> {Thickness[0.02]}]


Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html