(Za „lijepi” ispis svih rezultata označite kvadratić kraj riječi Typeset.)
Elementi matematičke analize (1)
Prisjetite se (predavanje 2.) da se nove funkcije definiraju na sljedeći način:
f(x) = izraz za definiciju
Primjerice:
|
Granične vrijednosti funkcija
Neformalno, za funkciju $f$ varijable $x$ kažemo da teži ili konvergira graničnoj vrijednosti ili limesu $L$ kada $x$ teži vrijednosti $c$ (koja može, ali ne mora pripadati domeni funkcije $f$), ako je uvijek, kad je $x$ „neizmjerno” blizu $c$, vrijednost $f(x)$ funkcije $f$ u $x$ „neizmjerno” blizu vrijednosti $L$. (Formalnu definiciju limesa naučit ćete u Matematici 1.)
![]() |
|
|
|
|
|
|
|
|
|
|
|
|
![]() |
Traceback (click to the left of this block for traceback) ... ValueError: power::eval(): division by zero Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_24.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ZygxKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmp4bxBK3/___code___.py", line 3, in <module> exec compile(u'g(_sage_const_1 ) File "", line 1, in <module> File "sage/symbolic/expression.pyx", line 5447, in sage.symbolic.expression.Expression.__call__ (build/cythonized/sage/symbolic/expression.cpp:33873) File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/callable.py", line 463, in _call_element_ return SR(_the_element.substitute(**d)) File "sage/symbolic/expression.pyx", line 5299, in sage.symbolic.expression.Expression.substitute (build/cythonized/sage/symbolic/expression.cpp:32803) ValueError: power::eval(): division by zero |
|
... hmm ...
|
|
|
![]() |
Traceback (click to the left of this block for traceback) ... ValueError: power::eval(): division by zero Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_30.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aCgxLik="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmp4YPztZ/___code___.py", line 3, in <module> exec compile(u'h(_sage_const_1p ) File "", line 1, in <module> File "sage/symbolic/expression.pyx", line 5447, in sage.symbolic.expression.Expression.__call__ (build/cythonized/sage/symbolic/expression.cpp:33873) File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/callable.py", line 463, in _call_element_ return SR(_the_element.substitute(**d)) File "sage/symbolic/expression.pyx", line 5299, in sage.symbolic.expression.Expression.substitute (build/cythonized/sage/symbolic/expression.cpp:32803) ValueError: power::eval(): division by zero |
|
|
|
|
![]() |
Traceback (click to the left of this block for traceback) ... ValueError: power::eval(): division by zero Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_36.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("cygxKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpeESN4E/___code___.py", line 3, in <module> exec compile(u's(_sage_const_1 ) File "", line 1, in <module> File "sage/symbolic/expression.pyx", line 5447, in sage.symbolic.expression.Expression.__call__ (build/cythonized/sage/symbolic/expression.cpp:33873) File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/callable.py", line 463, in _call_element_ return SR(_the_element.substitute(**d)) File "sage/symbolic/expression.pyx", line 5299, in sage.symbolic.expression.Expression.substitute (build/cythonized/sage/symbolic/expression.cpp:32803) ValueError: power::eval(): division by zero |
|
|
|
Derivacije funkcija
Geometrijski, derivacija funkcije $f$ varijable $x$ u odabranoj točki $c$ njezine domene nagib je tangente na njezin graf u točki $\big(c, f(c)\big)$. Nagib tangente (kao i svakoga pravca) jednak je, po definiciji, tangensu kuta $\alpha$ koji zatvara s osi $x$. Za $\alpha \in (0, \pi/2)$ je $\mathrm{tg}\,\alpha > 0$ (slikovito rečeno, nagib je „prema gore”), pa kažemo da funkcija $f$ raste; veći nagib znači brži rast funkcije. Za $\alpha \in (-\pi/2, 0)$ je $\mathrm{tg}\,\alpha < 0$ (nagib je „prema dolje”), a funkcija pada; po apsolutnoj vrijednosti manji nagib znači sporiji pad funkcije. (Formalnu definiciju derivacije funkcije naučit ćete u Matematici 1.)
Derivacije funkcije $f$ u svim točkama njezine domene, u kojima postoje, zajedno tvore novu funkciju $f\,'\!$.
Za zorni prikaz derivacije funkcije $f$ uveli smo (programsku) funkciju animate_tangents() koja crta tangente u nizu točaka uzduž njezina grafa (nacrtanog plavom bojom), a istodobno i graf derivacije funkcije (crvenom bojom). Ordinate točaka grafa derivacije vrijednosti su nagiba pripadnih tangenata.
Parametri funkcije animate_tangents() su:
(Kôd koji slijedi (zasad) ne trebate razumjeti. Želite li funkciju animate_tangents() upotrijebiti u drugom radnom listu, sadržaj polja morate prekopirati u taj radni list. Upozoravamo da priprema crtežâ, prije početka animacije, traje dosta dugo.)
|
![]() |
Prva derivacija
|
|
|
|
|
|
|
|
|
|
Tangentu grafa funkcije $f$ u točki $\big(c, f(c)\big)$ određujemo na sljedeći način:
Slijedi da je funkcija $l$, graf koje je tražena tangenta, dana izrazom
$l (x) \,=\, f'(c)\,x +f(c) - f'(c)\,c$,
ili
$l (x) \,=\, f'(c)\,(x - c) \,+\, f(c)$.
|
|
|
Tangenta u točki $\big(\!\!-\!3, f(-3)\big)$:
|
... nagib tangente (koeficijent uz $x = x^1$ u funkcijskom izrazu za $l$) jednak je derivaciji funkcije u $c$:
|
|
... tangenta prolazi točkom $\big(c, f(c)\big)$:
|
|
... a $b$ je
|
... numerička aprosimacija tangente u točki $\big(\!\!-\!3, f(-3)\big)$:
|
|
... ops ... ali, kao što znamo, za „realne” brojeve $r_1$ i $r_2$, dobivene različitim nizovima algebarskih operacija, ne treba nikada ispitati jednakost $r_1 = r_2$, nego
$|r_1 - r_2| < \tau_a$
ili
$\dfrac{|r_1 - r_2|}{|r_1|} < \tau_r$ ili $\dfrac{|r_1 - r_2|}{|r_2|} < \tau_r$,
gdje su $\tau_a$ i $\tau_r$ odabrane točnosti, apsolutna i relativna (a odabir je točnosti jedno od tajnih umijeća numeričke analize):
|
|
|
|
|
Derivacija ne mora postojati u svim točkama funkcije:
|
![]() |
|
|
|
|
Traceback (click to the left of this block for traceback) ... ValueError: power::eval(): division by zero Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_98.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ZGcoMCk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpb04jgd/___code___.py", line 3, in <module> exec compile(u'dg(_sage_const_0 ) File "", line 1, in <module> File "sage/symbolic/expression.pyx", line 5447, in sage.symbolic.expression.Expression.__call__ (build/cythonized/sage/symbolic/expression.cpp:33873) File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/callable.py", line 463, in _call_element_ return SR(_the_element.substitute(**d)) File "sage/symbolic/expression.pyx", line 5299, in sage.symbolic.expression.Expression.substitute (build/cythonized/sage/symbolic/expression.cpp:32803) ValueError: power::eval(): division by zero |
![]() |
|
|
|
![]() |
|
![]() |
|
Traceback (click to the left of this block for traceback) ... ValueError: power::eval(): division by zero Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_105.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ZGgoMCk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpGV5HzE/___code___.py", line 3, in <module> exec compile(u'dh(_sage_const_0 ) File "", line 1, in <module> File "sage/symbolic/expression.pyx", line 5447, in sage.symbolic.expression.Expression.__call__ (build/cythonized/sage/symbolic/expression.cpp:33873) File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/callable.py", line 463, in _call_element_ return SR(_the_element.substitute(**d)) File "sage/symbolic/expression.pyx", line 5299, in sage.symbolic.expression.Expression.substitute (build/cythonized/sage/symbolic/expression.cpp:32803) ValueError: power::eval(): division by zero |
|
|
Stacionarne točke
Ako je $f'(c) = 0$ za neki $c$, onda je tangenta grafa funkcije $f$ u točki $\big(c, f(c)\big)$ horizontalna: $l(x) = f(c)$. To znači da $f$ u $c$ ne raste niti pada.
![]() |
|
|
|
![]() |
U točki $(-2,\, 4e^{-2})$ funkcija $x\mapsto x^2\,e^x$ ima (lokalni) maksimum, a u točki $(0, 0)$ (lokalni) minimum.
No, točke $\big(c, f(c)\big)$ za koje je $f'(c) = 0$ ne moraju uvijek biti lokalni ekstremi funkcije:
|
|
![]() |
Točka $(0, 0)$ je točka infleksije (s horizontalnom tangentom) funkcije $x\mapsto x^3$. Vrsta stacionarne točke određuje se s pomoću druge derivacije (a katkad i viših derivacija); ponešto o tome na vježbama, a više (i strože) u Matematici 1.
Više derivacije
|
Druga derivacija funkcije $f$ derivacija je njezine prve derivacije.
|
|
![]() |
|
|
|
|
Taylorov polinom
Taylorov teorem:
Ako je funkcija $f$ „dovoljno glatka” (to jest, ako ima neprekinute derivacije do reda $n+1$) na intervalu $(a, b)$, onda za po volji odabrani $c\in (a, b)$ i za sve $x\in (a, b)$ vrijedi
$f(x) \:=\: f(c) \,+\, \dfrac{f'(c)}{1!}(x-c) \,+\, \dfrac{f''(c)}{2!}(x-c)^2 \,+\,\cdots\,+\, \dfrac{f^{(n)}(c)}{n!}(x-c)^n \,+\, R_n(x)$.
Aproksimacija funkcije $f$ varijable $x$ u okolišu točke $c$ Taylorovim polinomom $n$-tog stupnja:
|
|
|
|
|
|
|
|
Funkcija animate_taylor() crta niz aproksimacija funkcije $f$ u okolišu točke $x_0$ Taylorovim polinomima od stupnja $0$ do stupnja $n$. Parametri funkcije su:
(Kôd kojim je definirana funkcija zasad ne morate razumjeti.)
|
![]() |
|
|
Derivacije funkcija više varijabli
|
|
Neka je $f$ funkcija dviju varijabli $x$ i $y$. Ako se varijabla $y$ ne mijenja, može se uzeti da je $f(\cdot,y)$ funkcija jedne varijable, varijable $x$. Njezina se derivacija, ako postoji, naziva parcijalnom derivacijom funkcije $\boldsymbol{f}$ po varijabli $\boldsymbol{x}$. Analogno, ako se $x$ ne mijenja, $f(x, \cdot)$ je funkcija varijable $y$, a njezina je derivacija parcijalna derivacija funkcije $\boldsymbol{f}$ po varijabli $\boldsymbol{y}$. Parcijalne se derivacije označavaju s
$\dfrac{\partial f}{\partial x}$ i $\dfrac{\partial f}{\partial y}$.
|
|
|
|
|
Gradijent funkcije $f$ je vektor čije su komponente njezine parcijalne derivacije po pojedinim varijablama:
$\nabla f = \left[\begin{array}{c} \dfrac{\partial f}{\partial x} \\[1.125ex] \dfrac{\partial f}{\partial y} \end{array} \right]$
|
|
Parcijalna derivacija funkcije $f$ po varijabli $x$ može se derivirati po varijabli $x$, ali i po varijabli $y$:
$\dfrac{\partial^2 f}{\partial x^2}$ i $\dfrac{\partial^2 f}{\partial x\,\partial y}$.
Analogno, parcijalna derivacija po varijabli $y$ može se derivirati i po $y$ i po $x$:
$\dfrac{\partial^2 f}{\partial y^2}$ i $\dfrac{\partial^2 f}{\partial y\,\partial x}$.
|
|
|
|
|
|
Druge se parcijalne derivacije mogu svrstati u matricu koja se naziva Hesseovom matricom:
$H (f) = \left[\begin{array}{ccc} \dfrac{\partial^2 f}{\partial x^2} & \dfrac{\partial^2 f}{\partial x\,\partial y} \\[1.125ex] \dfrac{\partial^2 f}{\partial y\,\partial x} & \dfrac{\partial^2 f}{\partial y^2} \end{array} \right]$
|
|
|
|