MPZI_vj05_s_izradom

2515 days ago by fresl

 

Vektori i matrice


Vektori


1. Zadatak

Definirajte vektore

   $\mathbf{a} = (2, 3, 1)$  i

   $\mathbf{b} = (-1, 5, 4)$,

a zatim izračunajte: 

  1. $2\mathbf{a} + \mathbf{b}$,
  2. $\mathbf{a}- 2\mathbf{b}$,
  3. skalarni umnožak $\mathbf{a}\cdot\mathbf{b}$ vektora $\mathbf{a}$ i $\mathbf{b}$,
  4. vektorski umnožak $\mathbf{a}\times\mathbf{b}$ vektora $\mathbf{a}$ i $\mathbf{b}$ i provjerite da je rezultat okomit na $\mathbf{a}$ i $\mathbf{b}$. 
       
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:

  1. duljinu vektora $\mathbf{a}$,
  2. kut (u stupnjevima) između $\mathbf{a}$ i $\mathbf{b}$.

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:

  1. vektor $\mathbf{c} = 3\mathbf{a} - 4\mathbf{b}$,
  2. duljine vektora $\mathbf{a}$ i $\mathbf{b}$,
  3. skalarni i vektorski umnožak vektora $\mathbf{a}$ i $\mathbf{b}$,
  4. kut između vektora $\mathbf{a}$ i $\mathbf{c}$; rezultat neka bude u stupnjevima,
  5. ploštinu paralelograma određenoga vektorima $\mathbf{a}$ i $\mathbf{b}$;  uputa: ploština je paralelograma $\|\mathbf{a}\times\mathbf{b}\|$.

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:

  1. $3\mathbf{a}- 2\mathbf{b}$
  2. umnožak $\mathbf{a}\,\mathbf{b}$ i
  3. inverznu matricu one matrice kojoj je determinanta različita od nule.
Na kraju uklonite varijable a i b.
       
[ 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:

  • matrica $\mathbf{R}_\alpha$ i vektor $\vec{r}_{\!A}$:
       

                                
                            

                                
       

                                
                            

                                
  • rotacija točke $A$:
       

                                
                            

                                
  • provjera jednakosti duljina:
       

                                
                            

                                
       

                                
                            

                                
       
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
  • proračun je proveden s točnim cjelobrojnim i simboličkim veličinama, a „realne” su aproksimacije izračunane tek na kraju, pa su međusobno jednake.
  • Dodatak: vraćanje u početni položaj pomoću transponirane matrice:
       

                                
                            

                                
       

                                
                            

                                
       

                                
                            

                                
  • vraćanje u početni položaj pomoću inverzne matrice:
       

                                
                            

                                
       

                                
                            

                                

 

Drugi način — s „realnim” brojevima:

  • matrica $\mathbf{R}_\alpha$ i vektor $\vec{r}_{\!A}$:
       

                                
                            

                                
       
(2.00000000000000, 3.00000000000000)
(2.00000000000000, 3.00000000000000)
  • rotacija točke $A$:
       
(-1.59807621135332, 3.23205080756888)
(-1.59807621135332, 3.23205080756888)
  • provjera jednakosti duljina:
       
3.60555127546399
3.60555127546399
False
3.60555127546399
3.60555127546399
False
    • kako se cijeli proračun provodio s približnim „realnim” brojevima, stvarna se jednakost izgubila: iako se brojevi u ispisanomu dijelu znamenaka ne razlikuju, „interni” se zapis brojeva razlikuje:
       
8118979690322419/2251799813685248
2029744922580605/562949953421312
8118979690322419/2251799813685248
2029744922580605/562949953421312
  • Dodatak: vraćanje u početni položaj pomoću transponirane matrice:
       

                                
                            

                                
       
(2.00000000000000, 3.00000000000000)
(2.00000000000000, 3.00000000000000)
       
False
False
    • proračun je proveden s „realnim” brojevima, pa ne možemo očekivati jednakost; interni je zapis koordinata točaka:
       
(2, 3)
(2, 6755399441055745/2251799813685248)
(2, 3)
(2, 6755399441055745/2251799813685248)
  • vraćanje u početni položaj pomoću inverzne matrice:
       

                                
                            

                                
       
(2.00000000000000, 3.00000000000000)
(2.00000000000000, 3.00000000000000)
       
False
False
       
False
False
    • interni je zapis koordinate točke $D$:
       
(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

  1. $\mathbf{A}\,\mathbf{B}$,
  2. determinantu matrice $\mathbf{A}$,
  3. inverznu matricu matrice $\mathbf{A}$ i množenjem sa $\mathbf{A}$ provjerite da je rezultat jedinična matrica,
  4. transponiranu matricu matrice $\mathbf{B}$.

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:

  •  $\mathbf{c} = 3\mathbf{a} - 4\mathbf{b}$
       
(7.00000000000000, -12.2000000000000, 6.30000000000000)
(7.00000000000000, -12.2000000000000, 6.30000000000000)
  •  duljine (ili: euklidske norme) vektora $\mathbf{a}$ i $\mathbf{b}$
       
3.79605057922046
5.39351462406472
3.79605057922046
5.39351462406472
  •  skalarni umnožak vektora $\mathbf{a}$ i $\mathbf{b}$
       
14.9000000000000
14.9000000000000
       
14.9000000000000
14.9000000000000
  •  vektorski umnožak vektora $\mathbf{a}$ i $\mathbf{b}$
       
(-11.1300000000000, -2.10000000000000, 8.30000000000000)
(-11.1300000000000, -2.10000000000000, 8.30000000000000)
  •  kut između vektora  $\mathbf{a}$ i $\mathbf{c}$
       
       
1.85438864827183
1.85438864827183
       
106.248643122946
106.248643122946
  •  ploštinu paralelograma određenoga vektorima $\mathbf{a}$ i $\mathbf{b}$  (ploština je $\|\mathbf{a}\times\mathbf{b}\|$)
       
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:

  •  $\mathbf{A}\,\mathbf{B}$
       

                                
                            

                                
  •  determinantu matrice $\mathbf{A}$
       
84
84

        ili:

       
84
84
  •  inverznu matricu matrice $\mathbf{A}$  ($\det(\mathbf{A}) \ne 0$,  pa matrica ima inverznu)
       

                                
                            

                                

        ili:

       

                                
                            

                                
       

                                
                            

                                
  • provjera da je $\mathbf{A}\,\mathbf{A}^{\!-1} = \mathbf{I}$
       

                                
                            

                                
       
True
True
       
True
True
    • budući da je u izračunavanju inverzne matrice upotrijebljena racionalna (a ne „realna”) aritmetika, rezultat je točan, a ne približan, pa je i rezultat množenja točan
       

                                
                            

                                
       

                                
                            

                                
       
False
False
       
False
False
    • za razliku od cjelobrojne, „realna” je aritmetika samo približna
  •  transponiranu matricu matrice $\mathbf{B}$
       

                                
                            

                                

        ili: