Loading [MathJax]/extensions/TeX/verb.js

MPZI_predavanje_07

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

       
x  x2ex
                                
                            

                                


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.)

       
       
0
                                
                            

                                
       
4e(2)
                                
                            

                                
       
0.5413411329464508
                                
                            

                                
       
4e(2)
                                
                            

                                
       
4e(2)
                                
                            

                                
       
0.5413411329464508
                                
                            

                                
       
0.5413411329464508
                                
                            

                                
       
4e(2)
                                
                            

                                
       
0.541341132946451
                                
                            

                                
       
0
                                
                            

                                
       
+
                                
                            

                                
       
x  1x1
                                
                            

                                
       
       
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 ...

       
+
                                
                            

                                
       

                                
                            

                                
       
x  (x1)sin(1x1)
                                
                            

                                
       
       
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
       
0
                                
                            

                                
       
0
                                
                            

                                
       
0
                                
                            

                                
       
x  xsin(1x1)
                                
                            

                                
       
       
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
                                
                            

                                
  • ind — indefinite, neodređeno
       
ind
                                
                            

                                
       
ind
                                
                            

                                


Derivacije funkcija


Geometrijski, derivacija funkcije f  varijable x u odabranoj točki c njezine domene nagib je tangente na njezin graf u točki (c,f(c)). Nagib tangente (kao i svakoga pravca) jednak je, po definiciji, tangensu kuta α koji zatvara s osi x. Za  α(0,π/2)  je  tgα>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  α(π/2,0)  je  tgα<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

       
x  x2ex
                                
                            

                                
       
x  x2ex+2xex
                                
                            

                                
       
x  x2ex+2xex
                                
                            

                                
       
x  x2ex+2xex
                                
                            

                                
       
x  x2ex+2xex
                                
                            

                                
       
x  x2ex+2xex
                                
                            

                                
       
x  x2ex+2xex
                                
                            

                                
       
x  x2ex+2xex
                                
                            

                                
       
3e(3)
15e3
                                
                            

                                
       
0.149361205103592
301.283053847815
                                
                            

                                


Tangentu grafa funkcije f u točki  (c,f(c))  određujemo na sljedeći način:

  • u općoj jednadžbi pravca  y=ax+b  nagib a jednak je, po definiciji derivacije, vrijednosti derivacije funkcije u točki ca=f(c),
  • tangenta mora proći točkom (c,f(c)), 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)(xc)+f(c).

       
c
                                
                            

                                
       
x  x2ex+2xex
                                
                            

                                
       
x  c2ec(c2ec+2cec)(cx)
                                
                            

                                

Tangenta u točki  (3,f(3)):

       
x  3(x+3)e(3)+9e(3)
                                
                            

                                

... nagib tangente  (koeficijent uz x=x1 u funkcijskom izrazu za l)  jednak je derivaciji funkcije u c:

       
3e(3)=3e(3)
                                
                            

                                
       
True
                                
                            

                                

... tangenta prolazi točkom (c,f(c)):

       
9e(3)=9e(3)
                                
                            

                                
       
True
                                
                            

                                

... a b je

       
18e(3)
                                
                            

                                

... numerička aprosimacija tangente u točki  (3,f(3)):

       
x  0.149361205103592x+0.896167230621551
                                
                            

                                
       
False
                                
                            

                                

... ops ... ali, kao što znamo, za „realne” brojeve r1 i r2, dobivene različitim nizovima algebarskih operacija, ne treba nikada ispitati jednakost  r1=r2,  nego

       |r1r2|<τa

ili

       |r1r2||r1|<τr   ili   |r1r2||r2|<τr

gdje su τa i τr odabrane točnosti, apsolutna i relativna (a odabir je točnosti jedno od tajnih umijeća numeričke analize):

       
       
(5.55111512312578×1017)<(1.00000000000000×1013)
                                
                            

                                
       
True
                                
                            

                                
       
(1.23885697522676×1016)<(1.00000000000000×1012)
                                
                            

                                
       
True
                                
                            

                                

 

Derivacija ne mora postojati u svim točkama funkcije:

       
x  |x|
                                
                            

                                
       
       
x  x+¯x2|x|
                                
                            

                                
       

                                
                            

                                
       

                                
                            

                                
       

                                
                            

                                
       
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]