You are on page 1of 13

Beba 2

Matrice i operacije
Ve smo naglasili, da su u MATLAB - u, promenljive polja brojeva, koje mogu da se tumae kao matrice u uobiajenom smislu. Pod skalarom se podrazumeva matrica tipa 1x1. Vektori predstavljaju matrice jedne vrste ili jedne kolone. Matrica je polje brojeva koje se definie sa dva indeksa mxn, gde prvi indeks m oznaava broj vrsta, a drugi n broj kolona. Elementi se uglavnom unose po vrstama, a zagrade [ , ] ograniavaju listu elemenata. U okviru liste elementi se razdvajaju zarezom ili razmakom. Taster Enter ili ; se koriste za odvajanje vrsta matrice.

MATRICE I VEKTORI

1 1. PRIMER: Uneti matricu A = 6 7

2 8 4

4 5 . 2

>> A=[1 -2 4; -6 8 5; 7 -4 2] A= 1 -2 4 -6 8 5 7 -4 2 Druga mogunost upisa je: >> A=[1, -2, 4; -6, 8, 5; 7, -4, 2] A= 1 -2 4 -6 8 5 7 -4 2 Vektori su matrice vrste ili kolone i unose se na isti nain. Ako su vrednosti elemenata ekvidistantne (sa istim korakom) koristi se simbol : . 2. PRIMER: Uneti vektor x=(1, 2, ... , 10). >> x=1:10; x x= 1 2 10

Naredba length izraunava duinu vektora. >> length(x) ans = 10 Ako elimo proizvoljan korak, a ne 1, kao u predhodnom primeru, koristimo naredbu h=a:k:b, gde su a i b poetna i krajnja vrednost, a k je korak. 3. PRIMER: Uneti vektor x=(1, 3, 5,7). >> x=1:2:8 x= 1 3 5

Ako su u pitanju matrice sa kompleksnim elementima moemo ravnopravno da koristimo dva naina unoenja.
1 + 5i 3 + 7i 2 6i . 4 + 8i

4. PRIMER: Uneti matricu Z =

Matricu unosimo tako to posebno unosimo realne, a posebno imaginarne delove kompleksnih brojeva. >> a=[-1, 2; 3, 4] ; b=[5, -6; 7, 8] ; Z=a+b*i Z= -1.0000 + 5.0000i 2.0000 - 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i

5. PRIMER: Uneti matricu Z iz prethodnog primera tako to elemente odmah unosimo kao kompleksne brojeve >> Z=[-1+5*i , 2-6*i ; 3+7*i , 4+8*i] Z= -1.0000 + 5.0000i 2.0000 - 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i

U prethodnoj vebi videli smo kako se unose matrice. Sada emo se upoznati sa specijalnim matricama, operacijama sa matricama i ostalim pojmovima vezanim za matrice. Element matrice A koji se nalazi u preseku i-te vrste i j-te kolone moe se dobiti primenom naredbe A(i,j).
1 6. PRIMER: Iz matrice A = 2 4 2 3 5 3 1 izdvojiti element u preseku 6

druge vrste i tree kolone. >> A=[1 2 3 ; 2 -3 1 ; -4 -5 -6] ; >> A(2 , 3) ans = 1 Ako elimo da izdvojimo celu vrstu ili kolonu koristimo komande A(k,:), A(:,k), gde k predstavlja traenu vrstu, odnosno kolonu. VEBA: Nai drugu vrstu i treu kolonu matrice A iz prethodnog primera. Dimenzije matrice odreuju se naredbama size(A) ili [m,n]=size(A). 7. PRIMER: Odrediti dimenzije date matrice A, koristei naredbu size. >> size(A) ans = 3 3 8. PRIMER: Odrediti dimenzije matrice A koristei naredbu [m,n]=size(A). >> [m, n]=size(A) m= 3 n= 3 9. PRIMER: Zamena elemenata date matrice A brojevima izmeu 19 i 27, jedininim korakom ostvaruje se na sledei nain: >> A(:)=19:27 A= 19 22 25 20 23 26 21 24 2.

