Lekcja 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łą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 } } ]

przyklad4__1

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

przyklad4__2

Show [ wykres1 , wykres2 ]

przyklad4__3

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

przyklad4__4

f [ 0.5 ]

0

f [ - 1 ]

1

f [ 1.3 ]

1.1970000000000005

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

przyklad4__5

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

x 2 x≤0
0 0<x≤1
- 1 + x 3 x>1
0 True

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

{ 0 , 1 , 1.1970000000000005 }

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

przyklad4__6

A teraz sobie poróżniczkujemy:

dpw = D [ pw , x ]

2 x x<0
0 x==0||0<x<1
3 x 2 x>1
Indeterminate True

Wykres otrzymamy równie łatwo:

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

przyklad4__7