Podstawy programu MAPLE

10. Funkcje definiowane przez użytkownika

10.1. Definicja funkcji

Funkcję jednej zmiennej (na przykład: f(x) = x2) definiuje się następująco:

> f:=x->x^2;

                                            2
                                 f := x -> x

Można obliczyć wartość tej funkcji w punkcie, na przykład w x = 4:

> f(4);

                                      16

Funkcję wielu zmiennych (lub zmiennych i parametrów) definiuje się w następujący sposób:

> g:=(x,a,b)->sqrt(x-b)/(X^2-a^2);

                                           sqrt(x - b)
                         g := (x, a, b) -> -----------
                                              2    2
                                             X  - a

> g(1,a,b);

                                         1/2
                                  (1 - b)
                                  ----------
                                    2    2
                                   X  - a


10.2. Funkcja na zbiorze argumentów

Funkcja map(f,{x1,x2,x3,...}) oblicza wartość funkcji f tylko w punktach określonych w zestawie {...}, tzn. tylko w punktach x1, x2 itd. W takiej sytuacji zwracana jest tablica wartości: {f(x1), f(x2)...}

> map(f,{1,2,3,4});

                                 {1, 4, 9, 16}

Można też wykonać wykonać szybkie podstawienie przed obliczeniem wartości funkcji. Na przykład dokonajmy podstawienia 1/x na miejsce zmiennej x:

> map(x->x^(-1),{a,b,c,d});

                             {1/a, 1/b, 1/c, 1/d}


10.3. Funkcja zadana przedziałami

Funkcje w programie MAPLE można zadawać przedziałami. Jako przykład weźmy funkcję taką:

zakres argumentu x wartość funkcji f(x) w tym zakresie
] -inf; 1 [ -1
[ 1; 2 [ 1
[ 2; +inf [ 3

Definiuje się ją poprzez polecenie:

> f := x -> piecewise( x<1, -1, x<2, 1, 3 );

                  f := x -> piecewise(x < 1, -1, x < 2, 1, 3)

Możemy wykonać wykres tej funkcji w celu poznania jej przebiegu:

> plot(f(x), x=0..3)

3 +                                                AAAAAAAAAAAAAAAAAAAAAAAAAA
  +                                                A
  +                                                A
  +                                                A
  +                                                A
2 +                                                A
  +                                                A
  +                                                A
  +                                                A
  +                                                A
1 +                        AAAAAAAAAAAAAAAAAAAAAAAAA
  +                        A
  +                        A
  +                        A
  +                        A
  +-+--+-+--+-+--+-+--+-+--*-+--+-+--+-+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+
0 +                        A
  +          0.5           1          1.5          2           2.5          3
  +                        A
  +                        A
-1*AAAAAAAAAAAAAAAAAAAAAAAAA


10.4. Wyrażenie funkcyjne

Jest jeszcze inna metoda wykonywania operacji matematycznych na funkcjach, a właściwie na wyrażeniach funkcyjnych. Wyrażeniem funkcyjnym nazywam zmienną zależną od innych zmiennych, na przykład:

> f:=(4*x+1)/(x^4-13*x^2+36);

                                      4 x + 1
                             f := ---------------
                                   4       2
                                  x  - 13 x  + 36

Wartość tego wyrażanie można wyznaczyć na dwa sposoby. Pierwszym z nich jest użycie funkcji subs:

> subs(x=1/2,f);

                                      16
                                      ---
                                      175

> evalf(subs(x=1/2,f));

                                 0.09142857143

Drugą metodą jest zdefiniowanie zmiennej x i przypisanie jej wartości 1/2:

> x:=1/2;

                                   x := 1/2

> f;

                                      16
                                      ---
                                      175

[koniec]