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łąd dla x ≤ 0 jest to (x^2), a dla x > 0 — (x^3). Funkcje takie można w każdym przedziale rozpatrywać osobno:

f1[x_]:= x^2

f2[x_]:= x^3

wykres1=Plot[f1[x],{x,-5,0},PlotRange->{{-5,3},{0,27}}]

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

Show[wykres1,wykres2]

Nie jest to najwygodniejszy sposób operowania takimi funkcjam. Ale można inaczej:

f[x_]:= x^2 /; x<0

f[x_]:= 0 /; 0≤x<1

f[x_]:= x^3-1 /; x≥ 1

I teraz możemy prawie wszędzie używać symbolu f

Plot[f[x],{x,-5,3},PlotRange->{{-5,3},{0,27}}]

f[0.5]

f[-1]

f[1.3]

Można też skorzystać z wbudowanego operatora Piecewise:

Plot[Piecewise[{{x^2,x≤0},{0,0<x≤1},{x^3-1,x>1}}],{x,-2,3}]

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

pw/.{{x->0},{x->-1},{x->1.3}}

Plot[pw,{x,-3,3}]

A teraz sobie poróżniczkujemy:

dpw=D[pw,x]

Wykres otrzymamy równie łatwo:

Plot[dpw,{x,-3,3}]