Loading [MathJax]/jax/element/mml/optable/GeneralPunctuation.js

MPZI_predavanje_08

2437 days ago by fresl

(Za „lijepi” ispis svih rezultata označite kvadratić kraj riječi Typeset.)

 

 

Elementi matematičke analize (2)


 Integrali


Određeni integrali

 

Geometrijski, vrijednost određenoga integrala funkcije f jedne varijable u granicama od a do bA=baf(x)dx,  uz  a<b,  jednaka je „ploštini” površine između krivulje kojom je funkcija f predočena (grafa funkcije f), osi x i ordinala u točkama a i b:

       
       
       
1.6058644239859046
                                
                            

                                

Ako je graf funkcije ispod osi x (to jest, ako su vrijednosti funkcije negativne), dobivena je „ploština” negativna:

       
       
1.6058644239859046
                                
                            

                                

... tako da je, primjerice,

       
0
                                
                            

                                
       

... i još jedan primjer:

       
0
                                
                            

                                
       

Zamijene li se granice integracije, vrijednost integrala mijenja predznak:

       
1.6058644239859046
1.6058644239859046
                                
                            

                                
       
1.6058644239859046
1.6058644239859046
                                
                            

                                

I, naravno:

       
0
                                
                            

                                

 

Nazivi funkcija integral() i integrate() su sinonimi, a još su neki oblici poziva:

       
1.6058644239859046
                                
                            

                                
       
1.6058644239859046
                                
                            

                                
       
1.6058644239859046
                                
                            

                                
       
1.6058644239859046
                                
                            

                                
       
1.6058644239859046
                                
                            

                                
       
1.6058644239859046
                                
                            

                                

 

Jedna primjena u mehanici

Sila F djeluje na pravcu osi xF=Fı,  a njezina je vrijednost F funkcija položaja njezina hvatišta,  F:xF(x).  Ako se njezino hvatište pomakne od točke x0 do točke x1, mehanički je rad sile F na tom pomaku

          W=x1x0F(x)dx.

       
1
                                
                            

                                
       

Kako je  F<0,  sila i pomak od točke  x0=2  do točke  x1=1  jednako su orijentirani, pa je rad pozitivan. Ako je pak sila orijentirana suprotno od pomaka (primjerice, ako je pomak od  x1=1  do  x0=2), rad je negativan (kažemo da se sila odupire pomaku):

       
1
                                
                            

                                

Ako nema pomaka, rad je jednak nuli:

       
0
                                
                            

                                


Beskonačnosti dohvatljive i nedohvatljive

       

                                
                            

                                
       

... ali:

       
1
                                
                            

                                

Međutim,

       
       
Traceback (click to the left of this block for traceback)
...
ValueError: Integral is divergent.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_59.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aW50ZWdyYWwgKC0xL3gsICh4LCAwLCAxKSk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpoPtex9/___code___.py", line 3, in <module>
    exec compile(u'integral (-_sage_const_1 /x, (x, _sage_const_0 , _sage_const_1 ))
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py", line 753, in integral
    return x.integral(*args, **kwds)
  File "sage/symbolic/expression.pyx", line 12366, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:69760)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 820, in integrate
    return definite_integral(expression, v, a, b, hold=hold)
  File "sage/symbolic/function.pyx", line 998, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.cpp:11922)
  File "sage/symbolic/function.pyx", line 487, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.cpp:6848)
  File "sage/symbolic/function.pyx", line 1086, in sage.symbolic.function.BuiltinFunction._evalf_or_eval_ (build/cythonized/sage/symbolic/function.cpp:13207)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 180, in _eval_
    return integrator(*args)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/external.py", line 34, in maxima_integrator
    result = maxima.sr_integral(expression, v, a, b)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 811, in sr_integral
    raise ValueError("Integral is divergent.")
ValueError: Integral is divergent.
       
391.4394658089878
                                
                            

                                
       
