48
INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek

MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

INFORMATIKA IIMATLAB 2. deo

Rudarsko-geološki fakultet Rudarski odsek

Page 2: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

NizoviNiz (array) je osnovni oblik u kojem MATLAB čuva podatke i radi s njima Niz je skup brojeva poređanih u vrste (redove) i/ili kolone Najjednostavniji (jednodimenzionalni) niz jeste vrsta ili kolona brojeva Složeniji (dvodimenzionalni) niz je skup brojeva poređanih u vrste i koloneU nizovima se podaci čuvaju kao u tabeli U prirodnim i tehničkim naukama, jednodimenzionalni nizovi često predstavljaju vektore, a dvodimenzionalni matrice Sem brojeva, u MATLAB-u nizovi mogu sadržati i znakove, pa takve nizove zovemo znakovni nizovi (strings)

Page 3: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Jednodimenzionalni nizovi (vektor)Jednodimenzionalni niz je skup brojeva poređanih u vrstu ili kolonu Primer takvog niza su koordinate tačke u trodimenzionalnom Dekartovom (pravouglom) koordinatnom sistemu Na slici položaj tačke A je definisan njenim koordinatama, odnosno uređenom trojkom (2, 4, 5)Položaj tačke A(2, 4, 5), određen je i putem vektora položaja:

rA = 2i + 4j + 5kgde su i, j i k jedinični vektori u smeru osa x, y i z Brojevi 2, 4 i 5 definišu vektor vrstu ili vektor kolonu

A(2, 4, 5)

Page 4: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Transformisanje tabele u vektore

Svaki skup brojeva može poslužiti za definisanje vektora U tabeli datoj u primeru navedeni su podaci o rastu stanovništva od kojih se mogu napraviti dva skupa brojeva (vektora) - za godine i za broj stanovnikaPodatke u svaki skup se unose kao elementi vektora poređani u vrstu ili kolonu

Godina 1984 1986 1988 1990 1992 1994 1996

Stanovništvo (u milionima) 127 130 136 145 158 178 211

Page 5: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Generisanje vektoraU MATLAB-u se vektor generiše dodeljivanjem elemenata vektora promenljivoj To se može uraditi na više načina zavisno od izvora podataka koji se koriste za elemente vektora Kada vektor sadrži poznate brojeve (kao što su koordinate tačke A) vrednost svakog elementa se unosi direktno Element vektora može biti i matematički izraz koji sadrži prethodno definisane promenljive, brojeve i funkcije Elementi vektora mogu da predstavljaju niz brojeva koji se međusobno razlikuju za konstantnu vrednost (vektor sa konstantnim korakom) U takvim slučajevima, vektor se može formirati odgovarajućom MATLAB-ovom komandom Vektor se može dobiti i kao rezultat matematičkih operacija, što će biti objašnjeno kasnije

Page 6: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Izraz za generisanje vektora

Vektor se generiše upisivanjem elemenata (brojeva) unutar uglastih zagrada [ ]:ime_promenljive = [elementi vektora] Vektor vrsta: Za generisanje vektora vrste, elementi se unutar uglastih zagrada razdvajaju razmakom (blanko) ili zarezomVektor kolona: Za generisanje vektora kolone, unese se leva uglasta zagrada [, a zatim se unose elementi razdvojeni znakom tačka-zarez, ili se posle unošenja svakog elementa pritisne Enter;nakon poslednjeg elementa, unese se desna uglasta zagrada ].

Page 7: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Generisanje vektora od datih podataka

Pomoću podataka iz tabele o stanovištvu i koordinata tačke A napraviti vektor vrstu i vektor kolonu

Page 8: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Generisanje vektora sa konstantnim korakom između elemenata (I)

Vektor sa konstantnim korakom između elemenata se generiše zadavanjem prvog elementa, koraka i poslednjeg elementaVektor sa konstantnim korakom između elemenata sadrži elemente čija je razlika konstantna Na primer, u vektoru v = 2 4 6 8 10, korak izmedu elemenata je 2 Da bi se generisao vektor čiji je prvi element m, korak q, a poslednji element n treba uneti:ime_promenljive = [m:q:n] ili ime_promenljive =m:q:nAko su brojevi m, q i n takvi da se n ne može dobiti kao zbir broja m i celobrojnog umnoška broja q, onda će (za pozitivnu vrednost n) poslednji element vektora biti najveći broj koji nije veći od n

