(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 b, A=∫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 x, →F=F→ı, a njezina je vrijednost F funkcija položaja njezina hvatišta, F:x↦F(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.83387674012447331.6079092247025148×10−06
|
[2.8338751322152484,2.833878348033698]
|
Naravno, numerički se mogu integrirati i funkcije čiji su točni integrali poznati:
−1.01.1102230246251565×10−14
|
−0.99999999845438516.984563559375666×10−07
|
1.0560674032479055×10−155.596795815141414×10−14[−5.491189074816624×10−14,5.702402555466204×10−14]
|
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 f: F′=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)+C−x
|
![]() |
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? |
2√3b2arctan(√3(2(bx+a)13+a13)3a13)9a73−b2log((bx+a)23+(bx+a)13a13+a23)9a73+2b2log((bx+a)13−a13)9a73+4(bx+a)53b2−7(bx+a)23ab26((bx+a)2a2−2(bx+a)a3+a4)
|
−√3(2√3b2x2log((bx+a)23+(bx+a)13a13+a23)−4√3b2x2log((bx+a)13−a13)−12b2x2arctan(√3(2(bx+a)13+a13)3a13)−3(4√3bx−3√3a)(bx+a)23a13)54a73x2
|
2√3b2arctan(√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)13a2−2b2log((bx+a)13+(−a)13)9(−a)13a2+4(bx+a)53b2−7(bx+a)23ab26((bx+a)2a2−2(bx+a)a3+a4)
|
√3(2√3b2x2log((bx+a)23−(bx+a)13(−a)13+(−a)23)−4√3b2x2log((bx+a)13+(−a)13)+12b2x2arctan(√3(2(bx+a)13−(−a)13)3(−a)13)+3(4√3bx−3√3a)(bx+a)23(−a)13)54(−a)13a2x2
|
−2b23(2(bx+a)13a2−(−a)13a2)+2b2log(2(bx+a)13−(−a)13)9(−a)13a2−2b2log((bx+a)13+(−a)13)9(−a)13a2+4(bx+a)53b2−7(bx+a)23ab26((bx+a)2a2−2(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=Fe→k 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=Fv→k=−cv→k.
Gibanje će biti opisano funkcijom z:t↦z(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. |
... ivar — independent 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>c2, 4mE=c2 ili 4mE<c2. U prvom je slučaju gibanje oscilatorno, a u druga dva nije.
Slabo prigušenje:
[4Em>c2]
|
t ↦ (K2cos(12t√−c2m2+4Em)+K1sin(12t√−c2m2+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,c≠0]
|
t ↦ (K2t+K1)e(−ct2m)
|
Jako prigušenje:
[4Em<c2]
|
t ↦ K2e(−12t(√c2m2−4Em+cm))+K1e(12t(√c2m2−4Em−cm))
|
Uvođenje početnih uvjeta z(0)=z0 i v(0)=˙z(0)=0:
... ics — initial conditions
Slabo prigušenje:
t ↦ (z0cos(12t√−c2m2+4Em)+cz0sin(12t√−c2m2+4Em)m√−c2m2+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.250000000000000t−0.250000000000000)e(−t)
|
... pa je u prvih 27 sekundi gibanje
![]() |
Jako prigušenje:
t ↦ (m√c2m2−4Em−c)z0e(−12t(√c2m2−4Em+cm))2m√c2m2−4Em+(m√c2m2−4Em+c)z0e(12t(√c2m2−4Em−cm))2m√c2m2−4Em
|
... za E=1, m=1, c=3 i z0=−0,125 je
t ↦ −0.0125000000000000√5(√5−3)e(−12t(√5+3))−0.0125000000000000√5(√5+3)e(12t(√5−3))
|
![]() |
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 = 0, K_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.
![]() |
|