Rachunek wektorowo

Transkrypt

Rachunek wektorowo
Rachunek wektorowo-macierzowy
w programie SciLab
Rachunek wektorowo-macierzowy w programie SciLab
Działania na liczbach
• Dodawanie i odejmowanie
a+b
3+2=5
a+0=a
a – b = a + (-b)
3 – 2 = 3 + (-2) = 1
a + (-a) = 0
2
Rachunek wektorowo-macierzowy w programie SciLab
Działania na liczbach
• Dodawanie i odejmowanie
a+b
3+2=5
a+0=a
a – b = a + (-b)
3 – 2 = 3 + (-2) = 1
a + (-a) = 0
• MnoŜenie i dzielenie
a*b
4*2=8
a*1=a
a / b = a * (b-1)
4 / 2 = 4 * (1/2) = 2
a * (a-1) = 1
3
Rachunek wektorowo-macierzowy w programie SciLab
Działania na grupie obiektów
• Dodawanie
a+b
a+0=a
a – b = a + (-b)
a + (-a) = 0
• MnoŜenie
a*b
a*1=a
a / b = a * (b-1)
a * (a-1) = 1
4
Rachunek wektorowo-macierzowy w programie SciLab
Działania na wektorach
• wektor kolumnowy
• wektor wierszowy
5
Rachunek wektorowo-macierzowy w programie SciLab
Działania na wektorach
• wektor kolumnowy
• wektor wierszowy
• transpozycja wektora
6
Rachunek wektorowo-macierzowy w programie SciLab
Działania na wektorach
• dodawanie wektorów
7
Rachunek wektorowo-macierzowy w programie SciLab
Działania na wektorach
• dodawanie wektorów
• mnoŜenie wektorów
• analogia do dodawania
• iloczyn skalarny
?
?
8
Rachunek wektorowo-macierzowy w programie SciLab
Macierz (ang. matrix)
• ogólna postać Amn
9
Rachunek wektorowo-macierzowy w programie SciLab
Macierz (ang. matrix)
• ogólna postać Amn
• macierz kwadratowa n = m
• macierz symetryczna aij = a ji
• macierz diagonalna aij = 0 dla i≠
≠j
• macierz jednostkowa
10
Rachunek wektorowo-macierzowy w programie SciLab
Macierz (ang. matrix)
• ogólna postać Amn
• macierz zerowa
• macierz trójkątna (górna ang. upper, dolna ang. lower)
11
Rachunek wektorowo-macierzowy w programie SciLab
Wektor – szczególny przykład macierzy
• wektor kolumnowy
• wektor wierszowy
12
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• dodawanie macierzy (macierze mają ten sam wymiar)
elementem neutralnym macierz zerowa
• mnoŜenie macierzy przez liczbę
• transponowanie macierzy
13
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• mnoŜenie macierzy
?
14
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• mnoŜenie macierzy (iloczyn Cauchy’ego)
elementem neutralnym macierz jednostkowa
schemat Falka:
15
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• mnoŜenie macierzy (przykład)
16
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• mnoŜenie macierzy – właściwości
– potęgowanie macierzy kwadratowej
– łączność
– brak przemienności
– transpozycja iloczynu
17
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• mnoŜenie macierzy – właściwości
– potęgowanie macierzy kwadratowej
– łączność
– brak przemienności
– zero wynikiem mnoŜenia dwóch macierzy niezerowych
?
18
Rachunek wektorowo-macierzowy w programie SciLab
19
Wyznacznik macierzy kwadratowej
sposób wyliczenia (rekurencyjny)
gdzie A1j jest dopełnieniem algebraicznym elementu a1,j, tj. wyznacznikiem
macierzy powstałej przez wykreślenie z macierzy A pierwszego wiersza i j-tej
kolumny, który moŜna wyliczyć z tego samego wzoru.
Warunkiem kończącym rekurencji jest przypadek elementarny dla macierzy stopnia
pierwszego, czyli detA = a dla
.
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
a*1=a
a * (a-1) = 1
20
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• macierz odwrotna
– A – macierz kwadratowa
– det(A) ≠ 0 – wyznacznik macierzy
– własności
a*1=a
a * (a-1) = 1
21
Rachunek wektorowo-macierzowy w programie SciLab
Macierz odwrotna dla macierzy kwadratowej, nieosobliwej
22
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• macierz odwrotna
– A – macierz kwadratowa
– det(A) ≠ 0 – wyznacznik macierzy
– przykład
a*1=a
a * (a-1) = 1
23
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• mnoŜenie macierzy i wektorów
24
Rachunek wektorowo-macierzowy w programie SciLab
Działania na macierzach
• mnoŜenie macierzy i wektorów
• mnoŜenie dwóch wektorów
25
Rachunek wektorowo-macierzowy w programie SciLab
26
Działania na macierzach
Iloczyn tensorowy ( w sensie Kroneckera)
A=[ aij]i=1,m, j=1,n i B=[ bkl]i=1,p, j=1,r
A⊗B=[aij*B] i=1,m, j=1,n
np
dla:
oraz
a11
A = a 21
a 31
a12
a 22
a 32
a13 
a 23 
a 33 
b11 b12 
B=