Page 9: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer

Page 10: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Generisanje vektora sa konstantnim korakom između elemenata (II)

Vektor sa konstantnim korakom između elemenata može se generisati zadavanjem prvog i poslednjeg elementa i ukupnog broja elemenataDa bi se generisao vektor čiji je prvi element xi, poslednji xj, a ukupan broj elemenata n, koristi se komandalinspace pri čemu MATLAB izračunavaodgovarajući korak:ime_promenljive = linspace (xi, xj, n)

Page 11: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer

Page 12: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Dvodimenzionalni nizovi (matrice)

Dvodimenzionalan niz (matrica) sadrži brojeve poređane u vrste i kolone Matrice se mogu upotrebiti za skladištenje podataka kao u tabeli Matrice igraju važnu ulogu u linearnoj algebri, a u prirodnim i tehničkim naukama koriste se za opisivanje mnogih fizičkih veličinaKvadratna matrica ima jednak broj vrsta i kolona Na primer, matrica:

⎥⎥⎥

⎢⎢⎢

356183947

je kvadratna matrica 3x3, sa 3 vrste i 3 kolone

Page 13: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Definisanje matrica (I)

Broj vrsta može biti različit od broja kolonaMatrica mxn ima m vrsta i n kolona, pa kažemo da je veličina matrice m puta nMatrica se definiše dodeljivanjem elemenata matrice nekoj promenljivoj Elementi matrice se upisuju, vrsta po vrsta, unutar uglastih zagrada [ ] Prvo se upiše leva zagrada [, zatim elementi prve vrste razdvojeni razmacima ili zarezima Da bi se prešlo na sledeću vrstu, upiše se tačka-zarez, ili pritisne Enter Na kraju poslednje vrste upiše se desna zagrada ]

ime_promenljive = [elementi prve vrste; elementi druge vrste; elementi treće vrste; ...; elementi poslednje vrste]

Page 14: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Definisanje matrica (II)

Elementi matrice mogu biti brojevi ili matematički izrazi koji sadrže brojeve, prethodno definisane promenljive i funkcijeSve vrste moraju imati jednak broj elemenata Ako je element nula, mora se upisati 0Ukoliko se upiše nepotpuna matrica, MATLAB će prikazati poruku o grešci Matrice se mogu dobiti i kao rezultat matematičkih operacija s vektorima i matricama

Page 15: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Vežba: primeri različito definisanih matrica

Page 16: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Vrste matrice kao vektoriVrste matrice se mogu uneti i kao vektori, pri čemu se može koristiti izraz za generisanje vektora sa konstantnim korakom između elemenata ili komanda linspaceU primeru, prve dve vrste su unete kao vektori pomoću notacije za generisanje vektora sa konstantnim korakomizmeđu elemenata, treća vrsta je uneta pomoću komande linspace, a elementi poslednje vrste uneti su pojedinačno

Page 17: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Komande zeros, ones i eye

Komande zeros(m,n), ones(m,n) i eye(n)generišu matrice čiji elementi imaju specijalnevrednostiKomande zeros(m,n) i ones(m,n) generišumatrice sa m vrsta i n kolona, u kojima su svielementi nule, odnosno jediniceKomanda eye(n) generiše kvadratnu matricu san vrsta i n kolona, čiji su elementi na glavnojdijagonali jedinice, a ostali nule - to je tzv. jedinična matrica (identity matrix)

Page 18: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer

Page 19: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Napomene o promenljivama u MATLAB-u

Sve promenljive u MATLAB-u su nizoviSkalar je niz s jednim elementom, vektor je niz s jednom vrstom ili jednom kolonom elemenata, a matrica je niz sa elementima u vrstama i kolonamaPromenljiva (skalar, vektor ili matrica) definisana je kada joj se dodele elementi Veličinu niza nije potrebno unapred definisati (jedan element za skalar, jedna vrsta ili kolona elemenata za vektor, dvodimenzionalni niz elemenata za matricu)Postojeća promenljiva (skalar, vektor ili matrica) može menjati veličinu i tip Na primer, skalar se može pretvoriti u vektor ili matricu, vektor se može pretvoriti u skalar, u vektor drugačije dužine ili u matricu, a matrici se može promeniti veličina ili se ona može svesti na vektor ili skalar Te promene se obavljaju dodavanjem i brisanjem elemenata