2 1 MATRICE SPECIJALNIH STRUKTURA Naredba eye daje jedininu matricu (tabela 1). Naredba Opis eye(n) Jedinina matrica dimenzija nxn eye(m,n) Jedinina matrica dimenzija mxn eye(size(A)) Jedinina matrica dimenzija date matrice A 10. PRIMER: Formirati matricu sa dve vrste i tri kolone iji su elementi na glavnoj dijagonali jednaki 1, a svi ostali elementi su jednaki 0. >> X=eye(2,3) X= 1 0 0 0 1 0 11. PRIMER: Odrediti jedininu matricu dimenzije date matrice A iz primera 1. >> A=[1 , 2 , 3 ; 2 , -3 , 1 ; -4 , -5 , -6] ; X=eye(size(A)) X= 1 0 0 0 1 0 0 0 1 Naredba ones daje matricu iji su svi elementi jedinice (tabela 2). Naredba ones(n) ones(m,n) ones(size(A)) Opis Matrica dimenzije nxn iji su svi elementi jedinice Matrica dimenzije mxn iji su svi elementi jedinice Matrica dimenzije date matrice A iji su svi elementi jedinice

12. PRIMER: Formirati kvadratnu matricu reda 2 iji su svi elementi jednaki 1. >> X=ones(2) X= 1 1 1 1 Naredba zeros daje matricu iji su svi elementi nule (tabela 3).

Naredba zeros(n) zeros(m,n) zeros(size(A))

Opis Matrica dimenzije nxn iji su svi elementi nule Matrica dimenzije mxn iji su svi elementi nule Matrica dimenzija date matrice A iji su svi elementi nule

13. PRIMER: Formirati matricu sa dve vrste i tri kolone iji su svi elementi jednaki 0. >> X=zeros(2,3) X= 0 0 0 0 0 0 Naredba magic(n) daje matricu sa celobrojnim elementima izmeu 1 i n2, dimenzija nxn, sa osobinom da je zbir elemenata po vrstama i kolonama konstantan (arobni kvadrat). 14. PRIMER: Formirati matricu treeg reda koristei naredbu magic i uoiti osobine matrice dobijene na taj nain. >> X3=magic(3) X3= 8 1 6 3 5 7 4 9 2 Naredbom diag(A) dobijamo dijagonalnu matricu date matrice A. 15. PRIMER: Uoiti osobine matrica dobijenih korienjem naredbe diag. >> A , X1=diag(A) , X2=diag(diag(A)) A= 1 2 3 2 -3 1 -4 -5 -6 X1 = 1 -3 -6 X2 = 1 0 0 0 -3 0 0 0 -6

2 2 OPERACIJE SA MATRICAMA U osnovne operacije sa matricama spadaju: sabiranje, oduzimanje, mnoenje, stepenovanje, deljenje i transponovanje. SABIRANJE I ODUZIMANJE MATRICA Sabiranje i oduzimanje matrica vri se tako to se sabiraju, odnosno oduzimaju odgovarajui elementi matrica. Tom prilikom moramo voditi rauna da matrice budu istih dimenzija. 16. PRIMER: Sabrati matrice A i B, gde je C novonastala matrica. >> A , B=[2, 3,-4; 1 -1, 1; 3, 2, -1] , C=A+B A= 1 2 3 2 -3 1 -4 -5 -6 B= 2 3 -4 1 -1 1 3 2 -1 C= 3 5 -1 3 -4 2 -1 -3 -7 Sabiranje i oduzimanje je izvodljivo i u sluaju da je jedan inilac skalar. Takav izraz MATLAB tumai tako to svakom elementu matrice dodaje ili od njega oduzima naznaeni skalar, tj. skalar posmatra kao konstantnu matricu dimenzija prilagoenih matrici koja se sabira ili oduzima. 17. PRIMER: Od date matrice A oduzeti skalar 1. >> D=A-1 D= 0 1 2 1 -4 0 -5 -6 -7 Napomena: U predhodnom primeru, skalar 1 MATLAB automatski shvata kao matricu istih dimenzija kao to je matrica A iji su svi elementi jednaki 1. MNOENJE MATRICA

Mnoenje matrica skalarom se vri tako to svaki element te matrice pomnoimo vrednou datog skalara. Treba imati u vidu da vai zakon komutativnosti tj. kA=Ak. 18. PRIMER: Ako je k=5, odrediti F=5A. >> A , F=5*A A= 1 2 3 2 -3 1 -4 -5 -6 F= 5 10 15 10 -15 5 -20 -25 -30 Mnoenje dve matrice: Proizvod matrica A={ a i , j } (dimenzija mxr) i B={ bi , j } (dimenzija rxn) je nova matrica C (dimenzija mxn) iji su elementi cij = ai ,k bk , j .
k =1 r