b
b
 21 22 
a11 *b11

a *b
a11 * B a12 * B a13 * B  11 21
a21 *b11


A ⊗ B = a21 * B a22 * B a23 * B = 
a21 *b21


a31 * B a32 * B a33 * B
a31 *b11
a *b
 31 21
a11 *b12 
a11 *b22 
a21 *b12 
a21 *b22 
a31 *b12 
a31 *b22 
a12 *b11
a *b
 12 21
a22 *b11
a *b
 22 21
a32 *b11
a *b
 32 21
a12 *b12 
a12 *b22 
a22 *b12 
a22 *b22 
a32 *b12 
a32 *b22 
a13 *b11
a *b
 13 21
a23 *b11
a *b
 23 21
a33 *b11
a *b
 33 21
a13 *b12 

a13 *b11 
a23 *b12 
a23 *b22 
a33 *b12 
a33 *b22 
Rachunek wektorowo-macierzowy w programie SciLab
Zastosowanie rachunku macierzowego
2x = 6 ⇒ x = 6 / 2 ⇒ x = 6 * (2)-1
ax = b ⇒ x = b / a ⇒ x = b * (a)-1 = (a)-1 * b
27
Rachunek wektorowo-macierzowy w programie SciLab
Zastosowanie rachunku macierzowego
2x = 6 ⇒ x = 6 / 2 ⇒ x = 6 * (2)-1
ax = b ⇒ x = b / a ⇒ x = b * (a)-1 = (a)-1 * b
• układy równań
 a11 x1 + a12 x2 + L + a1n xn = b1
a x + a x + L + a x = b
 21 1 22 2
2n n
2

L

an1 x1 + an 2 x2 + L + ann xn = bn
Ax = b ⇒ ?
 a11 a12
a
a22
21

⇒
L L

an1 an 2
[ A]x = b,
L a1n   x1   b1 
L a2 n   x2  b2 
=
L L  L L
   
L ann   xn  bn 
det A ≠ 0
28
Rachunek wektorowo-macierzowy w programie SciLab
Zastosowanie rachunku macierzowego
2x = 6 ⇒ x = 6 / 2 ⇒ x = 6 * (2)-1
ax = b ⇒ x = b * (a)-1 = (a)-1 * b
• układy równań
 a11 x1 + a12 x2 + L + a1n xn = b1
a x + a x + L + a x = b
 21 1 22 2
2n n
2

L

an1 x1 + an 2 x2 + L + ann xn = bn
 a11 a12
a
a22
21

⇒
L L

an1 an 2
[ A]x = b,
L a1n   x1   b1 
L a2 n   x2  b2 
=
L L  L L
   
