MATLAB Rad sa matricama Snimanje i uitavanje promenljivih
MATLAB Rad sa matricama
Snimanje i učitavanje promenljivih § Snimanje promenljive u fajl se vrši pomoću naredbe save: save matrice a b => snima promenljive a i b u fajl matrice. mat save matrice a* => snimaju se sve promenljive koje počinju slovom a u fajl matrice. mat save matrice => ako se ne navedu imena promenljivih, snimaju se sve promenljive iz radnog prostora (eng. workspace) u fajl matrice. mat § Učitavanje promenljivih iz fajla u radni prostor se vrši naredbom load: load matrice a b => učitavaju se promjenljive a i b iz fajla matrice. mat load matrice a* => učitavaju se sve promjenljive koje počinju slovom a iz fajl matrice. mat load matrice => ako se ne navedu imena promjenljivih, učitavaju se sve promjenljive iz fajl matrice. mat u radni prostor
Brisanje promenljivih § Brisanje promenljive iz radnog se vrši pomoću naredbe clear: clear a b => brisanje promenljivih a i b clear a* => brisanje svih promenljivih koje počinju slovom a clear => brisanje svih promenljivih iz radnog prostora § Brisanje komandnog prozora se vrši naredbom clc. § Snimanje sadržaja komandnog prozora u tekstualni fajl se vrši naredbom diary. Nakon te naredbe, sve što otkucamo u komandnom prozoru i rezultati koje dobijemo se snimaju u tekstualni fajl diary. txt. § Izlistavanje svih promenljivih koje se trenutno nalaze u radnom prostoru se vrši naredbom who, dok se detaljni prikaz dobija naredbom whos.
Često korišćene matrice – ones, zeros i eye § ones je matrica sa svim jedinicama. § zeros je matrica sa svim nulama. § eye je jedinična matrica. § Sa jednim argumentom, sve tri funkcije vraćaju kvadratnu matricu.
Kombinovanje matrica § Postojeće matrice se mogu međusobno kombinovati kako bi se na jednostavan način (bez direktnog unošenja elemenata) dobile složene matrice. § Pravila za kombinovanje više matrica su jednostavna: • Kada želimo spojiti dve ili više matrica u jednu, matrične • • promenljive, ili naredbe kojima se definišu matrice, se pišu u uglastim zagradama [ ]. Ukoliko želimo nadovezati drugu matricu sa desne strane postojeće, odvajamo ih zarezom. U ovom slučaju obe matrice moraju imati isti broj vrsta. Ukoliko želimo dodati matricu ispod postojeće, odvajamo ih tačka zarezom. U ovom slučaju obe matrice moraju imati isti broj kolona.
Formiranje složenih matrica § Primer: Bez direktnog unošenja elemenata, formirati matricu: >> A = [eye(3), ones(3, 2); zeros(2, 5)] A = 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0
Operator : § Osim unapred definisanih matrica, i matrica dobijenih njihovim kombinovanjem, bez direktnog navođenja elemenata se mogu zadavati i vektori koji predstavljaju aritmetički red, odnosno vektori kod kojih se svaka dva susedna elementa razlikuju za istu vednost. § Vektor sukcesivnih vrednosti iz intervala [a, b] sa korakom 1: >> x = a : b čime dobijamo vektor [a, a+1, a+2. . . b]. Dakle, krećemo od a, a svaki sledeći element se dobija dodavanjem 1 tekućem elementu. Najveći element mora biti manji ili jednak gornjoj granici intervala b. § Vektor vrednosti iz intervala korakom c: [a, b] se može dobiti i sa definisanim >> x = a : c : b § Korak c može biti pozitivan, negativan, celobrojan, decimalan.
Primeri sa operatorom : >> A = 1 : 7 A = 1 2 3 4 5 6 7 >> B = 0. 2 : 5 B = 0. 2000 1. 2000 2. 2000 3. 2000 4. 2000 0. 4000 0. 5000 0. 6000 >> C = 0. 2 : 0. 1 : 0. 6 C = 0. 2000 0. 3000 >> D = 9 : -1 : 1 D = 9 8 7 6 5 4 3 2 1
Pristupanje podmatricama § Navođenjem u uglastim zagradama brojeva vrsta i kolona, međusobno odvojenih zarezom ili spejsom, formira se podmatrica postojeće matrice sastavljena od elemenata koji se nalaze u preseku navedenih vrsta i kolona. § Navođenjem samo operatora : uzimaju se sve vrste, ili kolone, zavisno od toga gde je naveden. >> A(1, [2, 4]) drugi i četvrti element prve vrste (vektor 1 x 2) >> A([1, 3], [2, 4]) elementi u preseku prve i treće vrste i druge i četvrte kolone (matrica 2 x 2) >> A(3, : ) treća vrsta matrice A >> A(: , 4) četvrta kolona matrice A >> A([1, 5], : ) prva i peta vrsta matrice A
Primer pristupanja podmatricama Elementi prve vrste, prve i druge kolone Elementi koji pripadaju prvoj i drugoj vrsti i prvoj i drugoj koloni
Primer pristupanja podmatricama § Data je matrica A. Od zaokruženih delova matrice formirati nove promenljive b, c, d i e.
Matrične operacije § § § § Sabiranje + Oduzimanje Množenje * Deljenje / (X=B/A je rešenje sistema X*A=B) Deljenje sa desna (X=AB je rešenje sistema A*X=B) Stepenovanje ^ Transponovanje ' >> a = [1, 3; 2, 4]; b = [4, 2; 0, 1]; >> a a = 1 2 3 4 4 0 2 1 >> b b =
Operacije nad elementima matrice § Množenje. * tačka ispred operatora! § Deljenje. / § Stepenovanje. ^ § Zovu se još operacije nad poljem brojeva. § Primer: >> a = [1 2; 3 4]; >> b = a. ^ 2 b = 1 4 9 16 Stepenovanje nad poljem brojeva >> b = a ^ 2 b = 7 10 15 22 Matrično stepenovanje
Matrične operacije – primeri >> a=[1 2; 3 4], b=[2 2; 2 2] a = 1 2 3 4 b = 2 2 >> c=a+b, d=a-b, e=a*b c = 3 4 5 6 d = -1 0 1 2 e = 6 6 14 14
Operacije nad poljem brojeva – primeri >> a=[1 2; 3 4], b=[2 2; 2 2] a = 1 2 3 4 b = 2 2 >> f=a. *b, g=a. /b, h=a. ^2 f = 2 4 6 8 g = 0. 5000 1. 0000 1. 5000 2. 0000 h = 1 4 9 16
Funkcije det, inv i size § Elementarne matrične funkcije: – determinanta matrice det(x) – inverzna matrica inv(x) § Funkcija se poziva njenim imenom. § Ako funkcija ima parametre navode se u malim zagradama ( ) razdvojeni zarezima. § Ako funkcija vraća vrednosti, promenljive koje ih prihvataju se navode u uglastim zagradama [ ], razdvojene zarezima. § Primer: a = [1, 2; 3, 4; 5, 6]; [m, n] = size(a); m = 3 broj vrsta, n = 2 broj kolona
Rešavanje sistema linearnih jednačina § Neka je zadat sistem jednačina x+2 y-z=2 2 x+z=5 x-y+z=8 § Ovaj sistem se može predstaviti matrično, i rešiti korišćenjem matričnog računa kao X = A-1 Y. >> A = [1 2 -1; 2 0 1; 1 -1 1]; >> Y = [2; 5; 8]; >> X = inv(A)*Y X = 13 -16 -21
Za vežbu § Uneti matricu A koja je prikazana desno § Prekopirati matricu A u B § Izmeniti elemenat (2, 2) matrice B u vrednost 7. 5 § Iz matrice B izdvojiti drugu vrstu i smestiti u promenljivu C § Napraviti matrice § Podeliti elemente matrice A sa elementima matrice B § Pomnožiti elemente matrice A sa odgovarajućim elementima matrice B § Iz matrice D izbaciti prvu vrstu i treću kolonu § Snimiti matrice D i F u datoteke mat. D i mat. F § Kreirati matricu
Rešenja vežbi § § § § § A = [5 2 18; 8 7 4; 3 9 12] B = A; B(2, 2) = 7. 5; C = B(2, : ) D = [A; C]; E = [C; A]; F = [A C']; A. / B A. * B D = D([2: 4], [1: 2]) save mat. D D; save mat. F F Q = A + sqrt(B)
Sabiranje elemenata matrice § Funkcija sum(a) sabira elemente matrice po kolonama. § Primer: >> a=[1 5 6; 4 7 8]; >> sum(a) ans = 5 12 14 >> sum(a') ans = 12 19
Sabiranje svih elemenata matrice § Zbir svih elemenata matrice a se dobija pozivanjem funkcije sum dva puta, odnosno traženjem sume elemenata niza koji se dobija kao rezultat funkcije sum(a): >> a = [1 5 6; 4 7 8]; >> b = sum(a) b = 5 12 14 >> sum(b) ans = 31 >> sum(a)) ans = 31
Množenje elemenata matrice § Funkcija prod(a) množi elemente matrice po kolonama. § Primer: >> a=[1 5 6; 4 7 8]; >> prod(a) ans = 4 35 48 >> prod(a') ans = 30 224
Množenje svih elemenata matrice § Proizvod svih elemenata matrice a se dobija pozivanjem funkcije prod dva puta, odnosno traženjem proizvoda elemenata niza koji se dobija kao rezultat funkcije prod(a): >> a = [1 5 6; 4 7 8]; >> b = prod(a) b = 4 35 48 >> prod(b)) ans = 6720
Minimum i maksimum matrice § Za traženje minimuma i maksimuma matrice, koriste se funkcije min i max, respektivno. Obe funkcije rade po kolonama. >> a=[4 5 6; 1 7 8]; >> min(a) ans = 1 5 6 >> min(A)) ans = 1 >> max(a) ans = 4 7 8 >> max(A)) ans = 8
Minimum i maksimum sa pozicijom § Ukoliko se funkcije min i max pozovu sa dva izlazna argumenta, dobija se i pozicija minimuma i maksimuma. >> [maks, poz. Maks] = max(a) maks = 4 7 8 poz. Maks = 1 2 2 >> [min, poz. Min] = min(a) min = 1 5 6 poz. Min = 2 1 1 § Razmisliti kako dobiti minimum i maksimum čitave matrice.
- Slides: 25