Professional Documents
Culture Documents
Marinko Marki
1 od 24
Uvod
Matlab je prozvod The MathWorks, Inc.
Matlab zasnovan na matrinoj aritmetici, (vektori i matrice)
Osnovna namjena za numeriko raunanje
Podrava i simboliko raunanje
Mogunost pisanja vlastitih funkcija u Matlabu omoguila je
izradu alata Toolbox-ova
Grupiranje naredbi u skripte i funkcije
Matlab je dakle tvorevina sastavljena od jezgre, korisnikog
suelja i Toolbox-ova
Otvorena struktura Matlaba je njegova velika prednost
PPR & PR 2 od 24
Uvod
Interaktivni kalkulator interpreterskog tipa
Testiranje algoritama u stvarnom vremenu
Posjeduje grafiko korisniko suelje
Naziv mu dolazi od MATrix LABoratory to
PPR & PR 3 od 24
Dijelovi Matlaba
1. Razvojno okruenje: Matlab
desktop,editor debager, sustav pomoi
2. Zbirka matematikih funkcija: od
elementarnih (aritmetike,
trigonometrijske) do sloenih (FFT, Bessel)
3. Programski jezik: razvoj od malih brzih
rjeenja do sloenih aplikacija
4. Grafiki sustav: veliki skup alata za grafiki
prikaz, ispis podataka
5. API: Mogunost pozivanja Matlab rutina u
drugim programima
PPR & PR 4 od 24
Tipina primjena
Matematiki izrauni
Razvoj algoritama
Akvizicija podataka
Modeliranje simuliranje i razvoj prototipova
Obrada podataka, istraivanje i vizualizacija
Grafiki prikaz u znanosti i inenjerstvu
Razvoj aplikacija ukljuujui izradu korisnikog grafikog suelja
PPR & PR 5 od 24
Razvojno okruenje-desktop
PPR & PR 6 od 24
Help!!!
U Matlabu se pokree s naredbama help i lookfor
help daje popis svih podcjelina ukljuujui toolboxove
Odabirom pojedinog naslova dobije se detaljniji ispis
>>help sin
SIN Sine of argument in radians.
SIN(X) is the sine of the elements of X.
Overloaded methods:
codistributed/sin
PPR & PR 7 od 24
lookfor
lookfor koristimo kad nam nije poznat toan naziv naredbe
Iza naredbe tada navedemo jednu kljunu rije
PPR & PR 8 od 24
Ostala pomo
Detaljan prikaz svih naredbi i funkcija dostupan je u
Matlabovoj dokumentaciji u html i pdf formatu
Nalazimo je u izborniku Help na traci s izbornicima
opcija Product Help
Scilab
Matlabu slian alat. Besplatan, slinog programskog jezika:
http://www.scilab.org/
PPR & PR 9 od 24
Help!!!
U Matlabu se pokree s naredbama help i lookfor
help daje popis svih podcjelina ukljuujui toolboxove
Odabirom pojedinog naslova dobije se detaljniji ispis
>>help sin
SIN Sine of argument in radians.
SIN(X) is the sine of the elements of X.
Overloaded methods:
codistributed/sin
PPR & PR 10 od 24
Varijable
Varijable su u osnovi memorijske lokacije iji se sadraj moe
mijenjati tokom izvoenja programa.
PPR & PR 11 od 24
Varijable
=
Znak = naziva operatorom pridruivanja koji pridruuje
vrijednost varijabli.
PPR & PR 12 od 24
Varijable- podjela
Varijable po tipu, sadraju elemenata matrice mogu biti
Realne
Kompleksne
Simbolike
Polja cell-ova
Strukture
PPR & PR 13 od 24
Varijable- podjela
Varijable prema vidljivosti mogu biti Prema izvoru nastanka:
Lokalne Interne
Globalne Eksterne
Interne varijable
eps=2.2204e-16 tonost realnih brojeva
realmin=2.2250733858507202e-308 vrijednostajmanjeg realnog broja
realmax=1.797697134862316e+308 vrijednost najveeg realnog broja
pi=3.14154265358979 vrijednost broja
Inf (Infinity, npr. 1/0)
NaN (Not a Number, npr. 0/0)
i,j imaginarna jedinica kompleksnih brojeva
PPR & PR 14 od 24
Eksterne varijable
Eksterne varijable definira korisnik, ili mogu nastati kao rezultat
matematikih operacija i/ili funkcija izvedenih u Matlabu
Ime varijable:
do 19 znakova
Samo slova engleske abecede, brojke i _
Prvi karakter mora biti slovo
Matlab razlikuje mala i velika slova!!!
PPR & PR 15 od 24
Defniranje varijable
Varijabla se definira imenom i istovremeno dobiva vrijednost npr:
a=5
Naredba je pridruila skalarnu vrijednost 2 varijabli s imenom a
PPR & PR 16 od 24
Nizovi
Matematiki: objekti poredani po nekom pravilu
Koristimo: kada je potrebno pmatiti vei broj podataka istog tipa
Umjesto da za svaki podatak uvodimo posebnu varijablu, moemo
koristiti jednu varijablu sastavljenu od veeg broja elemenata.
PPR & PR 17 od 24
Nizovi
Def. Niz (matrice, vektori, polja,) (array) je struktura podataka gdje
isto ime dijeli vie podataka
PPR & PR 18 od 24
Nizovi / matrice
Niz s jednim lanom - skalar
PPR & PR 19 od 24
Nizovi / matrice
Primjer:
>> b = [4;3;2;5+3*i;8]
4
3
b= 2
5 + 3*i
8
Kod matrica treba napisati znakove za odvajanje redaka i stupaca
Stupci se odvajaju praznim mjestom (space) ili zarezom
Reci se odvajaju ;
Elementi matrice se unose po retcima
PPR & PR 20 od 24
Nizovi / matrice
Primjer:
utipkamo:
>> c = [1 2 3; 4 5 6; 7 8 9; 9 8 7]
Varijabli c pridruena je matrica
PPR & PR 21 od 24
Varijable a, b, c pohranjene su u Matlabovoj radnoj memoriji
(workspace)
Za ispis svih varijabli pohranjenih u workspace-u upotrijebi
naredbe who ili whos
PPR & PR 22 od 24
Naredba who daje ispis varijabli pohranjenih u workspace-u
Naredba whos daje osim imena varijable i veliinu, zauzee u byte-
ovima i tip sadraja varijable
Za upis dimenzije neke varijable u drugu varijablu koristi
se naredba size
c_dim=size(c)
Varijabla c_dim ima dva elementa.
Prvi sadri broj stupaca varijable c
Drugi sadri broj redaka varijable c
varijabla c je argument funkcije size
PPR & PR 23 od 24
Definaranje niza brojeva
Naredba za upis elemenata vektora koji predstavljaju
aritmetiki niz
d1=[var_min:prirast:var_max] zagrade su opcionalne
Primjer:
>> d1=[0:0.5:3]
d1 =
Columns 1 through 7
0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000
PPR & PR 24 od 24
Izdvajanje elementa
Svaki element niza izdvaja se imenom varijable i indeksom u zagradi
Primjer:
>> A=[1,2;3,5]
A =
1 2
3 5
>> A(2,1)
ans =
>>
PPR & PR 25 od 24
Nizovi
MATLAB
Definiranje niza brojeva:
Naredba za upis elemenata vektora koji predstavljaju
aritmetiki niz
d1=[var_min:prirast:var_max] zagrade su opcionalne
Primjer:
>> d1=[0:0.5:3]
d1 =
Columns 1 through 7
0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000
Stvoren je redni vektor od 7 elem. (dimenzije 1 x 7)
Najmanja vrijednost je 0, najvea 3 uz prirast 0.5
26
PPR & PR 26 od 24
Nizovi
MATLAB
Naredba: d1=[var_min:var_max], daje niz s prirastom 1
Naredba: d2=linspace(min,max,br_elem)
Funkcija linspace kreira aritmetiki niz
Prvi element ima vrijednost prvog argumenta funkcije (min)
Zadnji element je jednak drugom argumentu funkcije (max)
Broj elemenata niza odreen je treim arg. funkcije (br_elem)
Primjer:
>> d2=linspace(1,3,5)
d2 =
1.0000 1.5000 2.0000 2.5000 3.0000
27
PPR & PR 27 od 24
Nizovi
MATLAB
Naredba: d3=logspace(n1,n2,br_elem)
Funkcija logspace kreira logaritamski niz
Poetna vrijednost niza odreena je s 10n1, gdje je n1 prvi
argument funkcije
Konana vrijednost niza odreena je s 10n2, gdje je n2 drugi
argument funkcije
Broj elemenata niza odreen je treim arg. funkcije (br_elem)
Primjer:
>> d3=logspace(-1,2,5)
d3 =
0.1000 0.5623 3.16231 7.7828 100.0000
Niz d3 ima poetnu vrijednost 0.1 (10-1), konanu vrijednost
100 (102) i sadri 5 elemenata rasporeenih logaritamski
28
PPR & PR 28 od 24
Nizovi
MATLAB
Izdvajanje dijela matrice:
29
PPR & PR 29 od 24
Nizovi
MATLAB
Izdvajanje 1. stupca Izdvajanje 2. retka
matrice A. matrice A.
>> A(:,1) >> A(2,:)
ans = ans =
1 6 3 1
6
7
Izdvajanje elementa u 2. retku i 3. stupcu
>> A(2,3) 1 4 2
ans = 6 3 1
1
7 8 3
30
PPR & PR 30 od 24
Nizovi
MATLAB
Izdvajanje elemenata u retcima od 2. do 3.
i u stupcima od 2. do 3. matrice A.
>> A(2:3,2:3)
1 4 2
ans = 6 3 1
3 1 7 8 3
8 3
Izdvajanje elemenata u 1. i 3. retku,
te u stupcima od 1. do 2. matrice A.
>> A([1,3],1:2)
1 4 2
ans =
6 3 1
1 4 7 8 3
7 8
31
PPR & PR 31 od 24
Nizovi
MATLAB
Napomene o varijablama:
Sve varijable u Matlabu su nizovi. Skalar je niz s jednim
elementom, vektor je niz s jednim retkom ili jednim
stupcem elemenata, a matrica je niz s elementima u retcima
i stupcima.
Varijabla (skalar, vektor ili matrica) je definirana kad joj se
pridrue upisani elementi.
Veliinu niza nije potrebno unaprijed definirati (jedan
element za skalar, jedan redak ili stupac elemenata za
vektor, dvodimenzionalni niz elemenata za matricu).
32
PPR & PR 32 od 24
Nizovi
Napomene o varijablama:
33
PPR & PR 33 od 24
Naredba pridruivanja
MATLAB
Imenu varijable je pridruena numerika vrijednost ili izraz, tj. prvo
se izraunava izraz pa se dobivena vrijednost pridrui varijabli.
Kolika je vrijednost varijabli x i y poslije izvrenja niza naredbi?
x = 100;
y = x;
x = 200;
Varijabla x ima vrijednost 200, a varijabla y vrijednost 100.
Naime, prvom naredbom je varijabli x pridruena vrijednost
100, potom je tekua vrijednost varijable x (100) pridruena
varijabli y i na kraju je varijabli x pridruena vrijednost 200.
34
PPR & PR 34 od 24
Naredba pridruivanja -
string varijabla
tekst = 'Ovo je tekst.'
Varijabli tekst smo pridruili niz znakova (string), na taj nain smo
stvorili tekstualnu (string) varijablu.
Upiimo u naredbeni prozor tekst='Ovo je tekst.' bez znaka ";" na
kraju reda. Nakon pritiska na tipku Enter dobivamo:
tekst =
Ovo je tekst.
35
PPR & PR 35 od 24
Polja cell-ova:
MATLAB
Cell-ovi mogu sadravati razliite tipove podataka
(numeriki podaci, char itd.)
Za poetak i kraj polja cell-ova koriste se vitiaste zagrade
umjesto uglatih kao kod vektora i/ili matrica
Polje cell-ova se definira na sljedei nain:
>> aa = {1 2 3 'fkit';8 'program' 7 6}
Rezultat:
aa =
[1] [ 2] [3] [fkit]
[8] [program] [7] [ 6]
Naredba:
aa {1,4 } daje podatak fkit
36
PPR & PR 36 od 24
Strukture
37
PPR & PR 37 od 24
Strukture
MATLAB
add 1.
>> student.ime = Pero Peric;
>> student.god = 2;
>> student(2).god = 3;
39
PPR & PR 39 od 24
Strukture
MATLAB
Utipkamo:
>> student
student =
1x2 struct array with fields:
ime
god
test
Sada niz u strukturi ima veliinu [1 x 2]
40
PPR & PR 40 od 24
Strukture
add 2.
41
PPR & PR 41 od 24
Strukture
MATLAB
Primjer:
ENTER
student =
ime: {2x2 cell}
god: [2x1 double]
test: [3x6 double]
42
PPR & PR 42 od 24
Strukture MATLAB
Utipkamo:
>> student.ime
ans =
'Pero' 'Peric'
'Nada' 'Juric'
Utipkamo: >> student.god
ans =
2
3
43
PPR & PR 43 od 24
Strukture MATLAB
Utipkamo:
>> student.test
ans =
2 3 4 4 3 4
3 2 5 3 3 5
0 0 0 4 4 3
44
PPR & PR 44 od 24
Brisanje varijabli MATLAB
Naredba clear brie varijable iz radnog prostora
(workspace)
Naredba clear bez argumenta brie varijable i funkcije iz
radnog prostora
Naredba clear all brie sve varijable (global ) i funkcije
(M file) iz radnog prostora
Za pojedinano brisanje varijabli potrebno je iza naredbe
navesti varijablu koju se eli obrisati
Primjer:
>> clear a1 a2 a3
45
PPR & PR 45 od 24
Brisanje varijabli MATLAB
Naredba za brisanje samo globalnih varijabli postoji naredba:
>> clear global
Naredba:
>> clear a*
ima isti uinak kao i naredba iz prethodnog primjera
Zvjezdica zamjenjuje niz znakova !
Varijable se mogu obrisati i u prozoru Workspace, tako da
se selektiraju i primjeni opcija delete
46
PPR & PR 46 od 24
Spremanje varijabli na disk MATLAB
47
PPR & PR 47 od 24
Spremanje varijabli na disk MATLAB
48
PPR & PR 48 od 24
Uitavanje varijabli s diska MATLAB
49
PPR & PR 49 od 24
Uitavanje varijabli s diska MATLAB
50
PPR & PR 50 od 24
Primjer.
Nai i ispii sve troznamenkaste brojeve kojima je zadnja
znamenka 4.
PPR & PR 51 od 24
Dijagram toka
Slikoviti prikaz logikih koraka koji se poduzimaju u rjeenju problema
Uobiajeno se koriste:
Standardni lako prepoznatljivi simboli (ISO/ANSI)
Mali skup osnovnih simbola
Jednadbe
itanje se odozgo prema dolje
PPR & PR 52 od 24
Dijagram toka
Terminator Na poetku / kraju programa, funkcije, podprograma
PPR & PR 53 od 24
Funkcije ispisa i upisa
Funkcija input
PPR & PR 54 od 24
Funkcije ispisa i upisa MATLAB
Funkcija fprintf
Za zajedniki prikaz teksta i broja (vrijednosti varijable) rabimo funkciju
fprintf u sljedeem obliku:
fprintf('tekst kao niz znakova %-5.2f dodatni
tekst',ime_varijable)
Primjer:
A=37.15;
B=-19.27;
fprintf('Vrijednost A jest %g i B jest %g\n',A,B)
Ispis:
Vrijednost A jest 37.15 i B jest -19.27
Ispis:
That's all right.
>>
PPR & PR 56 od 24
Funkcije ispisa i upisa
Funkcija input
Funkcija input omoguuje unos podataka tijekom izvoenja programa napisanog u skript
datoteci. Sastavljena je od kljune rijei input i imena varijable iju emo vrijednost
upisati.
Sintaksa naredbe input:
varijabla = input('poruka koja e biti prikazana u
naredbenom prozoru');
Nakon pokretanja skript datoteke i izvoenja programske linije s funkcijom input, Matlab
prekida izvoenje programa. U naredbenom prozoru se prikazuje poruka nakon koje se
pojavljuje treptajui kursor. To je poruka korisniku da putem tipkovnice utipka
vrijednost koja e biti pridruena varijabli. Nakon upisivanja vrijednosti potrebno je
pritisnuti tipku Enter.
Time e varijabli biti pridruena upisana vrijednost, a program e se nastaviti izvravati
prvom naredbom iza naredbe input.
PPR & PR 57 od 24
Funkcije ispisa i upisa
Funkcija input
Primjer:
%Racunanje prosjecnog broja bodova postignutih na 3 testa
test1=input('Unesi broj bodova na 1. testu: ');
test2=input('Unesi broj bodova na 2. testu: ');
test3=input('Unesi broj bodova na 3. testu: ');
prosjek_bodova = (test1 + test2 + test3)/3
PPR & PR 58 od 24
Dijagram toka for petlje
INICIJALIZACIJA PETLJE
(definiranje oblika petlje:
k = f,s,t)
NE
PROVJERA
UVJETA
DA
IZLAZAK IZ PETLJE
PPR & PR 59 od 24
for -end. Petlja s poznatim brojem ponavljanja
MATLAB
vrijednost k u
for k = f:s:t zadnjem prolazu
... niz Matlab-ovih
... naredbi
end
ime varijable koje se koristi kao broja petlje moe biti proizvoljno.
60
PPR & PR 60 od 24
Skripte- izrada programa u Matlabu
PPR & PR 61 od 24
Primjer.
Nai i ispii sve troznamenkaste brojeve kojima je zadnja
znamenka 4.
PPR & PR 62 od 24