L ann   xn  bn 
det A ≠ 0
Ax = b ⇒ ?
Ax = b ⇒ A-1 Ax = A-1b ⇒ x = A-1b
29
Rachunek wektorowo-macierzowy w programie SciLab
Rachunek macierzowy w SciLabie
• definiowanie wektorów
– x = [1, 2, 3]
wektor wierszowy
– z = [1; 2; 3]
wektor kolumnowy
– A = [1, 2, 3; 4, 4, 4]
macierz 2×3
– A’
transpozycja macierzy
-->x = [1, 2, 3]
x =
1. 2. 3.
-->z = [1; 2; 3]
z =
1.
2.
3.
-->A = [1, 2, 3; 4, 4, 4]
A =
1. 2. 3.
4. 4. 4.
-->A'
ans =
1. 4.
2. 4.
3. 4.
30
Rachunek wektorowo-macierzowy w programie SciLab
Rachunek macierzowy w SciLabie
• wybór elementów macierzy
A(2, 3)
A=
31
Rachunek wektorowo-macierzowy w programie SciLab
Rachunek macierzowy w SciLabie
• wybór elementów macierzy
A(2, 3)
A(1, 1:4) = A(1, 1:$) = A(1, :) =
A(1:2, 2:3) =
A=
32
Rachunek wektorowo-macierzowy w programie SciLab
33
Rachunek macierzowy w SciLabie
• wybór elementów macierzy
A=
A(2, 3)
A(1, 1:4) = A(1, 1:$) = A(1, :) =
A(1:2, 2:3) =
-->A=ones(3,6)
A =
1. 1. 1. 1.
1. 1. 1. 1.
1. 1. 1. 1.
1. 1.
1. 1.
1. 1.
-->B=[2,3;4,5]
B =
2. 3.
4. 5.
-->A(2:3,4:5)=B
A =
1. 1. 1. 1.
1. 1. 1. 2.
1. 1. 1. 4.
1. 1.
3. 1.
5. 1.
Rachunek wektorowo-macierzowy w programie SciLab
34
Rachunek macierzowy w SciLabie
• funkcje wektorowe i macierzowe
– eye(3,3)
podstawienie macierzy jednostkowej
– ones(3,3)
podstawienie macierzy jedynek
– zeros(3,3)
podstawienie macierzy zer
– length(A)
wynikiem liczba elementów macierzy
– size(A)
wynikiem wymiar macierzy
-->I=eye(3,3)
I =
1. 0. 0.
0. 1. 0.
0. 0. 1.
-->Z=ones(3,3)
Z =
1. 1. 1.
1. 1. 1.
1. 1. 1.
-->W=zeros(3,3)
W =
0. 0. 0.
0. 0. 0.
0. 0. 0.
-->length(Z)
ans =
9.
-->size(Z)
ans =
3. 3.
Rachunek wektorowo-macierzowy w programie SciLab
35
Rachunek macierzowy w SciLabie
• funkcje wektorowe i macierzowe
– eye(3,3)
podstawienie macierzy jednostkowej
– ones(3,3)
podstawienie macierzy jedynek
– zeros(3,3)
podstawienie macierzy zer
– length(A)
wynikiem liczba elementów macierzy
– size(A)
wynikiem wymiar macierzy
–
-->A=[1,2,3;4,5,6;7,8,7]
A =
1. 2. 3.
4. 5. 6.
7. 8. 7.
-->sum(A)
ans =
43.
-->prod(A)
ans =
282240.
-->det(A)
ans =
trace(A)
obliczenie śladu macierzy (suma elementów przekątnej głównej) 6.
– sum(A) ( prod(A) )
obliczenie sumy (iloczynu) wszystkich elementów macierzy A
– det(A)
wyznacznik macierzy
Rachunek wektorowo-macierzowy w programie SciLab
Rachunek macierzowy w SciLabie
• działania na macierzach
– suma macierzy
– iloczyn Cauchy’ego
A+B
– iloczyn skalarny
A .* B
A*B
– mnoŜenie macierzy przez liczbę
c*A
36
Rachunek wektorowo-macierzowy w programie SciLab
Rachunek macierzowy w SciLabie
• działania na macierzach
– suma macierzy
– iloczyn Cauchy’ego
A+B
– iloczyn skalarny
A .* B
A*B
– mnoŜenie macierzy przez liczbę
c*A
– potęgowanie macierzy
A ^ c = A * ... * A (c razy)
– potęgowanie elementów macierzy A .^ c = [ aijc]
– odwracanie macierzy
inv(A), A-1
37
Rachunek wektorowo-macierzowy w programie SciLab
Rachunek macierzowy w SciLabie
• działania na macierzach
– „iloraz” lewostronny macierzy
P=A/B ⇒ A=P*B
– „iloraz” prawostronny macierzy
P=A\B ⇒ B=A*P
– „skalarny iloraz” lewostronny macierzy
P = A ./ B
– „skalarny iloraz” prawostronny macierzy
P = A .\ B
38