19. PRIMER: Pomnoiti matrice A i A1. >> A , A1=[1, 2 ; 2, -3 ; 1, 6] , P=A*A1 A= 1 2 3 2 -3 1 -4 -5 -6 A1 = 1 2 2 -3 1 6 P= 8 14 -3 19 -20 -29 20. PRIMER: Ako bismo pokuali da pomnoimo matrice obrnutim redom, tj. A1*A, dobili bismo odgovor: >> A1*A ??? Error using ==> * Inner matrix dimensions must agree.

Kroz ovaj primer vidimo jo jednu mogunost MATLABa, tj. dobijamo opis svih greaka koje smo nainili tokom rada. OPERACIJE NAD POLJEM BROJEVA Operatori nad poljem brojeva se razlikuju od operatora nad matricama. U zapisu sadre decimalni taku ispred operatora. Kada je u pitanju sabiranje i oduzimanje, razlike nema, pa se i ne koriste simboli .+ i . . Kod ostalih operacija razlika je to se operacije nad poljem brojeva obavljaju lan po lan, to ne mora da bude sluaj sa operacijama sa matricama. 21. PRIMER: Uoiti razliku izmeu mnoenja * i .* >> A ; C=[-2 4 0 ; 4 -6 4 ; 0 -4 -12] ; >> A*C ans = 6 -20 -44 -16 22 0 -12 38 92 >> A .*C ans = -2 8 0 8 18 -4 0 20 72 TRANSPONOVANJE MATRICA Transponovanje matrica sa realnim koeficijentima, je zamena vrsta i kolona. Vri se pomou operatora ' . 22. PRIMER: Transponovati datu matricu A, gde je E novonastala matrica. >> A , E=A' A= 1 2 3 2 -3 1 -4 -5 -6 E= 1 2 -4 2 -3 -5 3 1 -6 23. PRIMER: Kod transponovanja matrica iji su elementi kompleksni brojevi, MATLAB vri takozvanu kompleksnu transpoziciju, tj. transponuje matricu i istovremeno konjuguje svaki njen element.

>> Z=[1+2*i , 2-6*i ; 3+7*i , 4+8*i] , W=Z' Z= 1.0000 + 2.0000i 2.0000 - 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i W= 1.0000 - 2.0000i 3.0000 - 7.0000i 2.0000 + 6.0000i 4.0000 - 8.0000i DETERMINANTA MATRICE Determinanta kvadratne matrice je broj koji se u MATLAB-u izraunava pomou operatora det. 24. PRIMER: Izraunti determinantu kvadratne matrice A. >> A , D=det(A) A= 1 2 3 2 -3 1 -4 -5 -6 D= -27 INVERZNA MATRICA
1 Po matematikoj definiciji A =

1 adjA . det( A)

Inverzna matrica A 1 , date matrice A u MATLAB - u odreuje se pomou operatora inv(A). 25. PRIMER: Nai inverznu matricu, zadate matrice A. >> A ; Ai=inv(A) Ai = -0.8519 0.1111 -0.4074 -0.2963 -0.2222 -0.1852 0.8148 0.1111 0.2593

26. PRIMER: Ako elimo da izraunamo inverznu matricu singularne matrice (determinanta jednaka nuli) MATLAB daje sledei odgovor: >> S=[1 2 3 ; 4 5 6 ; 7 8 9] >> inv(S) Warning: Matrix is close to singular or badly scaled. Results may be inaccurate.

STEPENOVANJE MATRICA Ako je A kvadratna matrica, a p ceo pozitivan broj, matrini stepen definiemo na sledei nain: p A =1 AAAA AAAA 4 4L 24 43 . Stepenovanje moe da se vri i ako p nije ceo broj, ali to razmatranje prevazilazi ovaj kurs. Stepenovanje matrice matricom, davae poruku o greci. Za regularnu matricu (determinanta razliita od nule) A, vai p A p = ( A 1 ) . Stepenovanje kvadratne matrice vri se pomou operatora ^ , tako da izrazi matrini stepen od A . 27. PRIMER: Za regularnu matricu A odrediti A2 , A2 i proveriti da li vai da je A 2 A 2 = I , gde je I jedinina matrica istih dimenzija kao matrica A .
p

