Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit, $IterationLimit) Wartości początkowe definiowane są na końcu Tablica wartości rekurencyjnych: RecurrencyTable[#1,#2,{n,nmax}] Funkcje rekursyjne są podstawą do konstrukcji fraktali.
Module Module służy do definicji funkcji wykonujących złożone obliczenia Możemy wprowadzić lokalne zmienne tymczasowe Wartości tych zmiennych nie są przetrzymywane w pamięci Zwracana jest ostatnia wielkość, która byłaby wyświetlona przy normalnym wywołaniu kodu Przykład: znajdź punkt z okręgu o określonym promieniu i środku, w którym dana funkcja ma największą wartosć. Napisz funkcję zamieniającą pojedynczy element macierzy na wskazaną wartość
Funkcje wielu zmiennych Dwa rodzaje przesłaniania: konfiguracja danych i typy danych W Mathematice tylko niektóre funkcje systemowe są przysłaniane Np. Max[#], Re[#], Power[#1,#2] Przysłanianie wymaga sensu matematycznego Funkcje zdefiniowane dziedziczą przysłanianie po użytych funkcjach Funkcje dla innych konfiguracji danych wymagają redefinicji F[x_]:=… F[x_,y_]:=… Wygodniej jest definiować funkcje dla listy, a nie dla kolejnych zmiennych. N.p. iloczyn tensorowy, wielkości statystyczne dla pojedynczych detekcji, Stopień zbalansowania baz w dowolnym wymiarze…
Funkcje zszywane Funkcje, które definiujemy przez podanie ich postaci na fragmentach dziedziny. f1 f2 f3 f4 f5 f6 f7 f8 f9 Przykłady: -Siła działająca na kulę spadającą do zbiornika z cieczą -cząstka kwantowa w studni potencjału o skończonej głębokości.
Metoda 1 –funkcje warunkowe
Metoda 2 –funkcje blokowe Mathematica posiada kilka różnych funkcji nieciągłych. Róznią się między sobą wartością w punkcie 0 i powiązaniami z innymi funkcjami UnitStep UnitBlock HeavySideTheta HeavySidePi HeavySideLambda Sign KroneckerDelta Bardzo trudne do zastosowania w pewnych obszarach
Metoda 3-Piecewise Piecewise pozwala na zszywanie funkcji. Podajemy listę par. Pierwszym elementem pary jest kawałek funkcji, drugim definicja obszaru, na którym ten kawałek obowiązuje. Jedną z definicji obszaru jest True, obejmuje ona wszystkie punkty, które nie były wcześniej opisane. Definicja Piecewise pozwala na dziedziczenie wszystkich własności funkcji pochodnych i całkowych. Funkcje Piecewise można ze sobą składać. Zmienna systemowa $MaxPiecewiseCases określa na ilu obszarach jest określona funkcja
Prezentacja tablic TableForm MatrixForm Row, Column, Grid Frame, Dividers-obramowanie i linie podziału FrameStyle Background SpanFromLeft,SpanFromAbove-elementy łączące komórki (muszą wystąpić w tablicy)