Pochodną w punkcie nazywamy . W programie MATLAB nie istnieje wbudowana metoda do obliczania pochodnych. Istnieje jednak możliwość wygenerowania zbioru wartości na podstawie zachowania funkcji f(x). W celu osiągnięcia tego skorzystamy z funkcji diff.
Jeśli funkcji diff podamy wektor w to zostanie zwrócony wektor, którego i-ta wartość będzie różnicą elementu o indeksie i+1 oraz i. Przykładowo dla wektora w:=[1, 2, 4] zostanie zwrócony [2 - 1, 4 - 2] = [1, 2]. Innymi słowy wynikiem działania funkcji jest różnica każdej pary elementów.
Z poziomu konsoli funkcję wywołujemy następująco:
Funkcja diff ma znacznie szersze zastosowanie. Można jej używać również z macierzami. Ze względu na brak powiązania z obecnym tematem odsyłam zainteresowane osoby do pomocy programu MATLAB.
Do obliczania pochodnej wykorzystamy algorytm Skończonych różnic. Polega on na podziale dziedziny funkcji na n części. Wartość pochodnej obliczamy dla argumentu, który znajduje sie pomiędzy końcami odcinków. Istnieje kilka wariantów tego algorytmu. Każdy z nich różni się sposobem wyboru argumentu dla którego obliczamy pochodną.
Dokonujemy podziału dziedziny na n równych części. W tym przypadku ilorazy różnicowe obliczamy jako:
W ten sposób otrzymujemy przybliżone wartości pochodnej dla argumentów . Spróbujmy teraz zaimplementować to rozwiązanie w programie MATLAB. Będziemy chcieli wyznaczyć pochodną cosinusa na przedziale :
Na początek ustalamy dziedzinę E. W przypadku, gdy wykres nie będzie gładki należy tu zmienić różnice argumentów. Następnie wyliczamy zbiór wartość dla każdego punktu dziedziny. Ostatnie polecenie działa następująco:
Najczęstszym błedem w przypadku korzystania z tego algorytmu jest zapominanie o dodaniu kropki . do operatora dzielenia /. Co powoduje dzielenie dwóch wektorów przez siebie, a niekoniecznie dzielenie i-tego elementu z pierwszej listy przez i-ty element z drugiej listy.
Dokonujemy podziału dziedziny na n równych części. Ilorazy różnicowe obliczamy następująco:
W tym przypadku implementacja w programie MATLAB będzie wyglądała następująco:
Dokonujemy podziału dziedziny na n równych części. Ilorazy różnicowe będziemy wyliczać tak:
To rozwiązanie jest jakby połączniem poprzednich dwóch wariantów. Tutaj musimy wyrzucić podczas obliczeń nie jeden, a dwa punkty dziedziny:
Spróbujmy teraz prześledzić czym jak różnią się poszczególne warianty. W tym celu wygenerujemy wykres na którym przedstawimy wartości poszczególnych wariantów:
Należy pamiętać, aby dla każdego zbioru wartości pochodnych ustalić prawidłową dziedzine. Inaczej wykres nie będzie miał prawidłowego wyglądu. Analizując wykres bardzo łatwo zauważyć, że najdokładniej wylicza wariant Różnic Postępujących.
W przypadku generowania pochodnej funkcji zmieniamy sposób wyliczania zbioru wartości. Należy pamiętać o odpowiednim ustaleniu dziedziny pochodnej. Ważną kwestia jest dobranie odpowiedniej różnicy pomiędzy kolejnymi argumentami. Funkcja to: