MPZI_predavanje_07

2515 days ago by fresl

(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
       

                                
                            

                                
  • ind — indefinite, neodređeno
       

                                
                            

                                
       

                                
                            

                                


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:

  • f — funkcija čiji graf i tangente crtamo,
  • xmin, xmax — rubovi intervala na kojem crtamo funkciju,
  • ymin, ymax — ordinate najniže i najviše točke crteža,
  • delay — vrijeme između izmjenjivanja uzastopnih crteža u stotinkama sekunde (s podrazumijevanom vrijednošću 12 stotinki).

(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:

  • u općoj jednadžbi pravca  $y = a\,x + b$  nagib $a$ jednak je, po definiciji derivacije, vrijednosti derivacije funkcije u točki $c$:  $a = f'(c)$,
  • tangenta mora proći točkom $\big(c, f(c)\big)$, pa iz  $f(c) = f'(c)\,c + b$  dobivamo  $b = f(c) - f'(c)\,c$.

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:

  • f — funkcija koju aproksimiramo,
  • x0 — točka u okolišu koje aproksimiramo funkciju ($c$ u iskazu teorema),
  • nn — stupanj najvišega Taylorovog polinoma,
  • xmin, xmax, ymin, ymax, delay — kao u funkciji animate_tangents(); podrazumijevana vrijednost za delay je sada 120 stotinki. 

(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]$