Osnove Matlaba
SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
OSNOVE MATLABA
doc. dr. sc. Željko Ban
Zagreb, 2003.
SADRŽAJ
1.
UVOD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.
POKRETANJE I ORGANIZACIJA MATLABA
. . . . . . . . . . . . . . . . 2
2.1.
Pokretanje Matlaba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2.
Organizacija Matlaba i strukture podataka . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.
VARIJABLE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.
Interne varijable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.
Eksterne varijable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.
Definiranje varijable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.1. Vektori i matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.2. Definiranje niza brojeva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.3. Ekstrakcija dijela matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3.4. Polja cell-ova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3.5. Strukture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.
Brisanje varijabli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5.
Naredbe za rad s diskom, kontolu ispisa i naredbe operacijskog sustava . . . 14
3.5.1. Spremanje varijabli na disk i njihovo učitavanje . . . . . . . . . . . . . . . . 14
3.5.2. Naredbe operacijskog sustava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5.3. Naredbe za kontrolu ispisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.
Operacije u Matlabu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.
Aritmetički operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.
Relacijski operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3.
Logički operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4.
Naredbe odluke i ponavljanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.
Funkcije
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.
Elementarne matemetičke funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.1. Trigonometrijske i ciklometrijske funkcije . . . . . . . . . . . . . . . . . . . . 24
5.1.2. Logaritamske i hiperbolne funkcije . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.1.3. Ostale funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2.
Funkcije za obradu vektora i matrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2.1. Funkcije za definiranje matrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2.2. Relacijske i logičke funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2.3. Funkcije za obradu vektora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2.4. Funkcije za obradu matrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3.
Funkcije za obradu stringova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.4.
Funkcije za rad s polinomima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.5.
M funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.
GRAFIČKE FUNKCIJE MATLABA
. . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.1.
Dvodimenzionalni grafički prikaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.2.
Funkcije za uljepšavanje slike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Uvod
1
1.
UVOD
Potreba brze obrade laboratorijskih mjernih rezultata, kao i potreba za računanjem
zasnovanom na matričnoj aritmetici dovela je do stvaranja osnovnih verzija programa za računanje
u tehničkim znanostima kojima pripada i Matlab, razvijen od tvrtke MathWorks Inc. U grupi
programa za računanje u tehničkim znanostima razvio se čitav niz programa, a od većih i
poznatijih uz Matlab možemo spomenuti Matrix
x
i Easy. Svi ovi programi nastali su iz istih
potreba, pa imaju i slična korisnička sučelja i način rada, no sama izvedba i struktura su im
različiti. Osnovna jezgra Matlaba izgrađena je u osnovi oko matričnog kalkulatora s mogućnošću
izvršavanja niza naredbi grupiranih u
Skriptu,
odnosno funkciju. Mogućnost pisanja funkcija u
Matlabu omogućila je izgradnju čitavog niza alata (Toolbox) koji danas zajedno s osnovnom
jezgrom i korisničkim sučeljima čine Matlab. Upravo ova modularnost i otvorenost Matlaba za
definiranje novih alata postala je velika prednost Matlaba u odnosu na ostale slične programe, koji
imaju zatvorenu strukturu i nadogradnja je moguća samo od proizvođača. Otvorenost Matlaba
omogućila je da praktično svi njegovi korisnici postanu u neku ruku i razvojni tim samog Matlaba.
Tijekom razvoja u Matlabu su razvijeni alati za većinu djelatnosti iz područja tehničkih znanosti,
a postoje i neki alati koji se primijenjuju izvan područje tehničkih znanosti.
Cilj ove skripte je prikaz osnovnih mogućnosti Matlaba, a to praktično znači njegove
osnovne jezgre i nekih općenito češće korištenih alata. To znači da je skripta namijenjena
početnicima u korištenju Matlaba. Prema tome, u skripti je prikazana gruba organizacija Matlaba
koja korisniku omogućuje lakše shvaćanje logike rada s programom. Nadalje, navedene su
strukture podataka koje se koriste u programu kao i operacije i funkcije koje su dio osnovne
jezgre Matlaba. S obzirom da je rezultat proračuna često potrebno prikazati i grafički, prikazane
su i grafičke funkcije Matlaba, kao i M funkcije koje omogućuju korisniku automatizaciju i
ubrzanje računanja i prikaza rezultata.
Mogućnosti Matlaba ovime nisu niti približno iscrpljene. No mogućnosti kao što su
simuliranje dinamičkih sustava, obrada signala, rad sa simboličkim izrazima, generiranje
upravljačkog koda za procesorske sustave za rad u stvarnom vremenu i mnoge druge zahtijevaju
detaljniji pristup svakom od pojedinih modula. No, kvalitetna dokumentacija i struktura
Help-a
u Matlabu, svakom korisniku nakon prikupljenih osnovnih znanja o programu omogućuju
samostalno proširenje znanja i rada s Matlabom.
Matlab - Organizacija, osnovne strukture i osnovne operacije
2
Sl. 2.1. Znak programskog paketa Matlab.
2.
POKRETANJE I ORGANIZACIJA MATLABA
Matlab je interaktivni matrični kalkulator interpreterskog tipa, zasnovan na varijablama
koji omogućuje izvođenje Matlab funkcija, i posjeduje grafičko korisničko sučelje. Naziv
MATLAB dolazi od engleskih riječi MATrix LABoratory, što označava njegova osnovna
svojstva, a to su rad s matričnim varijablama i primjena kod obrade mjernih rezultata u
laboratoriju.
2.1.
Pokretanje Matlaba
Pokretanje programa Matlab ovisno je o računalnoj platformi na kojoj se pokreće. Na PC
računalima pod Windows operacijskim sustavom Matlab je moguće pokrenuti na 3 načina. To su:
S
Dvostrukim klikom miša na ikonu Matlaba na
desktopu
windowsa,
S
Primjenom
Start
izbornika
(Obično se Matlab nalazi na mjestu
Start
6
Programs
6
Matlab
6
Matlab
),
S
Upisom naredbe
matlab
u
Run
prozor unutar
Start
izbornika.
Prilikom startanja Matlab kratkotrajno prikazuje svoj znak prikazan slikom 2.1.
Nakon nestajanja Matlabova znaka pojavljuje se osnovni prozor Matlaba prikazan slikom 2.2.