Traceback (click to the left of this block for traceback)
...
ValueError: Integral is divergent.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_61.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aW50ZWdyYWwgKC0xL3gsICh4LCAxLCBvbykp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpncHEjP/___code___.py", line 3, in <module>
    exec compile(u'integral (-_sage_const_1 /x, (x, _sage_const_1 , oo))
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py", line 753, in integral
    return x.integral(*args, **kwds)
  File "sage/symbolic/expression.pyx", line 12366, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:69760)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 820, in integrate
    return definite_integral(expression, v, a, b, hold=hold)
  File "sage/symbolic/function.pyx", line 998, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.cpp:11922)
  File "sage/symbolic/function.pyx", line 487, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.cpp:6848)
  File "sage/symbolic/function.pyx", line 1086, in sage.symbolic.function.BuiltinFunction._evalf_or_eval_ (build/cythonized/sage/symbolic/function.cpp:13207)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 180, in _eval_
    return integrator(*args)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/external.py", line 34, in maxima_integrator
    result = maxima.sr_integral(expression, v, a, b)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 811, in sr_integral
    raise ValueError("Integral is divergent.")
ValueError: Integral is divergent.
       
       
391.4394658089878
                                
                            

                                
       
       
1
                                
                            

                                
       
Traceback (click to the left of this block for traceback)
...
ValueError: Integral is divergent.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_66.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aW50ZWdyYWwgKC0xL3heMiwgKHgsIDAsIDEpKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmp2O86lw/___code___.py", line 3, in <module>
    exec compile(u'integral (-_sage_const_1 /x**_sage_const_2 , (x, _sage_const_0 , _sage_const_1 ))
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py", line 753, in integral
    return x.integral(*args, **kwds)
  File "sage/symbolic/expression.pyx", line 12366, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:69760)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 820, in integrate
    return definite_integral(expression, v, a, b, hold=hold)
  File "sage/symbolic/function.pyx", line 998, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.cpp:11922)
  File "sage/symbolic/function.pyx", line 487, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.cpp:6848)
  File "sage/symbolic/function.pyx", line 1086, in sage.symbolic.function.BuiltinFunction._evalf_or_eval_ (build/cythonized/sage/symbolic/function.cpp:13207)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 180, in _eval_
    return integrator(*args)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/external.py", line 34, in maxima_integrator
    result = maxima.sr_integral(expression, v, a, b)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 811, in sr_integral
    raise ValueError("Integral is divergent.")
ValueError: Integral is divergent.


Numerička integracija

 

Postoje funkcije integrali kojih se ne mogu točno izračunati (ili ih barem SageMath ne zna izračunati), iako je lako vidjeti da ploštine ispod njihovih grafova postoje; primjerice:

       
20xxdx
                                
                            

                                
       

Takve se funkcije mogu integrirati numerički:

       
2.8338767401244733
1.6079092247025148×1006
                                
                            

                                
  • rezultat su dva broja: ploština površine „ispod” grafa funkcija i, budući da je numerička integracija približna, ocjena pogreške — apsolutna vrijednost razlike između „stvarne” i izračunane ploštine nije veća od tog broja; drugim riječima, stvarna je ploština neka vrijednost iz intervala
       
[2.8338751322152484,2.833878348033698]
                                
                            

                                

Naravno, numerički  se mogu integrirati i funkcije čiji su točni integrali poznati:

       
1.0
1.1102230246251565×1014
                                
                            

                                
  • točna vrijednost, vidjeli smo, jest  1;
       
0.9999999984543851
6.984563559375666×1007
                                
                            

                                
  • točna je vrijednost  1;
       
1.0560674032479055×1015
5.596795815141414×1014
[5.491189074816624×1014,5.702402555466204×1014]
                                
                            

                                
  • točna je vrijednost 0.

 

Pri numeričkoj integraciji treba biti oprezan:

       
(69.45462466669275,13.11226951649312)
                                
                            

                                
       
(65.94931131932763,8.156214940519742)
                                
                            

                                


Neodređeni integrali

 

Obrnuti problem tangente:  iz nagiba tangenata krivulje treba odrediti tu krivulju

       
x  x
                                
                            

                                

Funkcijom f zadano je polje smjerova ili polje nagibâ:

       
       
x  12x2
                                
                            

                                
       
x  x
                                
                            

                                
       

Za razliku od određenoga integrala, koji je broj, neodređeni integral  F=f(x)dx  je funkcija.  Primitivna funkcija ili neodređeni integral  funkcije f je funkcija F čija je derivacija funkcija fF=f.

 

       
x  12x2+C
                                
                            

                                
       
x  x
                                
                            

                                
       

Ako je F primitivna funkcija funkcije f, onda su njezine primitivne funkcije i sve funkcije  F+C,  gdje je C bilo koja konstanta. I, s druge strane, sve primitivne funkcije funkcije f oblika su  F+C.

 

       
x  x2
                                
                            

                                
       
