Matrice
MATRICE matrica tipa m x n. Brojevi su elementi matrice ili komponente matrice. i -ti redak j-ti stupac Dijagonala matrice
Matrice Ako je m=n kažemo da je A kvadratna matrica reda n . Ako je m=1 kažemo da je A retčana matrica (ima samo jedan redak), Ako je n=1kažemo da je A stupčana matrica. Retčane i stupčane matrice se još zovu vektori.
Matrice Matrice A i B su jednake ako su istog tipa i ako je aij=bij za sve parove indeksa i,j
Zbrajanje matrica Mogu se zbrajati samo matrice istog tipa. Ako su matrice A i B istog tipa, tada je matrica C=A+B istog tipa kao i matrice A i B i vrijedi cij=aij+bij Dakle, matrice se zbrajaju član po član. Svojstva zbrajanja su : A+B=B+A (komutativnost) (A+B)+C=A+(B+C) (asocijativnost)
Množenje matrica sa skalarom Matrica se množi s nekim skalarom (brojem) tako da se svaki element matrice pomnoži s tim brojem. Drugim riječima, elementi matrice B=λA su bij=λaij Svojstva ove operacije proizlaze direktno iz svojstava množenja brojeva: λ(A+B)=λA+λB (λ+μ)A=λA+ μA λ(μA)=(λμ)A
Množenje matrica Definicija množenja matrica je na prvi pogled neobična, ali upravo nam ona omogućava jednostvno zapisivanje sustava linearnih jednadžbi. Matrice A i B možemo pomnožiti samo ako su ulančane, odnosno ako A ima onoliko stupaca koliko Bima redaka. Matrica C=A*B ima redaka koliko A i stupaca koliko B. Neka je, dakle, A tipa m x k i B tipa k x n . Tada je matrica C tipa m x n i vrijedi:
1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9 * = 1*1+2*2+3*3=14 14 32 50 77 122 194
Množenje matrica množenje matrica općenito nije komutativno. vrijedi: Element (2,3) se izračunava: množenje matrica općenito nije komutativno. vrijedi: (i) (AB)C=A(BC) (asocijativnost), (ii) A(B+C)=AB+AC(distributivnost), (iii) (A+B)C=AC+BC(distributivnost), (iv) λ(AB)=(λ A)B=A(λ B)
Nul matrica i jedinična matrica Kod zbrajanja brojeva broj 0 je neutralni element s obzirom na zbrajanje Analogija kod matrica je nul-matrica koja ima sve elemente jednake nuli. Nul-matricu označavamo s O, odnosno Omn kada želimo naglasiti o kojem tipu se radi. Kod množenja brojeva broj je neutralni element s obzirom na množenje, odnosno Analogija kod matrica je jedinična matrica . Ukoliko matrica nije kvadratna, jedinične matrice u odnosu na množenje slijeva i zdesna su različitog reda.
Nul matrica i jedinična matrica
Transponirana matrica Transponirana matrica matrice A je matrica AT koja je definirana sa [AT]ij=Aji Ako je A tipa m x n , AT je tima n x m Očito je (AT) T Vrijedi : (A+B)T = AT +BT (μA)T =μAT (AB)T =AT BT Matrica za koju je AT =A je simetrična matrica.
Operacije s matricama Promatrati ćemo samo realne matrice, odnosno dvodimenzionalna polja podataka, i vektore, tj. jednodimenzionalna polja podataka. 1 2 3 4 5 6 7 8 9 1 2 3 4
Formiranje matrica >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 >> B=[1 2 3;4 5 6;7 8 9] B =
Formiranje matrica Moguće je i automatizirano formiranje vektora >> x=(0:0.1:1) x = Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 11 0.7000 0.8000 0.9000 1.0000 >> y=linspace(0,1,11) y = Columns 1 through 7
Formiranje matrica Kreiranje matrica čiji su elementi slučajni brojevi Rand(m,n) – kreira matricu dimenzija m x m čiji su elementi slučajno generirani brojevi između 0 i 1 Rand(m)-kreira kvadratnu matricu dimenzija m x m čiji su elementi slučajno generirani brojevi između 0 i 1 Ukoliko želimo brojeve 0 -10 moramo cijelu matricu pomnožit s 10 A=fix(rand(3)*10) A = 4 2 0 8 6 6 5 8 3
Formiranje matrica U MATLABu postoje funkcije kojima se mogu definirati matrice čiji elementi su jednaki jedinici i nuli (nul matrica) >> P=ones(3) P = 1 1 1 >> Q=zeros(3) Q = 0 0 0 >>R=eye(3) R = 1 0 0 0 1 0 0 0 1
Pristupanje dijelu matrice Pojedini element matrice možemo ispisati definiranjem njegova retka i stupca (npr. element matrice A u prvom retku i drugom stupcu) >> A(1,2) ans = 2 Ukoliko želimo vidjeti prva dva retka matrice A >> A(1:2,:) ans = 1 2 3 4 5 6
Pristupanje dijelu matrice Moguća je korekcija pojedinih elemenata >> r=[101 102 103]; >> A(3,:)=r A = 1 2 3 4 5 6 101 102 103
Pristupanje dijelu matrice Moguća je nadopuna matrice (npr. želimo matricu B proširiti s dodatnim redom jednakim vektoru-retku r) >> B=[B;r] B = 1 2 3 4 5 6 7 8 9 101 102 103
Pristupanje dijelu matrice Ukoliko bi kod matrice A definirali element u drugom redu i šestom stupcu matrica se proširuje na portebnu dimenziju dodavajući na novodefiniranim mjestima nule. >> A(2,6)=1 A = 1 2 3 0 0 0 4 5 6 0 0 1 101 102 103 0 0 0
Pristupanje dijelu matrice Ukoliko dio matrice izjednačimo s praznom matricom [ ] isti dio se briše čime se početna matrica svodi na ostatak: >> A(:,4:5)=[ ] A = 1 2 3 0 4 5 6 1 101 102 103 0
Osnovne matematičke operacije s matricama Operacije skalar - matrica Operacije matrica - matrica Operacije na elementima matrica
Operacije skalar - matrica Matrici možemo dodati i/ili oduzeti skalar pri čemu rezultat zadržava orginalnu dimenziju >> A=[1,2,3;4,5,6;7,8,9]; >> A-1 ans = 0 1 2 3 4 5 6 7 8 >> 2*A-1 1 3 5 7 9 11 13 15 17
Operacije skalar - matrica Također je definirana operacija potenciranja matrice sa skalarom >> A.^2 ans = 1 4 9 16 25 36 49 64 81 Pri tome korišteno je '.^' da označi operaciju potenciranja koja se odnosi na elemente.
Operacije matrica - matrica Transponirana matrica >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 >> B=A' B = 1 4 7 2 5 8 3 6 9
Operacije matrica - matrica Za matrice jednake dimenzije moguće je definirati operaciju zbrajanja >> A+B ans = 2 6 10 6 10 14 10 14 18 >> 2*A-B 1 0 -1 6 5 4 11 10 9
Operacije matrica - matrica Ukoliko matrice imaju odgovarajuće dimenzije (ako je broj stupaca prve jednak broju redaka druge) moguće je izvršiti i operaciju množenja >> A*B ans = 14 32 50 32 77 122 50 122 194
Operacije matrica - matrica 1 1 2 2 3 3 >> A*C ans = 14 14 32 32 50 50 >> D=[1 1 1; 2 2 2] D = 1 1 1 2 2 2 >> D*A ans = 12 15 18 24 30 36
Operacije matrica - matrica Potenciranje koje bi se odnosilo na cijelu matricu je >> A^2 ans = 30 36 42 66 81 96 102 126 150 što je zapravo A*A
Operacije na elementima matrica operacije koje se provode po odgovarajućim elementima matrica. Ukoliko su matrice jednakih dimenzija moguće je primjeniti operacije množenja ('.*'), djeljenja ('./' s desne i '.\' s lijeve strane) i potenciranja ('.^') po elementima
Operacije na elementima matrica >> A.*D ans = 1 2 3 8 10 12 21 24 27 >> A./D 1.0000 2.0000 3.0000 2.0000 2.5000 3.0000 2.3333 2.6667 3.0000
>> D./A ans = >> A.\D >> A.^D 1.0000 0.5000 0.3333 0.5000 0.4000 0.3333 0.4286 0.3750 0.3333 >> A.\D >> A.^D 1 2 3 16 25 36 343 512 729
Neke posebne funkcije Diag(A) – izdvaja glavnu dijagonalu matrice sum(A) – vraća vektor čiji su elementi sume stupaca matrice A prod(A) - vraća vektor čiji su elementi umnošci elemenata stupaca matrice A det(A) – računa determinatnu matrice inv(A) – računa inverznu matricu matrice A size(A) - daje nam dimenzije matrice