You are on page 1of 11
Praktikum i MATLAB programiranja 1 2. NIZOVI (VEKTORI I MATRICE) [iz je osnovni oblik u kojem MATLAB éuva podatke i radi sa njima, Niz je skup brojeva poredanih u vrste (tedove) ‘ili Kolone, Najednostaynijiniz je jednodimenzionaini niz.— vrsta ili kolona brojeva. Dvodimenzionalni niz je skup brojeva poredanih u viste i Kolone. U prirodnim i tehnitkim naukama, jednodimenzionalni nizovi predstavljaju vektore, a dvodimenzionalni matrice, 2.1 Generisanje vektora Vektor je jednodimenzionalni niz skupa brojeva poredanih u vrstu ili kolonu. Vektor se generi8e upisivanjem elemenata unutar uglastih zagrada (). Ime_promenljive = [elementi vektora] Vektor vesta se dobija kada se elementi vektora razdvoje razmakom ili zarezom. Primer 2.1; Napraviti vektor vrstu V od elemenata: 32, 4, 81, e™*, 63. cos(w3) i 14.2. >> V=[32, 4,81, exp (2.5), 63, cos (pi/3) ,14.2] Vektor kolona se dobija kda se elementi vektora razdvoje znakom ; ili ako se priikom upisivanja poste svakog elementa pritsne tater Enter > K=[95514; og (51) 9877 0;sart (11); *sin(1.3*pi)) Pored nitnog unosenja svakog pojedinatnog elementa, vektori se mogu generisati pomogu ugradenih funkeija 2a generisanje vektora sa odredenim osobinama. Generisanje vektora sa konstant koraka i postednjeg elementa: Korakom izmedu elemenata zadavanjem prvog elementa, Ime_promenljive = [m:qin] ili Ime_promeljive = miqin Ge je m prvi element vektora, ¢_ korak izmedu susednih elemenata, i n poslednji element vektora Ako se izostavi korak, podrazumeva se korak 1 raktkum iz. MA’ amirania 2 Za generisanje vektora sa konstantnim korakom izmedu elemenata, zadavanjem prvog poslednjeg elementa i ukupnog broja elemenata vektora, Koristi se funkelja Linspace Ime_promen1}i e = Linspace (xi, xf,n) Gde je xi prvi element vektora, xf posednji element vektora, a n broj elemenata vektora Primer 2.6: Generisati vektor V sa 10 jednako razmaknutih elemenata, u kome je prvi element -3 a posted 25. >> VeLinspace (-3, 25, 10) 2.2 Generisanje matrica Matrica je dvodimenzionalni niz ¢iji su elementi poredani u viste i kolone. Elementi matrice mogu biti brojevi ili matematicki izrazi koji sadrze brojeve, unapred definisane promenijive i funkeije. Generisanje matrica: Elementi matrice se upisuju vrstu po vrstu unutar uglastih zagrada. Sve vrste morajuimatijednak broj elemenata. Matrica se definise dodeljivanjem elemenata matrice promenljivoj: Ime_promenljive = (element prve vrste;elementi druge vrste elementi tree vrste;.;elementi poslednje vrste] Primer 2.7: Generisati matriew A 3 4={11 [>> ae13, 20,9, 6,4711,7,3,21, Generi8e jedinitnu matricu (matrica w Kojo] su elementi na glavnoj dijagonali jedinice a vandijagonaini nule). G To as [magic] Generite magitna waniou eo, “targbnl vada” Ga | elem ee elemenata. Primer 2.8: Upotrebom ugradenih funkcija generisati nula matricu dimenzija 5x3, matriu dimenczija 3x4 Giji su svi elementi jedinice, jedninignu matricu éetvrtog reda, matricu slu¢ajnih brojeva dimenzija 4x2 i magi¢nu matricu treéeg reda, . dobija se matrica Gift su irodni brojevi od | do n® i kod koje svaka vrsta i kolona imaju isti zbir Praktikum iz MATLAB programirania 3 >> nula_matric nula_matrica G3) >> matrica_jedinic: matrica jedinica = 1 1 1 1 1 1 1 1 1 1 1 1 >> jed_matrica=eye (4) jed_matrica 1 0 0 0 >> matrica_sluc_brerand(4,2) matrica_sluc_br = 0.1270 ~ 0.2785 0.9134 0.5469 0.6324 0.9575 0.0975 0.9649 >> magicna_matrica-magic(4) magicna_matrica 16 2 is 5 ll 10 8 9 7 6 12 41415 1 Viste matrica se mogu generisati kao vektori, Koristeci funketje za generisanje vektora (vektori sa jednako razmaknutim elementima ili vektori generisani pomoéu komande 1inspace). Primer 2.9: Generisati maticu M dimenzija 3x10, éiju prvu vrstu éine elementi od 1 do 10, drugu vrstu Gini vektor ij je prvi element S a poslednji 25 i treéu vrstu dine elementi 13.5, In(20), 18, sin(z/8), -2, e°”, 01 100, >> Me[1:10sLinspace (5,25, 10) ;1, sqrt (3) , 5, 10g (20) » 18, sin{(pi/8) ,~2, exp (5/4) ,0, 100] Operator transponovanja pretvara vektor vrstu u vektor kolonu i obratno. Kada se primeni na matricu pretvara njene vrste u kolone i obratno. Operator transponovanja se primenjuje upisivanjem polunavodnika *iza vektora odnosno matrice koje treba trasponovati. Praktikum iz MATLAB programiranja 4 2.3 Adresiranje vektora i matrica Adresiranje vektora se oxnosi na definisanje polozaja njegovih elemenata, Ako postoji vektor ve, tada ve (ik) oznagava element tog vektora na mestu k. Svaki element vektora se moze upotrebljavat kao posebna promentfiva, kojoj se moze dodeljvati nova vrednost ina taj natin menjati sam vektor. Svaki element vektora se moze upotrebjavati i kao posebna promenljiva ui drugim matematickim izrazima. Primer 2.10: Napravite vektor vistu VR od elemenata: 12, 15, 17,1, 0,3, 5,79. Zatim prikatite peti clement vektora VR i dodelite mu novu vrednost I. Prikadite izmenjeni vektor VR. I2racunajte zbit kvadrata drugog elementa j dvostruke vrednosti devetog elementa vektora VR. >> VR=[12,15,17,-1,0,3,5,7,3] vR woos) a7 0 3 5 el 9 >> VR(5) 0 >> VR(S)=1; >> VR vR 120015 ary vd 2 SI 5 7 8 >> VR(2)*242*VR(9} ans = ee ee Adresiranje matriea. Adresa elementa matrice je definisana brojem vrste i Kolone u kojoj se nalazi. ‘Ako je definisana matrica A, tada A (m, n) ozna¢ava se element matrice Au preseku vrste m i kolone n. Kao i kod vektora, moze se menjati vrednost pojedinatnih elemenata matrice dodeljivanjem nove vrednosti tom elementu, Pojedinaéni clementi matrice se mogu upotrebljavati kuo nezavisne promenljive u matlab izrazima i funkeijama. 25 ‘| Primer 2.11: Napravite matricu M [5 oi {s 9 7] Zatim prikazite element matrice M u preseku prve vrste i treée kolone i dodelite mu novu vrednost 100, Prikazite izmenjenu matricu M4, Izracunajte razliku sinusa elementa u preseku prve vrste i prve kolone i elementa u preseku treée vrste i druge kolone, >> M=[2,5,473, 6,175, 9,7] M 2 5 4 3 6 Z 8 8 7 >> M(1,3) ans 4 >> M(1,3)=100; > M Praktikum iz MATLAB programiranja _ we 2 5 100 3 é 1 8 8 7 >> sin (M(1,1))~sin(M(3,2)) 0.4972 2.3.1 Upotreba dvotaéke u adresiranju vektora i matrica Za vektor, recimo V, V ( :) oznagava sve elemente vektora V, a V (m:n) oznagava elemente vektora V od indeksa_m do ineksa n.. Primer 2.12: Dat je vektor vrsta VR sa elementima: 1, 2, 3,4, 5, 6, 7, 8, 910. Napravite vektor kolonu VK od iregeg do osmog elementa vektora VR, >> VRe1:10 ] VR = | 1 2 3 4 5 6 7 8 9 10 >> VKEVR (3:8) | VK = Za matrieu, recimo A, upotreba dvotatke u adresiranju ima sledese varijante: |A(:,n) —oznatava (izdvaja) kolonu n matrice A, A(n, 2) —oznatava (izdvaja) vrstu n matrice A. A(:,min) —oznatava (izdvaja) elemente u svim vrstama izmedu kolona mi n matrice A. A(mzn, :) ~oznatava (izdvaja) elemente u svim kolonama izmedu vrsta mi n matrice A. (mn, pq) —oznaéava (izdvaja) elemente u vrstama od m do n i kolonama od p do q matrice A. Iz vektora ili’ matrice se moze ukolniti element, vista ili kolona njihovim adresiranjem i dodeljivanjem vrednosti(] Primer 2.13: Dat je vektor vrsta VR sa elementima: 1, 2, 3, 4,5, 6, 7, 8, 910. Koriste¢i VR napravite vektor Kolonu. VK koja izuzimajuéi peti element u vektoru VR. 710 VR = 1 2 4 raktikum iz MATLAB programiranja - 6 u Dodavanje novih clemenata postojecem vektoru se viSi tako Sto se dodeli vrednost novom clementu. Na primer, ako vector ima n elemenata, a nova vrednost se dodeli element éija je adresa (indeks) 1*2 ili veta MATLAB dodeljuje nule elementima izmedu poslednjeg originalnog elementa i ovog elementa. Primer 2.14: s 2,5, 5,4) 2 8 9 4 >> x(5)=100 Ke 2 5 9 4 100 >> x(10)=50 Ke 2 5 9 4100 0 0 0 o 50 Dodavanje novih elemenata matriei se vrSi tako Sto se dodele vrednosti novim vrstama/kolonama odnosno kolonama. Ovde treba voditi raéuna o dimenzijama matrice. Takode, mogu se postojecim celementima matice dodeliti nove vrednosti >> AC:,4)=(1, 10,100] aA 8 1 6 1 3 5 7 10 4 3 2 100 >> A(4, A 8 1 6 1 3 5 7 10 4 9 2 100 5 5 5 5 >> ACL, 1)=2:2:8 a 2 4 6 a 3 5 7 10 4 8 2 100 5 5 5 5 oktikum iz MATLAB programiranja 2.4 Matematiéke operacije sa vektorima i matrieama Sabiranje i odzimanje moze biti sprovedeno nad vektorima i matricama jednakih dimenzija Primer 2.16 35 VI=I5, 6,517 >> V2e[-5, 6,100]; >> V3EVi4W2 vas 0 12 109 >> v3evitve" Error using + Matrix dimensions must agree. >> ML 2, 1,172, 2,2] m= >> Ma=MI4M2 m3 = ° a0 7 O74 >> M2=M2" m2 = “1 5 9 >> M3=Ma+m2 Error using + Matrix dimensions must agree. Praktikum iz MATLAB programiranja 48 45 1.2500 9.7500 2.6667 1.8000 2.4414 0.1001 18.9630 18.8957 2.5 Ugradene funkeije u Matlabu za analizu vektora i matrica U MATLAB-u postoji veliki broj funkeija za analizu vektora i matrica. U sledegoj tabeli su date najeeSée kori8éene funkeije. Tength(A) | Odreduje broj elemenata vektora [>> A= 11,5,9,3,7,3,5,6,4)15,0,3517 7: >> length ia) 12 [Sizetay Daje broj vista i Kolona matrice A SS B15, 6/875;5,516) 6, 679, 5,3] a >> dimAesize(a) dima = a3 Feahape lh mA) Preureduje matricu A sar vista Ts kolona tako sa imam vrsta in 5, 6,875, 5,516, 6,679,9,3] kolona, tako da je r*s=m*n ce ee 6 6 6 ee >> Bereshape(A,2,6) he 6 8 6 cee diag iv) Kada je V vektor, generise kvadratnu matricu sa elementima 7 | na dij V na dijagonali. A e A [ Kada je V_matrica, generi8e rake iz MATLAB vekior od elemenata na glavno] dlijagonali matrice V. ea 1 0 o 0 o 2 0 o o 0 3 0 0 0 5 4 >> Vemagic(3) v 8 1 6 3005 7 409 2 >> Xediag(V) x 8 5 B mean (A) Ako je A vektor, dobija se srednja | >> B=(1,5,9,3,7,5,5,6,4,15,0, 95]7 vrednost elemenata tog vektora. | >> mean (a) Ako je A matrica, dobija se vektor |*P°, > ji su elementi stednje vrednosti i kolona matrice A >> mean A) 3.0000 9.6667 7.3333, ‘C=nax (a) ‘Ako je A vektor, © je najveti |>> A=(1,5,5,3,18,9,5,6,4,15]7 element vektora A. Ako je a] >> Cmax (A) {[ayn}=mase (A) | matrica, C je vektor vista koji | ~ ,, sadréi_najveée elemente svake |. (4 n)-max (a) kolone matrice & ae Ako je A vektor, o je najvesi| _ 2 element vektora & a n polozaj tog 5 element u vektoru A >> RIL, 5,953, 18, 9;5,6,4] a 1 5 9 3 18 5 6 4 >> Comax (A) c S18 9 Isto kao max (A) , ali 2a najmanji element, Isto kao [dn] za najmanji element ax (A), ali >> BIT, 5,9, 3,18,9,5,6, 4,18) >> min iA) 1 >> (ayn}-min (a) a 1 Praktikum iz MATLAB programiranja sun (RY ‘Ako je B vektor, dobija se 2bir elemenata vektora, Ako je A matrica, dobija se vektor ij su elementi jednaki zbiru kolona rmatrice A. 1,5, 3,3,18,9,5,6,4,1517 >> sum(A) 5 >> An[1,5, 953,18, 975, 6,417 >> eum(A) 9 29 22 Sort (A) ‘Ako je A vektor, reda elemente vektora po rastucem redostedu. ‘Ako je A matrica, sortira elemente kolona matrice 3. T,5,9, 3,18, 9,5,6,4,1517 >> sort (B) 1345 5 6 9 9 15 18 >> 5,913,18,9;5, 6,41 a 2 5 9 3B 5 6 4 >> sort ia) 18 3 6 518 det ia) Tarabunava determinanta kvadratne matrice a, 3 RS[1,5, 975/18, AS Taviay Tzratunava inveranu—matricw | kvadratne matrice a. se 30 18g cd >> det iA) 465.0000 D> Re[L, 5,975,18, 575, 6,4] ae os 30 188 5 6 4 >> inv (Al 0.0387 -0.0731 0.2516 010710 0.0882 0.0387 0.1548 -0.0409 0.0065 dot (a,b) Tzragunava—skalani—proizvod | >> a=(2, 3,517 vektora a ib. ae eae >> omdot (a,b) 55 exoss(a,b) | Teratunava _vektorski_proizvod | >> 2=(2,3,5]7 vektora a i b. Vektor >? bo(6,1,817 moraju imati po tri elementa, 1914-16 ross (a,b) Praktikum iz MATLAB programiranja, 12 2.6 Znakovni nizovi ‘Znakovni niz se dobija upisivanjem znakova unutar polunavodnika. Mogu da sadr2e slova, brojeve, ostale simbole i razmake. Koriste se u kreiranju rezultata programa, formatiranju grafikona, itd. Prim >> Nastavnik='Jordan Radosavijevic™ Nastavnik = Jordan Radosavijevic MATLAB ima ugradenu funkciju char koja od znakovnih nizova nejednakog broja elemenata generi8e matricu sa vrstama jednake duzine. Ulazni argument funkeije char jes znakovni nizovi razdvojeni zarezima, Primer 2.20 3 Wastavnlct=char( Jordan", "barGan", ‘Wiroljub", Webojea", "asa", "earko", “Aleksandar”, "Slobodan", Bojaw"y Miroljub Barko Rlekeandar Prim Primer kreiranja izlaznih rezultata jednog programa iz elektroenergetike: disp(” ) 1 disp i ) disp") disp(' ) disp(' o---~ disp(’ disp(’ Q disp( disp( = dispi' ") Eprints ( 0k)

You might also like