410 likes | 767 Views
Matrice. MATRICE. matrica tipa m x n . Brojevi su elementi matrice ili komponente matrice . i -ti redak j -ti stupac Dijagonal a matrice . Matrice. Ako je m=n kažemo da je A kvadratna matrica reda n .
E N D
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 Akvadratna 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 Astupč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 ivrijedi 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*1+2*2+3*3=14
Množenje matrica 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.
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.
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 = 1 2 3 4 5 6 7 8 9
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 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
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 65 8 3
Formiranje matrica • U MATLABu postoje funkcije kojima se mogu definirati matrice čiji elementi su jednaki jedinici i nuli (nul matrica)
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 230 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 ans = 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 ans = 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
>> C=[1 1;2 2;3 3] C = 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
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 ans = 1.0000 2.0000 3.0000 2.0000 2.5000 3.0000 2.3333 2.6667 3.0000
>> D./A ans = 1.0000 0.5000 0.3333 0.5000 0.4000 0.3333 0.4286 0.3750 0.3333 >> A.\D ans = 1.0000 0.5000 0.3333 0.5000 0.4000 0.3333 0.4286 0.3750 0.3333 >> A.^D ans = 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