Funkcje sklejane z kawałków
Bardzo często mamy do czynienia z funkcją, która dla każdego przedziału zmienności argumentu określona jest innym wzorem. Na przykład dla $x <= 0$ jest to $x^2$, a dla $x > 0$ — $x^3$. Funkcje takie można w każdym przedziale rozpatrywać osobno:
In[]:= f1[x_] := x^2
In[]:= f2[x_] := x^3
In[]:= wykres1 = Plot[f1[x], {x, -5, 0}, PlotRange -> {{-5, 3}, {0, 27}}]

In[]:= wykres2 = Plot[f2[x], {x, 0, 3}, PlotRange -> {{-3, 3}, {0, 27}}]

In[]:= Show[wykres1, wykres2]

Nie jest to najwygodniejszy sposób operowania takimi funkcjami. Ale można inaczej:
In[]:= f[x_] := x^2 /; x < 0
In[]:= f[x_] := 0 /; 0 <= x < 1
In[]:= f[x_] := x^3 - 1 /; x >= 1
I teraz możemy prawie wszędzie używać symbolu f
In[]:= Plot[f[x], {x, -5, 3}, PlotRange -> {{-5, 3}, {0, 27}}]

In[]:= f[0.5]
Out[]= 0
In[]:= f[-1]
Out[]= 1
In[]:= f[1.3]
Out[]= 1.197
Można też skorzystać z wbudowanego operatora Piecewise:
In[]:= Plot[Piecewise[{{x^2, x <= 0}, {0, 0 < x <= 1}, {x^3 - 1, x > 1}}], {x, -2, 3}]

In[]:= pw = Piecewise[{{x^2, x <= 0}, {0, 0 < x <= 1}, {x^3 - 1, x > 1}}]

In[]:= pw /. {{x -> 0}, {x -> -1}, {x -> 1.3}}
Out[]= {0, 1, 1.197}
In[]:= Plot[pw, {x, -3, 3}]

A teraz sobie poróżniczkujemy:
In[]:= dpw = D[pw, x]

Wykres otrzymamy równie łatwo:
In[]:= Plot[dpw, {x, -3, 3}]
