Vektori i matrice
Vektori
1. Zadatak
Definirajte vektore
$\mathbf{a} = (2, 3, 1)$ i
$\mathbf{b} = (-1, 5, 4)$,
a zatim izračunajte:
a = (2, 3, 1) b = (-1, 5, 4) a = (2, 3, 1) b = (-1, 5, 4) |
(3, 11, 6) (3, 11, 6) |
(4, -7, -7) (4, -7, -7) |
Skalarni umnožak:
17 17 |
Traceback (click to the left of this block for traceback) ... NameError: name 'dot_product' is not defined Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_7.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ZG90X3Byb2R1Y3QgKGEsIGIpICAgICAgICAgICAgICAgICAgICAjIG9wxIdhIGZ1bmtjaWphIGRvdF9wcm9kdWN0IG5lIHBvc3Rvamk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpRGFvyL/___code___.py", line 2, in <module> exec compile(u'dot_product (a, b) # op\u0107a funkcija dot_product ne postoji File "", line 1, in <module> NameError: name 'dot_product' is not defined |
17 17 |
Vektorski umnožak:
(7, -9, 13) (7, -9, 13) |
Traceback (click to the left of this block for traceback) ... NameError: name 'cross_product' is not defined Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_10.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("Y3Jvc3NfcHJvZHVjdChhLCBiKSAgICAgICAgICAgICAgICAgICAgIyBvcMSHYSBmdW5rY2lqYSBjcm9zc19wcm9kdWN0IG5lIHBvc3Rvamk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpsenxvP/___code___.py", line 2, in <module> exec compile(u'cross_product(a, b) # op\u0107a funkcija cross_product ne postoji File "", line 1, in <module> NameError: name 'cross_product' is not defined |
Provjera da je vektorski umnožak okomit na faktore produkta (ako su vektori $\mathbf{a}$ i $\mathbf{b}$ međusobno okomiti, onda je $\mathbf{a}\cdot\mathbf{b} = 0$):
0 0 |
0 0 |
2. zadatak
Za vektore $\mathbf{a}$ i $\mathbf{b}$, definirane u 1. zadatku, izračunajte:
Na kraju uklonite varijable a i b.
Duljina ili norma vektora:
sqrt(14) sqrt(14) |
3.74165738677394 3.74165738677394 |
sqrt(14) sqrt(14) |
3.74165738677394 3.74165738677394 |
Kut između vektora:
$c = \cos\, (\mathbf{a},\,\mathbf{b}) = \dfrac{\mathbf{a}\cdot\mathbf{b}}{\|\mathbf{a}\|\cdot \|\mathbf{b}\|} \quad\Rightarrow\quad \angle\,(\mathbf{a},\,\mathbf{b}) = \mathrm{arccos}\: c$
0.701068184015974 0.701068184015974 |
arccos(17/588*sqrt(42)*sqrt(14)) arccos(17/588*sqrt(42)*sqrt(14)) |
0.793901974719713 0.793901974719713 |
45.4872324985413 45.4872324985413 |
Uklanjanje varijabli:
|
Traceback (click to the left of this block for traceback) ... NameError: name 'a' is not defined Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_17.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("cHJpbnQgYSwgYg=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module> File "/tmp/tmpmlEqGM/___code___.py", line 2, in <module> exec compile(u'print a, b File "", line 1, in <module> NameError: name 'a' is not defined |
3. zadatak
Na materijalnu točku $\mathbf{A}$ djeluju dvije sile prikazane vektorima $\vec{a}_1=(2, -1, 2)$ i $\vec{a}_2=(4, 1, 1)$, a na točku $\mathbf{B}$ sile prikazane vektorima $\vec{b}_1=(-1, 3, -1)$ i $\vec{b}_2=(-3, -2, 5)$. Na koju od točaka djeluje rezultanta silâ većega intenziteta?
Uputa: rezultanta silâ dobiva se zbrajanjem sila, a intenzitet je sile jednak duljini vektora kojim je prikazana.
Prvo ćemo definirati sile i prikazati ih pomoću naredbe print:
(2, -1, 2) (4, 1, 1) (-1, 3, -1) (-3, -2, 5) (2, -1, 2) (4, 1, 1) (-1, 3, -1) (-3, -2, 5) |
Zatim ćemo izračunati rezultante $\vec{r}_A$ i $\vec{r}_B$:
(6, 0, 3) (-4, 1, 4) (6, 0, 3) (-4, 1, 4) |
Sada možemo izračunati njihove intenzitete:
3*sqrt(5) sqrt(33) 3*sqrt(5) sqrt(33) |
6.70820393249937 5.74456264653803 6.70820393249937 5.74456264653803 |
Zaključujemo da na točku $\mathbf{A}$ djeluje sila većega intenziteta. Možemo to i provjeriti:
3*sqrt(5) > sqrt(33) 3*sqrt(5) > sqrt(33) |
True True |
3*sqrt(5) < sqrt(33) 3*sqrt(5) < sqrt(33) |
False False |
4. zadatak
Definirajte dva vektora. Komponente prvoga neka su svi parni brojevi između 1 i 30 (uključivo), a komponente drugoga svi neparni brojevi u istom intervalu. Izračunajte kut između tih vektora u radijanima i stupnjevima.
(2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30) (1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29) (2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30) (1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29) |
Provjera jednakosti dimenzija (broja komponenata):
15 15 True 15 15 True |
Izračunavanje kuta:
118/139345*sqrt(4495)*sqrt(310) 118/139345*sqrt(4495)*sqrt(310) |
0.999623166286920 0.999623166286920 |
0.0274538661296681 0.0274538661296681 |
1.57299066054714 1.57299066054714 |
1. zadaci za vježbu
Definirajte vektore $\mathbf{a}=(1;\; 3;\; 2,\!1)$ i $\mathbf{b}=(-1;\; 5,\!3;\; 0)$ pa zatim izračunajte:
Rješenja se nalaze na kraju datoteke.
|
Matrični račun
5. zadatak
Zadajte matrice
$\mathbf{a}$ kojoj su reci $(0, 2, 1)$, $( 4, 1, 0)$ i $(-2, 5, 1)$ i
$\mathbf{b}$ kojoj su reci $(0, 2, 1)$, $(1; 1,\!5; 2)$ i $(0, 4, 2)$
pa izračunajte:
[ 0 2 1] [ 4 1 0] [-2 5 1] [0.000000000000000 2.00000000000000 1.00000000000000] [ 1.00000000000000 1.50000000000000 2.00000000000000] [0.000000000000000 4.00000000000000 2.00000000000000] [ 0 2 1] [ 4 1 0] [-2 5 1] [0.000000000000000 2.00000000000000 1.00000000000000] [ 1.00000000000000 1.50000000000000 2.00000000000000] [0.000000000000000 4.00000000000000 2.00000000000000] |
[0.000000000000000 2.00000000000000 1.00000000000000] [ 10.0000000000000 0.000000000000000 -4.00000000000000] [-6.00000000000000 7.00000000000000 -1.00000000000000] [0.000000000000000 2.00000000000000 1.00000000000000] [ 10.0000000000000 0.000000000000000 -4.00000000000000] [-6.00000000000000 7.00000000000000 -1.00000000000000] |
[2.00000000000000 7.00000000000000 6.00000000000000] [1.00000000000000 9.50000000000000 6.00000000000000] [5.00000000000000 7.50000000000000 10.0000000000000] [2.00000000000000 7.00000000000000 6.00000000000000] [1.00000000000000 9.50000000000000 6.00000000000000] [5.00000000000000 7.50000000000000 10.0000000000000] |
14 14 |
0.000000000000000 0.000000000000000 |
[ 1/14 3/14 -1/14] [ -2/7 1/7 2/7] [ 11/7 -2/7 -4/7] [ 1/14 3/14 -1/14] [ -2/7 1/7 2/7] [ 11/7 -2/7 -4/7] |
[ 0.0714285714285714 0.214285714285714 -0.0714285714285714] [ -0.285714285714286 0.142857142857143 0.285714285714286] [ 1.57142857142857 -0.285714285714286 -0.571428571428571] [ 0.0714285714285714 0.214285714285714 -0.0714285714285714] [ -0.285714285714286 0.142857142857143 0.285714285714286] [ 1.57142857142857 -0.285714285714286 -0.571428571428571] |
|
6. zadatak
Neka su
1. $A$ točka u ravnini i $\vec{r}_{\!A}$ njezin radijus–vektor i
2. $\mathbf{R}_\alpha$ matrica oblika $\left[ \begin{array}{cc} \cos\,\alpha & -\sin\,\alpha \\ \sin\,\alpha & \cos\,\alpha \end{array} \right]$.
Umnožak $\mathbf{R}_\alpha \, \vec{r}_{\!A}$ je radijus–vektor $\vec{r}_B$ točke $B$ u koju prelazi točka $A$ pri rotaciji ravnine za kut $\alpha$, pri čemu je ishodište središte rotacije, a rotacija je za $\alpha > 0$ u smislu suprotnom od smisla vrtnje kazaljke na satu, dok je za $\alpha < 0$ u smislu vrtnje kazaljke na satu.
Pronađite točku $B$ u koju prelazi točka $A=(2, 3)$ pri rotaciji ravnine za kut $\displaystyle \alpha = \frac{\pi}{3}$. Provjerite da je radijus–vektor novodobivene točke jednake duljine kao i radijus–vektor polazne točke.
Dodatak: Rotacija za kut $-\alpha$ točku $B$ „vraća” u početni položaj, u točku $A$; ta je rotacija, prema tome, operacija koja je inverzna rotaciji za kut $\alpha$, pa je $\mathbf{R}_{-\alpha} = \mathbf{R}_\alpha^{-1}$.
Kako su $\sin\,(-\alpha) = -\sin\,\alpha$ i $\cos\,(-\alpha) = \cos\,\alpha$, bit će i $\mathbf{R}_{-\alpha} = \mathbf{R}_\alpha^{\mathrm{T}}$.
„Vratite” točku $B$ u početni položaj množenjem vektora $\vec{r}_B$ slijeva matricom $\mathbf{R}_\alpha^{\mathrm{T}}$ te množenjem vektora $\vec{r}_B$ slijeva matricom $\mathbf{R}_\alpha^{-1}$.
Prvi način — sa simboličkim i cjelobrojnim veličinama:
|
|
|
|
|
sqrt(13) == 1/2*sqrt((3*sqrt(3) - 2)^2 + (2*sqrt(3) + 3)^2) sqrt(13) == 1/2*sqrt((3*sqrt(3) - 2)^2 + (2*sqrt(3) + 3)^2) |
True True |
True True |
|
|
|
|
|
Drugi način — s „realnim” brojevima:
|
(2.00000000000000, 3.00000000000000) (2.00000000000000, 3.00000000000000) |
(-1.59807621135332, 3.23205080756888) (-1.59807621135332, 3.23205080756888) |
3.60555127546399 3.60555127546399 False 3.60555127546399 3.60555127546399 False |
8118979690322419/2251799813685248 2029744922580605/562949953421312 8118979690322419/2251799813685248 2029744922580605/562949953421312 |
|
(2.00000000000000, 3.00000000000000) (2.00000000000000, 3.00000000000000) |
False False |
(2, 3) (2, 6755399441055745/2251799813685248) (2, 3) (2, 6755399441055745/2251799813685248) |
|
(2.00000000000000, 3.00000000000000) (2.00000000000000, 3.00000000000000) |
False False |
False False |
(9007199254740991/4503599627370496, 6755399441055745/2251799813685248) (9007199254740991/4503599627370496, 6755399441055745/2251799813685248) |
7. zadatak
Definirajte matricu
$\mathbf{D} = \left[ \begin{array}{rrr} 5,\!0 & -2,\!0 & -1,\!0 \\ -2,\!0 & 5,\!0 & -2,\!0 \\ -1,\!0 & -2,\!0 & 5,\!0 \end{array} \right]$.
Provjerite je li matrica $\mathbf{D}$ regularna i ako jest, izračunajte njezin inverz. Provjerite svojstvo $\mathbf{D}\,\mathbf{D}^{-1} = \mathbf{D}^{-1}\mathbf{D} = \mathbf{I}$.
Definicija matrice:
|
Provjera regularnosti:
False False |
ili (matrica je regularna ako je $\mathrm{det}(\mathbf{D}) \neq 0$):
72.0000000000000 72.0000000000000 |
Izračunavanje inverzne matrice:
|
ili:
|
„Provjera” svojstva inverzne matrice:
False False |
Jednakost nije zadovoljena, jer „realna” aritmetika na računalu nije matematička realna aritmetika beskonačne točnosti, pa neke komponente, koje su u jediničnoj matrici nule:
|
u umnošku D * Dinv nisu nule:
|
Štoviše, iako su ispisane kao jedinice, ni „jedinice” nisu jedinice, kao što „interni” zapisi pokazuju:
4503599627370497/4503599627370496 4503599627370495/4503599627370496 4503599627370495/4503599627370496 4503599627370497/4503599627370496 4503599627370495/4503599627370496 4503599627370495/4503599627370496 |
Isto tako, nije zadovoljeno ni svojstvo
False False |
2. zadaci za vježbu
Definirajte matrice
$\mathbf{A} = \left[ \begin{array}{rrrr} 2 & 3 & -1 & 0 \\ 4 & 1 & 0 & 2 \\ -2 & 5 & 1 & 4 \\ -1 & 5 & 2 & 4 \end{array} \right] \qquad\text{i}\qquad \mathbf{B} = \left[ \begin{array}{llll} 0 & 2 & 1 & 1,\!5 \\ 2 & 0,\!5 & 1 & 1,\!5 \\ 1 & 1,\!5 & 2 & 3 \\ 3 & 0 & 4 & 2 \end{array} \right]$.
Izračunajte
Sve matrice prikažite pomoću funkcije show().
|
Rješenja 1. zadataka za vježbu
Definirajte vektore $\mathbf{a}=(1;\; 3;\; 2,\!1)$ i $\mathbf{b}=(-1;\; 5,\!3;\; 0)$
(1.00000000000000, 3.00000000000000, 2.10000000000000) (-1.00000000000000, 5.30000000000000, 0.000000000000000) (1.00000000000000, 3.00000000000000, 2.10000000000000) (-1.00000000000000, 5.30000000000000, 0.000000000000000) |
pa zatim izračunajte:
(7.00000000000000, -12.2000000000000, 6.30000000000000) (7.00000000000000, -12.2000000000000, 6.30000000000000) |
3.79605057922046 5.39351462406472 3.79605057922046 5.39351462406472 |
14.9000000000000 14.9000000000000 |
14.9000000000000 14.9000000000000 |
(-11.1300000000000, -2.10000000000000, 8.30000000000000) (-11.1300000000000, -2.10000000000000, 8.30000000000000) |
|
1.85438864827183 1.85438864827183 |
106.248643122946 106.248643122946 |
14.0419692351180 14.0419692351180 |
Rješenja 2. zadataka za vježbu
Definirajte matrice
$\mathbf{A} = \left[ \begin{array}{rrrr} 2 & 3 & -1 & 0 \\ 4 & 1 & 0 & 2 \\ -2 & 5 & 1 & 4 \\ -1 & 5 & 2 & 4 \end{array} \right] \qquad\text{i}\qquad \mathbf{B} = \left[ \begin{array}{llll} 0 & 2 & 1 & 1,\!5 \\ 2 & 0,\!5 & 1 & 1,\!5 \\ 1 & 1,\!5 & 2 & 3 \\ 3 & 0 & 4 & 2 \end{array} \right]$.
|
|
Izračunajte:
|
84 84 |
ili:
84 84 |
|
ili:
|
|
|
True True |
True True |
|
|
False False |
False False |
|
ili:
|
|