Uvodno o programskom sustavu za simboličku matematiku Sage (http://sagemath.org/) - MPZI_predavanje_01
Zadaci za 'zagrijavanje' - MPZI_vj01 - aritmetičke operacije i matematičke funkcije
- MPZI_predavanje_02 i MPZI_vj02 - izrazi, funkcije, polinomi i njihovi grafovi
- MPZI_predavanje_03 i MPZI_vj03 - grafika - prikaz ravninskih i prostornih krivulja
- MPZI_predavanje_04 i MPZI_vj04 - prikaz ploha i nivo krivulja
- MPZI_predavanje_05 i MPZI_vj05 - vektori i matrice
- MPZI_predavanje_06 i MPZI_vj06 - jednadžbe i nejednadžbe (bitno $\rightarrow$ sustavi linearnih jednadžbi i određivanje korijena polinoma)
- MPZI_predavanje_07 i MPZI_vj07 - Elementi matematičke analize (derivacije!)
- MPZI_predavanje_08 i MPZI_vj08 - Elementi matematičke analize (2) (Integrali, uvod u diferencijalne jednadžbe)
DKPI - slobodno titranje sustava s jednim stupnjem slobode
Matematički model slobodnog neprigušenog titranja:
$m \ddot{u}(t) + k u(t) = 0$
$\ddot{u}(t) + \omega_n^2 u(t) = 0$
gdje je $\omega^2_n = \frac{k}{m}$ prirodna kružna frekvencija sustava
Zadavanje varijabli i nepoznatih funkcija:
|
Zadavanje diferencijalne jednadžbe (izraza):
|
Određivanje rješenja diferencijalne jednadžbe
Traceback (click to the left of this block for traceback) ... Is omega_n zero or nonzero? Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_13.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ZGVzb2x2ZSggZGUxLCB1LCBpdmFyPXQp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpyCIwJV/___code___.py", line 2, in <module> exec compile(u'desolve( de1, u, ivar=t) File "", line 1, in <module> File "/opt/SageMath/local/lib/python2.7/site-packages/sage/calculus/desolvers.py", line 584, 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(omega_n>0)', see `assume?` for more details) Is omega_n zero or nonzero? |
zadajemo pretpostavku da je $\omega_n \neq 0$
|
Rješenje diferencijalne jednadžbe glasi:
|
$K_1$ i $K_2$ su nepoznate konstante integracije diferencijalne jednadžbe i ovise o početnim uvjetima.
Određivanje rješenja diferencijalne jednadžbe za zadane početne uvjete $u_0$ i $v_0$
NAPOMENA:
početni uvjeti upisuju se u obliku liste:
[$t_0$, $u(t_0) = u_0$] za problem početne vrijednosti u diferencijalnoj jednadžbi 1. reda
[$t_0$, $u(t_0) = u_0$, $u'(t_0)=v_0$] za problem početne vrijednosti u diferencijalnoj jednadžbi 2. reda
[$x_0$, $y(x_0)$, $x_1$, $y(x_1)$] za problem rubnih vrijednosti u diferencijalnoj jednadžbi 2. reda
|
|
Nacrtati vremensku funkciju odziva sustava za sljedeće parametre:
$\omega_n = 10 $, $u_0 = 0.5$, $v_0=8$
|
|
|
|
![]() |
Matematički model slobodnog prigušenog titranja:
$m \ddot{u}(t) +c \dot{u}(t)+ k u(t) = 0$
$\ddot{u}(t) +2\omega_n \zeta \dot{u}(t)+ \omega_n^2 x(t) = 0$
gdje je $\zeta = \frac{c}{c_{kr}}$ relativno prigušenje sustava - omjer ekvivalentnog viskoznog prigušenja ($c$) i kritičnog prigušenja sustava ($c_{kr} = 2 \omega_n m$)
|
|
Traceback (click to the left of this block for traceback) ... Is 4*k*m-c^2 positive, negative or zero? Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_28.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ZGVzb2x2ZSggZGUyLCB1LCBpdmFyPXQp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmp8etU5f/___code___.py", line 2, in <module> exec compile(u'desolve( de2, u, ivar=t) File "", line 1, in <module> File "/opt/SageMath/local/lib/python2.7/site-packages/sage/calculus/desolvers.py", line 584, 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*k*m-c^2>0)', see `assume?` for more details) Is 4*k*m-c^2 positive, negative or zero? |
Sjetimo se da je ovo upravo diskriminanta karakteristične jednadžbe, te da karakter titranja ovisi o njenoj vrijednosti
Kritično prigušenje - diskriminanta izčezava
|
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_30.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ZGVzb2x2ZSggZGUyLCB1LCBpdmFyPXQp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpQpkxnl/___code___.py", line 2, in <module> exec compile(u'desolve( de2, u, ivar=t) File "", line 1, in <module> File "/opt/SageMath/local/lib/python2.7/site-packages/sage/calculus/desolvers.py", line 584, 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? |
|
|
Ako supstituiramo izraz za krtično prigušenje $c_{kr} = 2 m \omega_n$
|
|
![]() |
b) Prigušenje manje od kritičnog
|
|
|
|
gdje je $\omega_d = \omega \sqrt{1 - \zeta^2}$ frekvencija prigušenog titranja
Sjetimo se da za $\zeta << 1$, slijedi da je $\omega_d \approx \omega$
Neka je relativno prigušenje zadanog sustava $3\%$
![]() |
c) Prigušenje veće od kritičnog
|
|
|
|
|
![]() |
![]() |
Zadatak s auditornih vježbi:
Odredi funkciju slobodnog titranja prikazane grede ako se prilikom udara impulsa sile $S=250 Ns$ naglo odvoji teret težine $G= 4kN$. Odredi amplitudu titranja.
Zadano je: $L = 4.5 [m]$, $m = 0,8 [t]$, $EI = 6000 [kNm^2]$
|
|
Početni pomak jednak je statičkom pomaku od tereta G
|
Početna brzina ovisi o promjeni količine gibanja koju uzrokuje impuls sile S. Budući da impuls djeluje na masu m ali i na teret težine G, u jednadžbi za promjenu količine gibanja treba uzeti ukupnu masu sustava prije titranja.
$m_{uk} \dot{u}(t_2) - m_{uk} \dot{u}(t_1) = S_{1,2} $
$\left( m + \frac{G}{g} \right) \dot{u} (0) - 0 = S$
$\dot{u} (0) = v_0 = \frac{S}{\left( m + \frac{G}{g} \right)}$
|
|
![]() |
|
|
![]() |
![]() |
|