A ^ p i A ^ ( p)

daju p -ti i p -ti

>> J=A^2 , M=A^(-2) , I=J*M J= -7 -19 -13 -8 8 -3 10 37 19 M= 0.3608 -0.1646 0.2209 0.1674 -0.0041 0.1139 -0.5158 0.0947 -0.2853 I= 1.0000 0.0000 -0.0000 -0.0000 1.0000 0.0000 -0.0000 -0.0000 1.0000 DELJENJE MATRICA U matrinom raunu operacija deljenja nije definisana, ali u MATLAB - u postoje dva operatora deljenja: \ oznaava deljenje sa leva / oznaava deljenje sa desna Neka je A kvadratna regularna matrica. A \ B = A1 * B A / B = B * A1

10

Rezultati se dobijaju direktno, bez raunanja inverzne matrice. 28. PRIMER: U sledeem primeru moemo uoiti razliku izmeu operatora deljenja sa leva \ i sa desna /. >> A , B , K=A\B , K1=A/B A= 1 2 3 2 -3 1 -4 -5 -6 B= 2 3 -4 1 -1 1 3 2 -1 K= -2.8148 -3.4815 3.9259 -1.3704 -1.0370 1.1481 2.5185 2.8519 -3.4074 K1 = -2.2000 -3.0000 2.8000 0.9000 3.5000 -1.1000 4.6000 6.0000 -6.4000 DELJENJE POLJA BROJEVA . / Taka ukazuje da se operacija vri na odgovarajuim elementima. C=A./B podrazumeva sledei postupak: c(i,j) = a(i,j) / b(i,j), gde su a(i,j), b(i,j) elementi matrica A, B. Na identian nain se definie deljenje A.\B. 29. PRIMER: U sledeem primeru moemo uoiti razliku izmeu A./B i A.\B >> A./B ans = 0.5000 0.6667 -0.7500 2.0000 3.0000 1.0000 -1.3333 -2.5000 -6.0000 >> A.\B ans = 2.0000 1.5000 -1.3333 0.5000 0.3333 1.0000 -0.7500 -0.4000 -0.1667 Napomenimo da izraz X=A\B (X= A 1 B) predstavlja reenje jednaine AX=B, a izraz X=A/B (X=B A 1 ), predstavlja reenje jednaine XA=B.

11

30. PRIMER: Reiti matrinu jednainu AX=B gde su date matrice


1 A = 2 4 2 3 5 3 1 2 1 1 B = i . (Uputstvo: AX = B X = A B ) 6 2

>> A ; B ; X=inv(A)*B X= 0.1852 -0.3704 0.5185 ili >> X=A\B X= 0.1852 -0.3704 0.5185 31. PRIMER: Podeliti matricu A skalarom 2, sa leva i sa desna. >> A\2 ??? Error using ==> \ Matrix dimensions must agree. >> A/2 ans = 0.5000 1.0000 1.5000 1.0000 -1.5000 0.5000 -2.0000 -2.5000 -3.0000

VEBA:

1. Koristei datu matricu A odrediti: a) lan na mestu (3,1), b) drugu vrstu matrice A, v) determinantu matrice A 2 , g) transponovanu matricu matrice A 1 . 2. Ukucati i objasniti A(:) , A(:,:) , A(1:2,3) , A(:,3:-1:1) , A([13],[23]).

12

3. Izraunati

(A )

2 T

+ A1

4 + det A

koristei datu matricu A .

4. Reiti matrinu jednainu A 2 XB = C (na dva naina), ako je:


1 A = 1 2 0 , B = 0 2 3 8 17 , C = . 1 8 11

5. Dati su elementi , e, 2 . Formirati matricu 3x3, iju prvu vrstu ine dati brojevi, drugu vrstu njihovi tangensi, a treu vrstu kvadratni koreni datih brojeva .

SPISAK

NAREDBI I FUNKCIJA KOJE SU KORIENE U VEBI

eye ones zeros magic diag rot90(A) inv det

jedinina matrica matrica iji su svi elementi jedinice nula matrica magina matrica dijagonalna matrica rotacija matrice inverzna matrica determinanta matrice

13

You might also like