Różniczkowanie funkcji f(x)

Do różniczkowania funkcji służy komenda diff(f,x), dzięki której funkcja (wcześniej zdefiniowana jako f z wprowadzonymi zmiennymi oraz parametrami symbolicznymi), będzie różniczkowana względem zmiennej x. Można również posłużyć się komendą diff(f). Funkcja będzie domyślnie różniczkowana po x-ach. Chcąc zróżniczkować funkcję f(x,a) = sin(ax) najpierw musimy wprowadzić x oraz a, a następnie odpowiednio zapisać f(x). W głównym oknie matlaba piszemy:

syms a x %wprowadzamy symboliczne a oraz x

f = sin(a*x) %zapisujemy postać funkcji f(x)

g = diff(f) %domyślnie różniczkujemy po x-ach

W odpowiedzi otrzymujemy funkcję g(x): g = cos(a*x)*a

h = diff(f,a) %różniczkuje funkcje f wzgledem a

W odpowiedzi otrzymujemy funkcję h(a): h = cos(a*x)*x

Do liczenia pochodnych wyższych rzędów służy komenda diff(f,x,2) gdzie f - to różniczkowana funkcja, x - oznacza po jakiej zmiennej funkcja będzie różniczkowana, a na końcu wpisujemy którą pochodną chcemy policzyć (w tym przypadku jest to druga pochodna, ale można wpisać dowolną). Można w tej komendzie tak jak poprzednio pominąć x, wtedy domyślnie policzona zostanie druga pochodna funkcji f względem x.

Różniczkowanie elementów macierzy A

Różniczkowanie można równie dobrze wykonywać na elemantach macierzy A diff(A)

syms a x %wprowadzamy symboliczne a oraz x

A = [cos(a*x),sin(a*x);-sin(a*x),cos(a*x)] %zapisujemy macierz

diff(A) %różniczkujemy każdy element macierzy

W odpowiedzi dostajemy

A =
[ -sin(a*x)*a, cos(a*x)*a]
[ -cos(a*x)*a, -sin(a*x)*a]

Tak jak przy funkcjach, można różniczkować względem dowolnej zmiennej oraz można liczyć różniczki wyższych rzędów.

Jakobian

Jeśli układ współrzędnych sferycznych zdefiniowany jest jak na rysunku:

to jakobian wyraża się wzorem:

W Matlabie jakobian oblicza się komendą J = jacobian([x; y; z], [r l f]).

l = sym('lambda'), r = sym('ro'), f = sym('phi') % wprowadzamy zmienne współrzędnych sferycznych l czyli lambda, r czyli ro oraz f czyli phi

x = r*cos(l)*cos(f); y = r*cos(l)*sin(f); z = r*sin(l); % zapisujemy związki między współrzędnymi przestrzennymi a współrzędnymi sferycznymi

J = jacobian([x; y; z], [r l f]) % liczymy jakobian

W odpowiedzi dostajemy

J =

[ cos(lambda)*cos(phi), -ro*sin(lambda)*cos(phi), -ro*cos(lambda)*sin(phi)]
[ cos(lambda)*sin(phi), -ro*sin(lambda)*sin(phi), ro*cos(lambda)*cos(phi)]
[ sin(lambda), ro*cos(lambda), 0]

Całkowanie funkcji f(x)

Przy liczeniu całek obowiązują te same reguły co przy liczeniu różniczek. Całki można liczyć nieokreślone: int(f,x) (wystarczy napisać inf(f) wtedy funkcja zostanie domyślnie scałkowana po dx). Lub określone w przedziale (a.b): int(f,x,a,b).

Zachęcam do przećwiczenia takich samych wariantów z tą komendą jak z komendą diff(x).

Granice funkcji

Gdy wprowadzimy symboliczne wyrażenie S(n), to jego granicę przy n dążącym do jakiejś wartości a możemy wyliczyć przy pomocy komendy

limit(S,n,a) %liczymy granicę z wyrażenia S przy n dążącym do a.

Pochodną funkcji można wyliczyć z definicji, licząc następującą granicę:

Za pomocą komendy limit(S,n,a) możemy policzyć pochodną funkcji.Gdy chcemy policzyć pochodną funkcji f(x) = sin(x) w głównym oknie Matlaba wpisujemy:

syms x h %wprowadzamy symbolicznie x oraz h

S = (sin(x+h) - sin(x))/h %zapisujemy wyrażenie na S

g = limit(S,h,0 ) %wyliczamy granice z S przy h dążącym do 0

To samo można zrobić w następujący sposób:

syms x h

limit((sin(x+h) - sin(x))/h,h,0)

Domyślnie liczona jest granica dążąca do 0. Mozna liczyć również granice do nieskończoności wpisując inf za n-em w nawiasie limit( (1 + x/n)^n,n,inf ), lub -inf gdy liczymy granicę w minus nieskończoności. Są funkcje takie jak np.: f(x) = 1/x nieokreślone w zerze. Liczymy wtedy granicę przy x zmierzającym do zera z prawej 'right' lub lewej 'left' strony. 'right' lub 'left' wpisujemy na końcu nawiasu limit(1/x,x,0,'left').

Sumowanie szeregów

Komendą symsum(S,n,a,b) dokonujemy sumowania szeregu S po n-ach od a do b

syms n

S = 1/n^2 %zapisujemy wyrażenie S(n)

symsum(S,n,1,inf) %sumujemy od 1 do nieskończoności

ans = 1/6*pi^2 %odpowiedź

Szereg Taylora jednej zmiennej

Komendą taylor(f,n,a) rozwijamy funkcję f w szereg Taylora do n-tego rzędu, względem a, według wzoru

syms x

f = exp(x^2) %zapisujemy funkcję f(x)

t = taylor(f,4,1) %rozwijamy w szereg Taylora względem jedynki i do czwartego rzędu

t = exp(1)+2*exp(1)*(x-1)+3*exp(1)*(x-1)^2+10/3*exp(1)*(x-1)^3 %odpowiedź

Do wyrażenia t proponuję zastosować komendę pretty(t).