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]}]