Page 20: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Operator transponovanjaKada se primeni na vektor, operator transponovanja pretvara vektor vrstu u vektor kolonu i obratno Kada se primeni na matricu, pretvara njene vrste u kolone i obratnoOperator transponovanja se primenjuje upisivanjem polunavodnika (') iza promenljive koju treba transponovati

Page 21: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Adresiranje elemenata nizova -vektor

Elementi niza (vektora ili matrice) mogu se adresirati pojedinačno ili u podgrupama To je pogodno kada treba redefinisati samo pojedine elemente, upotrebiti određene elemente u proračunu ili definisati novu promenljivu pomoću podgrupe elemenataAdresu određenog elementa vektora daje njegovpoložaj u vrsti (koloni) Ako je promenljivoj vct pridružen vektor, ondavct(k) označava element tog vektora na mestu k(prvo mesto je 1)Na primer, ukoliko vektor vct ima devet elemenata:vct = [35 46 78 23 5 14 81 3 55]onda jevct(4) = 23, vct(7) = 81, vct(1) = 35

Page 22: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Element vektora kao zasebna promenljiva

Svaki element vektora, vct(k), se može upotrebljavati kao zasebna promenljivaNa primer, može se promeniti vrednost samo jednog elementa vektora dodeljivanjem nove vrednosti određenoj adresi To će se uraditi iskazom vct(k) = vrednostSvaki element se može upotrebljavati kao zasebna promenljiva i u izrazima

Page 23: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer

Page 24: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Adresiranje nizova - matrica

Adresa elementa matrice je njegov položaj, definisan brojem vrste i kolone u kojoj se nalazi Ako je promenljivoj mat pridružena matrica, mat(k,p) označava element u vrsti k i koloni pNa primer, ako je data matrica:

⎥⎥⎥

⎢⎢⎢

809132107456113

mat =

onda je mat(1,2)=11, mat(2,3)=10, mat(3,1)=13

Page 25: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Pojedinačni elementi matrice

Kao i kod vektora, vrednostipojedinačnih elemenata matrice se mogu menjati dodeljivanjem novih vrednosti elementimaPojedinačni elementi se mogu upotrebljavati i kao promenljive u matematičkim izrazima i funkcijama

Page 26: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Adresiranje opsega elemenata nizova

Za adresiranje opsega elemenata vektora ili matrice upotrebljava se dvotačka (:) Za vektor:

vct(:) označava sve elemente vektora vct (vektora vrste ili vektora kolone)vct(m:n) označava elemente od m do n vektora vct

Page 27: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Adresiranje opsega elemenata matrice

A(:,n) označava sve elemente n-te kolone matrice A A(n,:) označava sve elemente n-te vrstematrice A A(:,m:n) označava sve elemente matrice A od m-te do n-te koloneA(m:n,:) označava sve elemente matrice A od m-te do n-te vrsteA(m:n,p:q) označava elemente matrice A koji su istovremeno u vrstama od m-te do n-te i kolonama od p-te do q-te

Page 28: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Vežba: Upotreba dvotačke u adresiranju matrica

Page 29: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Generisanje novih promenljivih od elemenata vrsta i kolona

Od pojedinačnih elemenata ili određenih vrsta i kolona postojećih promenljivih mogu se generisati nove promenljiveTo se radi tako što se izabrani elementi, vrste i kolone navedu unutar zagrada, kao u primerima

Page 30: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Dodavanje elemenata postojećim promenljivama

Promenljiva definisana kao vektor ili matrica može se menjati dodavanjem elemenataVektoru (matrici s jednom vrstom ili kolonom) se mogu dodavati elementi ili se on može pretvoriti u dvodimenzionalnu matricu Dodavanjem vrste i/ili kolone postojećoj matrici može se dobiti matrica drugačijih dimenzijaElementi se dodaju tako što im se dodele vrednosti ili pridruže postojeće promenljive

Page 31: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Dodavanje elemenata vektoruPostojećim vektorima se dodaju elementi tako što se novim elementima dodele vrednostiNa primer, ako vektor ima 4 elementa, on se može produžiti dodeljivanjem vrednosti elementima 5, 6 itd. Ukoliko vektor ima nelemenata, a nova vrednost se dodeli elementu čija je adresa n+2 ili veća, MATLAB elementima između n-tog elementa i novog elementa dodeljuje nule

Page 32: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer: dodavanje elemenata vektoru pridruživanjem postojećih vektora

Page 33: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Dodavanje elemenata matrici

Postojećoj matrici nove vrste i/ili kolone se mogu dodati tako što se dodele vrednosti elementima novih vrsta odnosno kolona Nove vrste i kolone se mogu dodavati i pridruživanjem postojećih promenljivihVeličina dodatih vrsta i kolona mora biti u skladu sa veličinom vrsta i kolona postojeće matrice

Page 34: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Dodeljivanje nove vrednosti elementu čija je adresa izvan dimenzija matrice

Ako matrica ima dimenzije m x n, a nova vrednost je dodeljena elementu čija je adresa izvan dimenzija matrice, MATLAB će povećati dimenzije matrice tako da matrica obuhvati novi element Ostalim dodatim elementima MATLAB dodeljuje nule

Page 35: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Uklanjanje elemenata

Element ili opseg elemenata postojeće matrice se uklanja kada se iza elementa ili opsega elemenata navedu uglaste zagrade bez sadržajaUklanjanjem elemenata skraćuje se vektor, a matrici smanjuje dimenzija

Page 36: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Ugrađene funkcije za obradu nizova (I)MATLAB ima mnogo ugrađenih funkcija (built-in functions) za obradunizova i rad s njimaSve ugrađene funkcije za rad s nizovima opisane su u prozoru sistema za pomoć (Help) U tom prozor treba odabrati „Functions by Category", pa zatim „Mathematics" i potom ,,Arrays and Matrices"

Funkcija Opis Primer

length Vraća broj elemenata vektora A. »A=[5 9 2 4]>>length(A)ans=4

size(A) Vraća dvodimenzionalni vektor vrstu [m,n], pri čemusu m i n dimenzije m x n matrice A.

>>A=[6 1 4 0 12;5 19 6 8 2]A=6 1 4 0 12 5 19 6 8 2>>size(A)ans=

2 5

reshape (A, m, n) Preuređuje matricu A sa r vrsta i s kolona u matricusa m vrsta i n kolona, pri čemu proizvod r i s mora bitijednak proizvodu m i n

.>>A= [5 1 6; 8 0 2]A =5 1 68 0 2>>B=reshape(A,3,2)5 08 61 2

Page 37: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Ugrađene funkcije za obradu nizova (II)

Funkcija Opis Primer

diag(v) Kada je v vektor, generiše kvadratnu matricu saelementima v na dijagonali

>>V=[7 4 2];>>A=diag(V)A=

7 0 00 4 00 0 2

diag(A) Kada je A matrica, generiše vektor od elemenataglavne dijagonale matrice A

>>A=[1 2 3; 4 5 6; 7 8 9]A=

1 2 34 5 67 8 9

>>vec=diag(A)vec=159

Page 38: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer: Generisanje matrice

Pomoću komandi ones i zeros napraviti matricu 4 x 5 u kojoj su prve dve vrste ispunjene nulama, a sledeće dve jedinicama

Page 39: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer: Generisanje matrice

Napraviti matricu 6 x 6 u kojoj su dve srednje vrste i dve srednje kolone ispunjene jedinicama, a ostatak nulama

Page 40: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer: rad s matricom (I)

Date su matrica A dimenzija 5x6, matrica B dimenzija 3x6, i vektor v sa 9 elemenata

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=80757065605555504540353030252015105

211815129620171411851916131074181512963171411852

BA

v=[99 98 97 96 95 94 93 92 91]

Page 41: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer: rad s matricom (II)

U komandnom prozoru napraviti ta tri niza i zatim, pomoću jedne komande:

zameniti četiri poslednje kolone prve i treće vrste matrice A s prve četiri kolone prve dve vrste matrice Bzameniti poslednje četiri kolone četvrte vrste matrice A elementima od 5 do 8 vektora vzameniti poslednje četiri kolone pete vrste matrice A kolonama od 2 do 5 treće vrste matrice B

Page 42: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Primer: rad s matricom (III)

Page 43: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Samostalan rad (I)Napraviti vektor vrstu od elemenata: 32, 4, 81, e2.5, 63, cos(π/3) i 14.12Napraviti vektor kolonu od elemenata: 55, 14, ln(51), 987, 0 i 5sin(2.5π)Napraviti vektor vrstu u kojem je prvi element 1, poslednji 33, a korak između elemenata 2 (1, 3, 5, ..., 33)Napraviti vektor kolonu u kojem je prvi element 15, poslednji -25, a elementi se smanjuju za po -5 (vektor kolona se može napraviti transponovanjem vektora vrste)Napraviti vektor vrstu sa 15 jednako razmaknutih elemenata od kojih je prvi 7, a poslednji 40Napraviti vektor kolonu sa 12 jednako razmaknutih elemenata od kojih je prvi -1, a poslednji -15

Page 44: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Samostalan rad (II)Napraviti vektor Prvi sa 16 elemenata od kojih je 4 prvi, 49 poslednji, a korak između njih 3

Zatim pomoću dvotačke napraviti nov vektor Drugisa osam elemenata Prva četiri njegova elementa napraviti od prva četiri elementa vektora Prvi, a druga četiri njegova elementa od četiri poslednja elementa istog vektora

Napraviti dole prikazanu matricu B koristećivektorsku notaciju za generisanje vektora sakonstantnim korakom između elemenata i/ilikomandu linspace

⎥⎥⎥

⎢⎢⎢

⎡=

1875.0750.0625.0500.0375.0250.0125.00243036424854606672252219161310741

B

Page 45: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Samostalan rad (III)

Napraviti sledeću matricu A:

⎥⎥⎥

⎢⎢⎢

⎡=

94171834503464587112436

A

Pomoću matrice A:• Od elemenata druge vrste matriceA,

napraviti vektor vrstu va sa pet elemenata• Od elemenata četvrte kolone matrice A,

napraviti vektor vrstu vb sa tri elementa• Od elemenata prve i druge vrste matrice A,

napraviti vektor vrstu vc sa deset elemenata• Od elemenata druge i pete kolone matrice A,

napraviti vektor vrstu vd sa šest elemenata

Page 46: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Samostalan rad (IV)Napraviti sledeću matricu C:

⎥⎥⎥

⎢⎢⎢

⎡=

3528211471512963108642

C

Pomoću matrice C:• Od elemenata treće kolone matrice C, napraviti

vektor kolonu ua sa tri elementa• Od elemenata druge vrste matrice C, napraviti

vektor kolonu ub sa pet elemenata• Od elemenata prve, treće i pete kolone matrice

C, napraviti vektor kolonu uc sa devet elemenata

• Od elemenata prve i druge vrste matrice C, napraviti vektor kolonu ud sa deset elemenata

Page 47: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Samostalan rad (V)

Pomoću komandi zeros i ones napraviti matricu 3 x 5 u kojoj su prva, druga i peta kolona popunjene nulama, a treća i četvrta kolona popunjene jedinicamaNapraviti matricu 5x7 čija prva vrsta sadrži brojeve 1 2 3 4 5 6 7, druga brojeve 8 9 10 11 12 13 14, treća brojeve od 15 do 21 itd.

Od te matrice napraviti novu matricu B dimenzija 3x4, koja sadrži vrste od 2 do 4 i kolone od 3 do 6 prve matrice

Page 48: MATLAB 2. deorgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II...INFORMATIKA II MATLAB 2. deo Rudarsko-geološki fakultet Rudarski odsek Nizovi {Niz (array) je osnovni oblik u kojem

Samostalan rad (VI)

Napraviti matricu A dimenzija 3 x 3 u kojoj su svielementi 1, i matricu B dimenzija 2 x 2 u kojoj susvi elementi 5

Zatim matrici A dodati elemente matrice B tako dase dobije matrica:

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

5500055000001110011100111

A