Racunarski Alati - 1
Racunarski Alati - 1
Racunarski Alati - 1
UVOD
ta je MATLAB
Softverski paket namenjen za reavanje
matematikih problema, analizu
podataka, numeriko izraunavanje i
vizuelizaciju.
poseduje visoke performanse u
numerikim izraunavanjima i
vizuelizaciji podataka.
MATrix LABoratory.
matrica).
Matlab je interpreter i programski
jezik.
Mogue je integrisanje algoritama
zasnovanih na MATLABu sa
eksternim aplikacijama i jezicima kao
to su: Fortran, C, C++, JAVA.
Programiranje i razvijanje algoritama
2D grafike
3D grafike
Kreiranje i editovanje grafika
Obrada slika,
Upravljake tehnike,
Statistike,
Fuzzy logike,
Neuronske mree,
Bioinformatike, itd.
Dokumentacija i literatura
MATLAB Users Guide,
www.mathworks.com
MATLAB Reference Guide,
www.mathworks.com
MATLAB Primer, Kermit Sigmon, Third
Edition,
http://www.math.toronto.edu/mpugh/prime
r.pdf
MATLAB i dodatni moduli, Latinka alasan,
Matlab okruenje
Prozor
4 radnog direktorijuma Prozor radnog prostora
2
1
Komandni prozor
5Prozor detalja
Elementarna izraunavanja
Zlatni presek
>> A=3
3
A=
3 A
Tipovi podataka u MATLAB-
u
Tipovi podataka
Tip (klasa) podataka
Skup vrednosti
Operacije
Numeriki
Celobrojni: int8, uint8, int16, uint16, int32,
uint32, int64, uint64
Pokretni zarez: single, double
Logiki: logical
Znakovni: char
Kreiranje promenljive
Promenljiva se kreira naredbom
dodeljivanja
; na kraju
promenljiva=izraz
a = 2; komande ne
b = 5; proizvodi
a^b Ako se zada samo nikakav izlaz
ans = izraz, vrednost se
32 dodeljuje ugraenoj
promenljivoj ans
x = 5/2*pi;
y = sin(x) % poziv ugraene funkcije sin
% linijski
y = komentar
1 ostatak linije
se ignorie
() u zgradama se
zadaju parametri
funkcije
Tip vrednosti promenljive
Sve brojne vrednosti su podrazumevano tipa double
Tip vrednosti izraza u naredbi dodeljivanja odreuje
tip promenljive
a = 2^5
a =
32
b = int8(23)
b =
Naziv tipa je ujedno i
23 funkcija kojom se kreiraju
c=single(3*10^5) vrednosti toga tipa
c =
300000
r=input(Unesite vrednost: )
Unesite vrednost: _
Tip podataka double
Osnovni tip podataka u MATLAB-u je double
ANSI/IEEE Standard 754 format:
s E (11 bits) f (52 bits)
Odgovarajua realna vrednost je: (-1)s (1.f) 2 (E-1023)
Relativna greka: eps = 2-52 10-16
Minimalna rednost: realmin = 2-1022 10-308
Maksimalna vrednost: realmax = (2-eps)*21023 10308
eps, realmin and realmax su ugraene promenljive u
MATLAB-u
Ujedno i funkcije koje vraaju odgovarajue
vrednosti datog tipa vrednosti u pokretnom
zarezu (single, double)
eps('single') 10-7
Ugraene promenljive
pi:
i, j: sqrt(-1)
Vrsta 2
Vrsta 3
mat(3,2)
Vrsta 4
kolona)
Vektor je jednodimenzioni niz
Vektor vrste je matrica formata 1xn (1 vrsta i n kolona)
Vektor kolone je matrica formata nx1 (n vrsta i 1 kolona)
Niz moe imati i vie od dve dimenzije i to je
array u MATLAB-u.
Matrice
a=1 matrica formata 1x1 1 element
1 2
b= 3 4 matrica formata 3x2 6 elemenata
5 6
c=[1 2 3 matrica
4] formata1x4 4 elementa, vektor vr
1
d= 3 matrica formata 3x1 3 elementa, vektor kolo
5
b(2,1)3 c(3)3 d(2)3
Vrsta # Kolona #
Vektori i Matrice
A= 4
1
10
6
1
11
6
16
2
21
A (2,4)
8 2
1.2 7 9 12
4 17
25 22 A (17)
7.2 3 5 8
7 13
1 18
11 23
>>A=[4, 10, 1,
0 4
0.5 9
4 14
5 19
56
6, 2 24
8, 1.2, 9, 4, 25
5 10 15 20 25
23 83 13 0 10 7.2, 5, 7, 1, 11
0, 0.5, 4, 5, 56
23, 83, 13 0
10 ];
>>A=[4, 10, 1, 6, 2; 8, 1.2, 9, 4, 25; 7.2, 5, 7, 1, 11; 0, 0.5, 4, 5,
56; 23, 83, 13 0 10 ];
Vektori i Matrice
>>A=[2 7 4]; 2 7 4 Vektor
2 vrste
>>B=[2; 7; 4]; 7 Vektor
4 kolone
>>C=[2 7 4;3, 8, 2 7 4
9]; Matrica 2D
3 8 9
niz
Praznina/, : separatori
kolona
Novi red/; : separatori
vrsta
Operator :
>> 1:5 Kreira vektor
ans = vrste
1 2 3 4 5
>> x=5:-1:1 Inkrement je
x = podrazumevano 1 inae
moe biti proizvoljan
5 4 3 2 1 Poslednji element je
>> 1:0.9:6 uvek manji ili jednak od
ans = gornje granice
1.0000 1.9000 2.8000 3.7000 4.6000 5.5000
2 8 2
1.2 7 9 12
4 17
25 22
A(1:5,5) A(1:end,end)
3 7.2
3
5 8
7 13
1 18
11 23 A(:,5) A(:,end)
A(21:25) A(21:end)
A(3,1) 4 0 4
0.5 9 4 14
5 19
56 24
A(3) 5 10 15 20 25 A(4:5,2:3)
5 23 83 13 0 10
A([9 14;10 15])
U zagradama () se specificira
indeks vrste,indeks kolone
matrica iji elementi su linearni indeksi (matrino indeksiranje)
Operator : specificira opseg/sve vrednosti indeksa
Lista indeksa se zadaje u []
end specificira maksimalnu vrednost odgovarajueg indeksa
Podmatrica/indeksiranje
n
4
4 7 8 5 1
6 6
A= 1 9 4 2 A(:) 5
m
5 3 7 6 8 7
1
A(i, j ), i 1...m, j 1...n indeks ( j 1)m i 3
A(1,2) 7 A(5) 1 8
A(:,1) [4 A([1:4:10]) [4 1 7]
9
7
6 A([3;2;7]) [5 5
1:end 4
5] 6
6
A(1,4:-1:2) [5 8 7] 8] 1
2
A([1,1],[5,2]) [1 7 A([5,11;8,3]) [1 4
8
1 7] 9 5]
Rad sa matricama
>> a=[0,0,0,0 >> a(2:3,1:2)=1
a =
0,0,0,0
0 0 0 1
0,0,0,0] 1 1 0 0
a = 1 1 0 0
0 0 0 0 >> a(2:3,1:2)=[1,1;1,1];
0 0 0 0 >> a(:,3:4)=[]
a =
0 0 0 0 0 0
>> a(1,4)=1 1 1
a = 1 1
0 0 0 1
0 0 0 0 [] prazna matrica (formata
0 0 0 0 0x0)
Brisanje vrsta ili kolona
matrice se vri dodeljivanjem
Proirivanje vektora/matrice
>> A=1:3 >> C=[1 2; 3 4]
A = C =
1 2 3 1 2
>> A(4:6)=5:2:9 3 4
A = >> C(:,3)=[5;6]
1 2 3 5 7 9 C =
1 2 5
>> B=1:2 3 4 6
B = >> C(3,5)=7
1 2 C =
>> B(5)=7; 1 2 5 0 0
B = 3 4 6 0 0
1 2 0 0 7 0 0 0 0 7
Nizovi karaktera
Proizvoljan tekst izmeu jednostrukih navodnika ' '
str =
Ciao !!! Matrica
>>str= ['Ciao', ' ', '!!!'] formata1x8
str = Isti efekat se moe dobiti
Ciao !!! horizontalnim spajanjem
operatorom []
Vertikalnim spajanjem nizova karaktera (moraju
1 4 7 10 Matrica logikih [1 2 3
>> ind=r>4
indeksa je istog 4 5 6]
formata kao i >>
ind = ind=rem(R,2)==0
matrica koja se
0011 ind =
indeksira
>> r(ind) [0 1 0
ans = 1 0 1]
7 10 >> R(ind)
ans =
Rezultat logikog indeksiranja vektora [4
je vektor 2
Rezultat logikog indeksiranja matrice 6]
Informacije o tipu podataka
classs(x): Vraa tip vrednosti x
isnumeric(x), islogical(x), ischar(x): Testira da li je
kompleksna)
isfinite(x), isnan(x), isinf(x) : Testira da li je vrednost x
, asin(x), acos(x),
round(x): Zaokruivanje prema najbliem
celom broju
ceil(x), floor(x), fix(x): Zaokruivanje prema ,-
odnosno prema 0
ceil(5.4) =6; ceil(-5.4)=-5
mod(x,y), rem(x,y): ostatak pri deljenju
prostora
>> whos
Name Size Bytes Class Attributes
A 3x3 72 double
a 1x1 4 single
x 1x6 12 char
y 3x1 12 int32
a 1x1 4 single
y 3x1 12 int32
Help sistem
help: Lista raspoloive sekcije. Neke od sekcija su:
general - Naredbe opte namene
datatypes, ops - Tipovi podataka/Operatori i specijalni
karakteri
elfun, specfun - Elementarne/Specijalne matematike
funkcije
elmat, matfun - Elementarne/Specijalne matrine
funkcije
strfun - Funkcije za rad sa stringovima
polyfun - Polinomi i interpolacija
graph2d, graph3d 2D/3D grafika
iofun Ulazno/Izlazne funkcije
lang - Konstrukcije programskog jezika