x  13x3+C
                                
                            

                                
       
x  x2
                                
                            

                                
       
       
x  log(x)
                                
                            

                                
       
x  xlog(x)+Cx
                                
                            

                                
       

Divergentnost određenoga integrala (za neke granice) ne znači da se integral ne može simbolički riješiti:

       
Traceback (click to the left of this block for traceback)
...
ValueError: Integral is divergent.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_117.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aW50ZWdyYWwgKC0xL3gsIHgsIDAsIDEp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpwrvXvq/___code___.py", line 3, in <module>
    exec compile(u'integral (-_sage_const_1 /x, x, _sage_const_0 , _sage_const_1 )
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py", line 753, in integral
    return x.integral(*args, **kwds)
  File "sage/symbolic/expression.pyx", line 12366, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:69760)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 820, in integrate
    return definite_integral(expression, v, a, b, hold=hold)
  File "sage/symbolic/function.pyx", line 998, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.cpp:11922)
  File "sage/symbolic/function.pyx", line 487, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.cpp:6848)
  File "sage/symbolic/function.pyx", line 1086, in sage.symbolic.function.BuiltinFunction._evalf_or_eval_ (build/cythonized/sage/symbolic/function.cpp:13207)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 180, in _eval_
    return integrator(*args)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/external.py", line 34, in maxima_integrator
    result = maxima.sr_integral(expression, v, a, b)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 811, in sr_integral
    raise ValueError("Integral is divergent.")
ValueError: Integral is divergent.
       
log(x)
                                
                            

                                
       

 

Jedna primjena u mehanici

Newtonova je kinematička inačica obrnutoga problema tangente:  „Ako je zadana brzina gibanja u kojigod vremenski čas, naći duljinu puta opisana u određenu vremenu”.  Pri slobodnomu je padu, primjerice:

       
t  9.81000000000000t
                                
                            

                                
       
t  4.905t2
                                
                            

                                


Veza određenoga integrala i primitivne funkcije (Newton–Leibnizova formula)

Ako je F primitivna funkcija funkcije f, onda je 

          baf(x)dx=F(b)F(a).

       
x  16cos(3x)cos(x)
                                
                            

                                
       
1.83263233167811
                                
                            

                                
       
1.8326323316781108
                                
                            

                                
       
x  log(x)
                                
                            

                                
       

                                
                            

                                
       
Traceback (click to the left of this block for traceback)
...
ValueError: Integral is divergent.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_130.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aW50ZWdyYWwgKC0xL3gsIHgsIDAsIDEp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpAuFAKc/___code___.py", line 3, in <module>
    exec compile(u'integral (-_sage_const_1 /x, x, _sage_const_0 , _sage_const_1 )
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py", line 753, in integral
    return x.integral(*args, **kwds)
  File "sage/symbolic/expression.pyx", line 12366, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:69760)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 820, in integrate
    return definite_integral(expression, v, a, b, hold=hold)
  File "sage/symbolic/function.pyx", line 998, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.cpp:11922)
  File "sage/symbolic/function.pyx", line 487, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.cpp:6848)
  File "sage/symbolic/function.pyx", line 1086, in sage.symbolic.function.BuiltinFunction._evalf_or_eval_ (build/cythonized/sage/symbolic/function.cpp:13207)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 180, in _eval_
    return integrator(*args)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/external.py", line 34, in maxima_integrator
    result = maxima.sr_integral(expression, v, a, b)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 811, in sr_integral
    raise ValueError("Integral is divergent.")
ValueError: Integral is divergent.
       

                                
                            

                                
       
Traceback (click to the left of this block for traceback)
...
ValueError: Integral is divergent.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_131.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aW50ZWdyYWwgKC0xL3gsIHgsIDEsIG9vKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpox7wxd/___code___.py", line 3, in <module>
    exec compile(u'integral (-_sage_const_1 /x, x, _sage_const_1 , oo)
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py", line 753, in integral
    return x.integral(*args, **kwds)
  File "sage/symbolic/expression.pyx", line 12366, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:69760)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 820, in integrate
    return definite_integral(expression, v, a, b, hold=hold)
  File "sage/symbolic/function.pyx", line 998, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.cpp:11922)
  File "sage/symbolic/function.pyx", line 487, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.cpp:6848)
  File "sage/symbolic/function.pyx", line 1086, in sage.symbolic.function.BuiltinFunction._evalf_or_eval_ (build/cythonized/sage/symbolic/function.cpp:13207)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 180, in _eval_
    return integrator(*args)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/external.py", line 34, in maxima_integrator
    result = maxima.sr_integral(expression, v, a, b)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 811, in sr_integral
    raise ValueError("Integral is divergent.")