Matlab - Organizacija, osnovne strukture i osnovne operacije
4
Sl. 2.3.
Prozor On line dokumentacije Matlaba.
Gdje je
naredba
naziv naredbe za koju tražimo sintaksu. Na primjer pomoć za naredbu za crtanje
bi bila:
help plot
.
Ukoliko nam nije poznat specifični naziv naredbe, za pomoć koristimo naredbu
lookfor
i to tako da iza naredbe navedemo
jednu ključnu riječ
koja označava akciju koju želimo
provesti. Primjerice, potrebno je označiti osi na grafikonu, a ne zna se naredba za označavanje osi.
U tom slučaju dovoljno je iza naredbe
lookfor
upisati pojam koji označava oznaku (
label)
:
lookfor label
.
Kao rezultat se dobije:
PLOTYY Graphs with y tick labels on the left and right.
XLABEL X-axis label.
YLABEL Y-axis label.
ZLABEL Z-axis label.
CLABEL Contour plot elevation labels...
Za svaku od navedenih naredbi pommoću
help
naredbe moguće je dobiti detaljnu sintaksu. Prema
tome za označavanje x-osi moguće je koristiti naredbu
xlabel,
za y-os naredbu
ylabel
itd.
Naredbe
help
i
lookfor
daju sažeti prikaz sintakse naredbe i korisne su i iskusnim korisnicima
Matlaba. Detaljan prikaz svih naredbi i funkcija Matlaba raspoloživ je u Matlabovoj dokumentaciji
u Html i Pdf obliku. Do dokumentacije se dolazi iz
Help
izbornika odabirom opcije
Matlab Help
.
Spomenuti izbornik otvara prozor prikazan slikom 2.3.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti