Vektori i matrice
Vektori
1. Zadatak
Definirajte vektore
a=(2,3,1) i
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 a i b međusobno okomiti, onda je a⋅b=0):
0 0 |
0 0 |
2. zadatak
Za vektore a i 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(a,b)=a⋅b‖a‖⋅‖b‖⇒∠(a,b)=arccosc
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 A djeluju dvije sile prikazane vektorima →a1=(2,−1,2) i →a2=(4,1,1), a na točku B sile prikazane vektorima →b1=(−1,3,−1) i →b2=(−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 →rA i →rB:
(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 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 a=(1;3;2,1) i b=(−1;5,3;0) pa zatim izračunajte:
Rješenja se nalaze na kraju datoteke.
|
Matrični račun
5. zadatak
Zadajte matrice
a kojoj su reci (0,2,1), (4,1,0) i (−2,5,1) i
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 →rA njezin radijus–vektor i
2. Rα matrica oblika [cosα−sinαsinαcosα].
Umnožak Rα→rA je radijus–vektor →rB točke B u koju prelazi točka A pri rotaciji ravnine za kut α, pri čemu je ishodište središte rotacije, a rotacija je za α>0 u smislu suprotnom od smisla vrtnje kazaljke na satu, dok je za α<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 α=π3. Provjerite da je radijus–vektor novodobivene točke jednake duljine kao i radijus–vektor polazne točke.
Dodatak: Rotacija za kut −α 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 α, pa je R−α=R−1α.
Kako su sin(−α)=−sinα i cos(−α)=cosα, bit će i R−α=RTα.
„Vratite” točku B u početni položaj množenjem vektora →rB slijeva matricom RTα te množenjem vektora →rB slijeva matricom R−1α.
Prvi način — sa simboličkim i cjelobrojnim veličinama:
(12−12√312√312)
|
(2,3)
|
(−32√3+1,√3+32)
|
√1312√(3√3−2)2+(2√3+3)2
|
√13
|
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 |
(1212√3−12√312)
|
(14√3(2√3+3)−34√3+12,14√3(3√3−2)+12√3+34)
|
(2,3)
|
(1212√3−12√312)
|
(2,3)
|
Drugi način — s „realnim” brojevima:
(0.500000000000000−0.8660254037844390.8660254037844390.500000000000000)
|
(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 |
(0.5000000000000000.866025403784439−0.8660254037844390.500000000000000)
|
(2.00000000000000, 3.00000000000000) (2.00000000000000, 3.00000000000000) |
False False |
(2, 3) (2, 6755399441055745/2251799813685248) (2, 3) (2, 6755399441055745/2251799813685248) |
(0.5000000000000000.866025403784439−0.8660254037844390.500000000000000)
|
(2.00000000000000, 3.00000000000000) (2.00000000000000, 3.00000000000000) |
False False |
False False |
(9007199254740991/4503599627370496, 6755399441055745/2251799813685248) (9007199254740991/4503599627370496, 6755399441055745/2251799813685248) |
7. zadatak
Definirajte matricu
D=[5,0−2,0−1,0−2,05,0−2,0−1,0−2,05,0].
Provjerite je li matrica D regularna i ako jest, izračunajte njezin inverz. Provjerite svojstvo DD−1=D−1D=I.
Definicija matrice:
(5.0−2.0−1.0−2.05.0−2.0−1.0−2.05.0)
|
Provjera regularnosti:
False False |
ili (matrica je regularna ako je det(D)≠0):
72.0000000000000 72.0000000000000 |
Izračunavanje inverzne matrice:
(0.2916666666666670.1666666666666670.1250000000000000.1666666666666670.3333333333333330.1666666666666670.1250000000000000.1666666666666670.291666666666667)
|
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:
(1.000000000000000.0000000000000000.0000000000000000.0000000000000001.000000000000000.0000000000000000.0000000000000000.0000000000000001.00000000000000)
|
u umnošku D * Dinv nisu nule:
(1.000000000000001.11022302462516×10−161.11022302462516×10−16−1.66533453693773×10−161.00000000000000−1.11022302462516×10−16−1.11022302462516×10−160.0000000000000001.00000000000000)
|
Š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
A=[23−104102−2514−1524]iB=[0211,520,511,511,5233042].
Izračunajte
Sve matrice prikažite pomoću funkcije show().
|
Rješenja 1. zadataka za vježbu
Definirajte vektore a=(1;3;2,1) i 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
A=[23−104102−2514−1524]iB=[0211,520,511,511,5233042].
(23−104102−2514−1524)
|
(0.0000000000000002.000000000000001.000000000000001.500000000000002.000000000000000.5000000000000001.000000000000001.500000000000001.000000000000001.500000000000002.000000000000003.000000000000003.000000000000000.0000000000000004.000000000000002.00000000000000)
|
Izračunajte:
(5.000000000000004.000000000000003.000000000000004.500000000000008.000000000000008.5000000000000013.000000000000011.500000000000023.00000000000000.00000000000000021.000000000000015.500000000000024.00000000000003.5000000000000024.000000000000020.0000000000000)
|
84 84 |
ili:
84 84 |
|
ili:
|
|
|
True True |
True True |
|
|
False False |
False False |
|
ili:
|
|