ValueError: Integral is divergent.
       
x  1x
                                
                            

                                
       
1
                                
                            

                                

 

Primjena pretpostavaka

       
Traceback (click to the left of this block for traceback)
...
Is n equal to -1?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_134.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("dmFyICgnbicpCmludGVncmFsICh4Xm4sIHgp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpfE8eHx/___code___.py", line 3, in <module>
    exec compile(u'integral (x**n, x)
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py", line 753, in integral
    return x.integral(*args, **kwds)
  File "sage/symbolic/expression.pyx", line 12366, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:69760)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 818, in integrate
    return indefinite_integral(expression, v, hold=hold)
  File "sage/symbolic/function.pyx", line 998, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.cpp:11922)
  File "sage/symbolic/function.pyx", line 492, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.cpp:6949)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 90, in _eval_
    return integrator(f, x)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/external.py", line 32, in maxima_integrator
    result = maxima.sr_integral(expression,v)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 813, in sr_integral
    self._missing_assumption(s)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 1049, in _missing_assumption
    raise ValueError(outstr)
ValueError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help (example of legal syntax is 'assume(n>0)', see `assume?` for more details)
Is n equal to -1?
       
[n=(1)]
                                
                            

                                
       
log(x)
                                
                            

                                
       
[n(1)]
                                
                            

                                
       
xn+1n+1
                                
                            

                                
       
[]
                                
                            

                                

Još jedan primjer:

       
x  1(bx+a)13x3
                                
                            

                                
       
Traceback (click to the left of this block for traceback)
...
Is a positive or negative?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_141.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aW50ZWdyYWwgKGYoeCksIHgp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpgaIhNJ/___code___.py", line 2, in <module>
    exec compile(u'integral (f(x), x)
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/functional.py", line 753, in integral
    return x.integral(*args, **kwds)
  File "sage/symbolic/expression.pyx", line 12366, in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:69760)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 818, in integrate
    return indefinite_integral(expression, v, hold=hold)
  File "sage/symbolic/function.pyx", line 998, in sage.symbolic.function.BuiltinFunction.__call__ (build/cythonized/sage/symbolic/function.cpp:11922)
  File "sage/symbolic/function.pyx", line 492, in sage.symbolic.function.Function.__call__ (build/cythonized/sage/symbolic/function.cpp:6949)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/integral.py", line 90, in _eval_
    return integrator(f, x)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/integration/external.py", line 32, in maxima_integrator
    result = maxima.sr_integral(expression,v)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 813, in sr_integral
    self._missing_assumption(s)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/maxima_lib.py", line 1049, in _missing_assumption
    raise ValueError(outstr)
ValueError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help (example of legal syntax is 'assume(a>0)', see `assume?` for more details)
Is a positive or negative?
       
23b2arctan(3(2(bx+a)13+a13)3a13)9a73b2log((bx+a)23+(bx+a)13a13+a23)9a73+2b2log((bx+a)13a13)9a73+4(bx+a)53b27(bx+a)23ab26((bx+a)2a22(bx+a)a3+a4)
                                
                            

                                
       
3(23b2x2log((bx+a)23+(bx+a)13a13+a23)43b2x2log((bx+a)13a13)12b2x2arctan(3(2(bx+a)13+a13)3a13)3(43bx33a)(bx+a)23a13)54a73x2
                                
                            

                                
       
23b2arctan(3(2(bx+a)13(a)13)3(a)13)9(a)13a2+b2log((bx+a)23(bx+a)13(a)13+(a)23)9(a)13a22b2log((bx+a)13+(a)13)9(a)13a2+4(bx+a)53b27(bx+a)23ab26((bx+a)2a22(bx+a)a3+a4)
                                
                            

                                
       
3(23b2x2log((bx+a)23(bx+a)13(a)13+(a)23)43b2x2log((bx+a)13+(a)13)+12b2x2arctan(3(2(bx+a)13(a)13)3(a)13)+3(43bx33a)(bx+a)23(a)13)54(a)13a2x2
                                
                            

                                
       
