Mathematica: Tutorial 4

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

07o96zaduwgxu

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

0roabvobx2jj3

In[]:= Show[wykres1, wykres2]

11lt3roz7929t

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

12vs445hzxthj

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

00jk3xav30cq1

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

1rreu6paomdih

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

09lzyjy9jx85q

A teraz sobie poróżniczkujemy:

In[]:= dpw = D[pw, x]

07kg87rujhsod

Wykres otrzymamy równie łatwo:

In[]:= Plot[dpw, {x, -3, 3}]

1pprwt53dk630

Poprzedni
Następny