Miestnosť je reprezentovaná skalárnym poľom T(izotermická plocha v tepelnom poli), takže v každom bode (x,y,z) je teplota zastupovaná T(x,y,z). Predpokladáme, že sa teplota v priebehu času nemení. Gradient zo skalárneho poľa T bude ukazovať smer, v ktorom sa teplota najrýchlejšie zvyšuje. Veľkosť gradientu určí, ako rýchlo bude teplota v tomto smere stúpať.
Gradient nám hovorí, v ktorom smere sa mám pohnúť v poli T aby sme sa dostali do oblasti s najvyššou teplotou.
Gradient je skalárna funkcia, ktorá každému bodu trojrozmernej oblasti priradí reálne číslo\(\implies\) vektor. Tejto funcii vieme priradit gradient funkcie. Zapisuje sa aj ako \(\nabla f\) = (\(\frac{\partial f}{\partial x},\frac{\partial f}{\partial y},\frac{\partial f}{\partial z}\)). Pokiaľ by sme chceli zistiť hodnotu gradientu v konkretnom bode, tak si tam dosadíme jeho súradnice .
Dôvod: ak \(\vec{v}\) je vektor v ľubovoľnom smere s \(\|v\|\)=1 (dlžkou 1) . Tak potom (derivácia v smere \(\vec{v}\) vo funkci f) D\(\vec{v}\)f = \(\nabla f\) \(\bullet\) \(\vec{v}\) = \(\|\nabla f \| \cdot \|v\| \cdot\) \(\cos (\nabla,\vec{v})\) \(\implies\) D\(\vec{v}\)f je maximálna \(\Leftrightarrow\) \(\nabla f \parallel \vec{v} \implies \vec{v}\) = \(\frac{1}{\|\nabla f \|} \cdot \nabla f\)
Máme zadanú funkciu f(x,y) = x2 -xy
Aká je smerová derivácia f v bode (2,-3) v smere vektora \(\vec{v}\) = (0.6,0.8) ?
Smerovú deriváciu môžme vyjadriť ako vážený súčet parcialných derivácii: \(\nabla\)\(\vec{v}\)f = 0.6\(\frac{\partial f}{\partial x}\) + 0.8\(\frac{\partial f}{\partial y}\)
alebo ju môžme zapísať ako skalárny súčin s gradientom:
\(\nabla\)\(\vec{v}\)f = \(\nabla f \bullet \vec {v}\)
\[\nabla f=\begin{bmatrix} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \\ \end{bmatrix} = \begin{bmatrix} \frac{\partial (x^2-xy)}{\partial x} \\ \frac{\partial (x^2-xy)}{\partial y} \\ \end{bmatrix} =\begin{bmatrix} \ 2x-y \\ \ -x \\ \end{bmatrix}\] Dosadíme daný bod (x,y) = (2,-3).
\[\nabla f(2,-3) = \begin{bmatrix} \ 2(2)-(3) \\ \ -(2) \\ \end{bmatrix} = \nabla f(2,-3) = \begin{bmatrix} \ 7 \\ \ -2 \\ \end{bmatrix} \]
library("numDeriv")
# definícia funkcie
myfunc <- function(lst) {lst[1]^2 - lst[1]*lst[2]}
# výpočet gradientu
grad(myfunc, c(2,-3))
## [1] 7 -2
Aby sme získali požadovanú smerovú deriváciu spravíme skalárny súčin medzi gradientom a vektorom v.
\[ \nabla~\vec{v}~f(2,-3) = \nabla f (2,-3) \bullet (0.6i +0.5j) = \begin{bmatrix} \ 7 \\ \ -2 \\ \end{bmatrix} \bullet \begin{bmatrix} \ 0.6 \\ \ 0.8 \\ \end{bmatrix} = 7(0.6)+(-2)(0.8)=2.6\]
# požadovaný smerový derivát
vect1 <- c(7,-2)
vect2 <- c(0.6,0.8)
vect1 %*% vect2
## [,1]
## [1,] 2.6