2b23(2(bx+a)13a2(a)13a2)+2b2log(2(bx+a)13(a)13)9(a)13a22b2log((bx+a)13+(a)13)9(a)13a2+4(bx+a)53b27(bx+a)23ab26((bx+a)2a22(bx+a)a3+a4)
                                
                            

                                
       
Traceback (click to the left of this block for traceback)
...
TypeError: ECL says: Error executing code in Maxima: expt: undefined: 0 to a
negative exponent.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_152.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("Xy5zaW1wbGlmeV9mdWxsKCk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpzLow5W/___code___.py", line 2, in <module>
    exec compile(u'_.simplify_full()
  File "", line 1, in <module>
    
  File "sage/symbolic/expression.pyx", line 9926, in sage.symbolic.expression.Expression.simplify_full (build/cythonized/sage/symbolic/expression.cpp:54830)
  File "sage/symbolic/expression.pyx", line 10074, in sage.symbolic.expression.Expression.simplify_rectform (build/cythonized/sage/symbolic/expression.cpp:56767)
  File "sage/symbolic/expression.pyx", line 9758, in sage.symbolic.expression.Expression.rectform (build/cythonized/sage/symbolic/expression.cpp:54307)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/symbolic/maxima_wrapper.py", line 32, in __call__
    **kwds).sage()
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 655, in __call__
    return self._obj.parent().function_call(self._name, [self._obj] + list(args), kwds)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 576, in function_call
    return self.new(s)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 345, in new
    return self(code)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 280, in __call__
    return cls(self, x, name=name)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 695, in __init__
    raise TypeError(x)
TypeError: ECL says: Error executing code in Maxima: expt: undefined: 0 to a negative exponent.
       
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_153.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("aW50ZWdyYWwgKGYoeCksIHgpLnN1YnMgKGEgPSAwKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpf0lKr8/___code___.py", line 3, in <module>
    exec compile(u'integral (f(x), x).subs (a = _sage_const_0 )
  File "", line 1, in <module>
    
  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
       
[]
                                
                            

                                


Uvod u diferencijalne jednadžbe


Diferencijalna jednadžba je jednadžba kojom je zadana veza između neovisnih varijabli, tražene funkcije tih varijabli i njezinih derivacija po tim varijablama. Obična diferencijalna jednažba sadrži funkciju jedne varijable, njezine derivacije i tu varijabla. Najviša derivacija, koja se u diferencijalnoj jednadžbi pojavljuje, određuje njezin red.

 

Prigušene oscilacije (problem s početnim uvjetima)

 

 

 

Uteg mase m, koji visi na elastičnoj opruzi, povući ćemo prema dolje iz početnoga (ravnotežnog) položaja z=0 u položaj z=z0. Radi promjene oblika javlja se u zavojnici elastična sila  Fe=Fek  koja je teži vratiti u početni oblik (ta je sila po intenzitetu jednaka sili kojom smo povukli uteg, ali je od nje suprotno orijentirana).

Iskustvo je pokazalo da je pri malim produljenjima i skraćenjima opruge ta sila harmonijska, što znači da joj je veličina razmjerna promjeni duljine opruge  (riječ je o Hookeovu zakonu s kojim ćete se često susretati).  Budući da se sila odupire promjeni duljine, bit će  Fe=Ez,  gdje je  E>0  faktor proporcionalnosti. Ako pustimo uteg, počet će se pod djelovanjem sile Fe gibati po vertikalnom pravcu.  Zrak kroz koji se uteg giba i unutarnje trenje u oprugi pružaju otpor gibanju — prigušuju ga.  Sila viskoznoga prigušenja proporcionalna je brzini gibanja:  Fv=Fvk=cvk.

Gibanje će biti opisano funkcijom  z:tz(t).  Budući da je z funkcija vremena t, funkcije vremena bit će i vrijednosti Fe i Fv sila Fe i Fv.  Prema drugom je Newtonovu zakonu

          ma(t)=Fv(t)+Fe(t),  odnosno,  ma(t)=cv(t)Ez(t),  odnosno  m¨z(t)=c˙z(t)Ez(t).

Dobivena diferencijalna jednadžba drugoga je reda.

 

Definicija diferencijalne jednadžbe:

       

Rješavanje (u nekoliko pokušaja):

       
Traceback (click to the left of this block for traceback)
...
ValueError: Unable to determine independent variable, please specify.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_159.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("enoodCkgPSBkZXNvbHZlIChkZXEsIHop"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpmaBwHG/___code___.py", line 2, in <module>
    exec compile(u'__tmp__=var("t"); zz = symbolic_expression(desolve (deq, z)).function(t)
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/calculus/desolvers.py", line 453, in desolve
    raise ValueError("Unable to determine independent variable, please specify.")
ValueError: Unable to determine independent variable, please specify.

... ivarindependent variable (neovisna varijabla: z je funkcija neovisne varijable t):

       
Traceback (click to the left of this block for traceback)
...
Is 4*E*m-c^2 positive, negative or zero?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_160.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("enoodCkgPSBkZXNvbHZlIChkZXEsIHosIGl2YXIgPSB0KQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmp7wcEax/___code___.py", line 2, in <module>
    exec compile(u'__tmp__=var("t"); zz = symbolic_expression(desolve (deq, z, ivar = t)).function(t)
  File "", line 1, in <module>
    
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/calculus/desolvers.py", line 467, in desolve
    soln = P(cmd)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 280, in __call__
    return cls(self, x, name=name)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 695, in __init__
    raise TypeError(x)
TypeError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help (example of legal syntax is 'assume(4*E*m-c^2>0)', see `assume?` for more details)
Is 4*E*m-c^2 positive, negative or zero?

Priroda rješenja ovisi o tome je li  4mE>c24mE=c2  ili  4mE<c2.  U prvom je slučaju gibanje oscilatorno, a u druga dva nije.

Slabo prigušenje:

       
[4Em>c2]
                                
                            

                                
       
t  (K2cos(12tc2m2+4Em)+K1sin(12tc2m2+4Em))e(ct2m)
                                
                            

                                

Kritično prigušenje:

       
[4Em=c2]
                                
                            

                                
       
Traceback (click to the left of this block for traceback)
...
Is c zero or nonzero?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_164.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ejIodCkgPSBkZXNvbHZlIChkZXEsIHosIGl2YXIgPSB0KQp6Mg=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpEjRkgX/___code___.py", line 2, in <module>
    __tmp__=var("t"); z2 = symbolic_expression(desolve (deq, z, ivar = t)).function(t)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/calculus/desolvers.py", line 467, in desolve
    soln = P(cmd)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 280, in __call__
    return cls(self, x, name=name)
  File "/opt/SageMath/local/lib/python2.7/site-packages/sage/interfaces/interface.py", line 695, in __init__
    raise TypeError(x)
TypeError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help (example of legal syntax is 'assume(c>0)', see `assume?` for more details)
Is c zero or nonzero?
       
[4Em=c2,c0]
                                
                            

                                
       
t  (K2t+K1)e(ct2m)
                                
                            

                                

Jako prigušenje:

       
[4Em<c2]
                                
                            

                                
       
t  K2e(12t(c2m24Em+cm))+K1e(12t(c2m24Emcm))
                                
                            

                                

Uvođenje početnih uvjeta  z(0)=z0  i  v(0)=˙z(0)=0:

... icsinitial conditions

Slabo prigušenje:

       
t  (z0cos(12tc2m2+4Em)+cz0sin(12tc2m2+4Em)mc2m2+4Em)e(ct2m)
                                
                            

                                

... primjerice, za  E=1, m=1, c=0,25  i  z0=0,125 (uteg smo povukli prema dolje)  je

       
t  (0.125000000000000cos(0.992156741649222t)0.0157485197087178sin(0.992156741649222t))e(0.125000000000000t)
                                
                            

                                

... pa je gibanje u prve 53 sekunde

       

Kritično prigušenje:

       
t  12(ctz0m+2z0)e(ct2m)
                                
                            

                                

...  za  E=1, m=1, c=2  i  z0=0,125  je

       
t  12(0.250000000000000t0.250000000000000)e(t)
                                
                            

                                

... pa je u prvih 27 sekundi gibanje

       

Jako prigušenje:

       
t  (mc2m24Emc)z0e(12t(c2m24Em+cm))2mc2m24Em+(mc2m24Em+c)z0e(12t(c2m24Emcm))2mc2m24Em
                                
                            

                                

...  za  E=1, m=1, c=3  i  z0=0,125  je

       
t  0.01250000000000005(53)e(12t(5+3))0.01250000000000005(5+3)e(12t(53))
                                
                            

                                
       

 

Ravnoteža užeta (problem s rubnim uvjetima)

Diferencijalna je ravnoteže užeta obješenoga u krajnjim točkama

          z,

gdje su q funkcija kojom je zadano vertikalno opterećenje i H intenzitet horizontalne komponente vlačne sile u užetu; povećanjem intenziteta sile u užetu, a time i intenziteta H, smanjuje se provjes užeta. (Tu ćete diferencijalnu jednadžbu izvesti sljedeći semestar, u Mehanici 1.)

 

Viseći most


 

Na glavne nosive kabele mosta, razapete preko rijeke, obješena je s pomoću niza jednako razmaknutih vertikalnih kabela vodoravna kolnička konstrukcija. Iako su vertikalni kabeli za nosive kabele spojeni u diskretnim točkama, može se za preliminarni proračun uzeti da su spojevi „razmazani” uzduž nosivih kabela, tako da je i prijenos težine kolničke konstrukcije na nosive kabele „razmazan”. Iako u stvarnosti kabeli nisu bez težine, ona je obično zanemariva u odnosu na težinu kolničke konstrukcije. Ako je ta konstrukcija uzduž cijeloga raspona mosta jednakih poprečnih presjeka, opterećenje će biti jednoliko raspodijeljeno po horizontali,  q(x) = q_0,  pa je diferencijalna jednadžba ravnoteže

          z''(x) = -\!\dfrac{q_0}{H}.

 

       
       
       

                                
                            

                                

Uvođenje rubnih uvjeta  z(x_l) = z_l  i  z(x_r) = z_r:

       

                                
                            

                                

Rubni uvjeti z(-1) = -1 i z(1) = -1; različiti intenziteti sile H:

       

                                
                            

                                
       

                                
                            

                                
       

                                
                            

                                
       

Rubni uvjeti z(0) = 0 i z(2,5) = -1; različiti intenziteti sile H:

       

                                
                            

                                
       

                                
                            

                                
       

                                
                            

                                
       

 

Teško uže ... ili lanac



Jedino je opterećenje homogenoga užeta konstantne debljine njegova težina. To je opterećenje jednoliko raspodijeljeno po duljini užeta:  q(x) = q_0 \sqrt{1 + \big(z'(x)\big)^2}.  Diferencijalna je jednadžba ravnoteže sada

          z''(x) = -\!\dfrac{q_0}{H}\sqrt{1 + \big(z'(x)\big)^2}.         

Krivulje koje su grafovi njezinih rješenja nazivaju se hiperboličnim lančanicama.

       
       
       

                                
                            

                                

Na žalost, u ovom slučaju SageMath ne zna uvrstiti rubne uvjete, primjerice  z(-1) = 0  i  z(1) =0:

       

                                
                            

                                

Naime, SageMath ne zna riješiti sustav dviju nelinearnih jednadžbi s nepoznanicama K_1 i K_2:

       
x |--> _K2 - H*cosh((_K1*q0 + q0*x)/H)/q0
x |--> _K2 - H*cosh((_K1*q0 + q0*x)/H)/q0
       

                                
                            

                                

... čak ni ako uvrstimo vrijednosti za q_0 i H:

       

                                
                            

                                

Stoga ćemo sustav riješiti približno, „grafički”, očitavanjem vrijednosti s crteža:

       
       
       

... očitano:  K_1 = 0K_2 \approx 1,\!672

       

                                
                            

                                
       

                                
                            

                                

... pa je rješenje diferencijalne jednadžbe za  q_0 = 1  i   H = 1,\!25,  uz rubne uvjete  z(-1) = 0  i  z(1) = 0:

       

                                
                            

                                
       

Na sljedećoj su slici—usporedbe radi—prikazani graf rješenja diferencijalne jednadžbe za  q_0 = 1  i   H = 1,\!25  i rubne uvjete  z(-1) = 1  i  z(1) = 1  (lančanica)  i graf polinoma drugog stupnja koeficijenti kojega su odabrani tako da se njegove vrijednosti podudaraju s vrijednostima rješenja u -1, 0 i 1.

       


Napomena: spomenuli smo na šestomu predavanju da se sustavi nelinearnih algebarskih jednadžbi koje SageMath ne zna riješiti mogu numerički rješavati primjenom funkcija modula optimize (Optimization and root finding) programskoga paketa SciPy, koji je uključen u SageMath.