Professional Documents
Culture Documents
Matlab Uvod v2 PDF
Matlab Uvod v2 PDF
Matlab Uvod v2 PDF
MATrix LABoratory,
Pregled varijabli
Komandni prozor
Fajl sistem Istorija komandi
Okruenje
najjednostavnija deklaracija:
potiskivanje
ispisa
x = 1 ;
naziv varijable
vrijednost varijable
operator dodjele
Ugraene konstante
pi,
i, j - imaginarna jedinica,
realmax - najvea realna vrijednost,
realmin - najmanja realna vrijednost,
Inf - beskonano,
NaN - vrijednost koja nije validan FP podatak (Not a
Number)
Formatiranje ispisa
za formatiranje ispisa koristi se komanda format,
ova komanda utie samo na ispis, podaci se u memoriji i
dalje uvaju u istom formatu,
format short - ispis u formatu sa fiksnim zarezom
sa 5 cifara,
format long - ispis u formatu sa fiksnim zarezom sa
15 cifara,
format shorte - ispis u formatu sa pokretnim
zarezom sa 5 cifara,
format longe - ispis u formatu sa pokretnim
zarezom sa 15 cifara,
format hex - heksadecimalni format
Matrice
matrica =
1 2 3
4 5 6
Matrice
uitavanje sadraja iz eksterne datoteke
funkcije za uitavanje matrica iz eksternih datoteka
podrazumijevaju da su podaci u datoteci formatirani na
odgovarajui nain,
velicina=size(matrica)
x=matrica(2,3) % element u treem redu
% druge kolone
Matrice
deklarisanje i pristup elementima matrica - operator :
omoguava pristup veem broju elemenata ili
deklaraciju matrice iji se elementi nalaze u sekvenci,
izraz [a:b] je identian izrazu [a a+1 a+2 ... b],
mogue je navesti i korak [a:korak:b],
operator se koristi i za deklaraciju i za pristup
elementima matrica
matrica=[1:3;4:6]
matrica =
1 2 3
4 5 6
Matrice
deklarisanje i pristup elementima matrica - operator :
i=1
j=4
k=7
matrica=[i:j;i+3:k;j:k;i:j]
matrica =
1 2 3 4
4 5 6 7
4 5 6 7
1 2 3 4
Matrice
deklarisanje i pristup elementima matrica - operator :
matrica(1,1:3) - matrica koja sadri prvu vrstu
prve tri kolone originalne matrice,
matrica(1:3,1) - matrica koja sadri prve tri vrste
prve kolone originalne matrice,
matrica(1,:) - matrica koja sadri sve kolone prve
vrste originalne matrice,
matrica(2:2:4,1:2:3) - matrica koja sadri drugu
i etvrtu vrstu i prvu i treu kolonu originalne matrice
Matrice
proirivanje matrica
dozvoljeno je proirivanje matrica, uz potovanje
dimenzija
prosirenje=[1;2;3;4];
matrica2 = [matrica prosirenje]
matrica2 =
1 2 3 4 1
4 5 6 7 2
4 5 6 7 3
1 2 3 4 4
Matrice
neke ugraene funkcije za rad sa matricama
inv(A) - inverzna matrica matrice A,
max(A), min(A) - ako je A vektor, rezultat je njegova
najvea vrijednost. Ako je A matrica, rezultat je vektor
koji u svakoj koloni sadri najvei element iz
odgovarajue kolone matrice A,
diag(A) - ako je A matrica, rezultat je vektor
sastavljen od elemenata sa njene glavne dijagonale.
Ako je A vektor, rezultat je dijagonalna matrica kod koje
elementi na dijagonali odgovaraju elementima vektora,
det(A) - determinanta matrice A,
A' - transponovana matrica A
Aritmetiki operatori
obzirom da se varijable posmatraju kao matrice, osnovni
aritmetiki operatori dolaze u dva oblika:
operatori za rad sa matricama,
operatori za rad sa pojedinanim elementima matrica
kod raunskih operacija sa skalarnim vrijednostima, nije
bitno koji operator je u pitanju,
ans = ans =
12 12 12 2 4 6
30 30 30 8 10 12
48 48 48 14 16 18
Operatori i funkcije poreenja
operator == u MATLAB-u vri poreenje skalarnih
vrijednosti
ako su argumenti matrice, operator == vraa novu matricu
koja ima vrijednost 1 na onim pozicijama na kojim su
vrijednosti u matricama jednake,
ako su matrice razliitih dimenzija, operator == vraa
greku,
za univerzalno poreenje vrijednosti, moe se iskoristiti
funkcija isequal,
za testiranje razliitosti skalarnih vrijednosti koristi se
operator ~=
Programske konstrukcije - uslovni iskazi
if... elseif ... else ... end
if a==0
% u sluaju da je a jednako 0
elseif a ~= 5
% u sluaju da je a razliito od 5
else
% u ostalim sluajevima
end
Programske konstrukcije - uslovni iskazi
switch ... case
switch a
case 0
% u sluaju da je a jednako 0
case 1
% u sluaju da je a jednako 1
otherwise
% u ostalim sluajevima
end
% nema propadanja, pa nije potrebno
koristiti break
Programske konstrukcije - petlje
for (sa podrazumijevanim korakom)
for i=1:100
% tijelo petlj
end
while i>0
% tijelo petlj
end
try
% izrazi
catch tipgreske
% izrazi
end
ne postoje razliiti tipovi izuzetaka,
ako se iskoristi promjenljiva tipgreske, u njoj e biti zapisane
detaljnije informacije
ako se desi greka unutar catch bloka, prekida se izvravanje
programa, osim ako unutar tog bloka ne postoji novi try... catch
Funkcije
funkcije se definiu u datoteci sa ekstenzijom .m koji se zove
isto kao i funkcija,
u istoj datoteci se mogu nai i neke druge (lokalne) funkcije, ali
se mogu pozivati samo iz te datoteke,
ako postoji vie funkcija, onda funkcije na kraju moraju imati
kljunu rije end, u protivnom nije obavezna,
MATLAB funkcije mogu vratiti proizvoljan broj argumenata (tj.
u optem sluaju vraaju matricu vrijednosti),
dokumentacija za funkciju se dobija komandom help naziv
kljuna rije return se ne koristi za vraanje vrijednosti, nego
za prekid funkcije,
opti oblik:
function [r1,r2,...]=funkcija(arg1,arg2,...)
Rad sa grafovima
MATLAB prikazuje grafove u posebnom (Figure) prozoru,
Legenda
Y-osa i labela
Osnovni dio sa
prikazom
X-osa i labela
Rad sa grafovima - fplot
fplot funkcija omoguava iscrtavanje funkcije koja je
proslijeena kao string ili kao function handle na
odabranom intervalu,
osnovni oblici:
fplot(funkcija,vektor_sa_granicama)
fplot(funkcija,vektor_sa_granicama,podesavanja_linija)
primjeri:
fplot('x^2',[-5 5])
fplot('x^3',[-10 10],'r')
fplot('exp(x)',[-10 10],'*');
Rad sa grafovima - podeavanja linija
najvanije grupe:
karakteri koji odreuju boje linija: (r (crvena), b (plava),
g (zelena), y (uta), k (crna), itd.),
karakteri koji odreuju markere (karakteristine take):
x, +, *, <, >, v, ^, s,
Rad sa grafovima - plot
primjer:
x=0:0.2:10;
y=besselj(0,x);
plot(x,y);
plot(x,y,'r');
Prikaz vie grafova na istoj slici
primjer:
x=0:0.2:10;
y1=besselj(0,x);
y2=besselj(1,x);
y3=besselj(2,x);
plot(x,y1,x,y2,x,y3);
Prikaz vie grafova na istoj slici
primjer:
x=0:0.2:10;
y1=besselj(0,x);
y2=besselj(1,x);
y3=besselj(2,x);
plot(x,y1,'r*',x,y2,'kv',x,y3,'g.');
Prikaz vie grafova na istoj slici
za prethodni primjer:
plot(x,y1,'r*'); % otvaranje novog prozora
hold on % zadrzavanje ukljuceno
plot(x,y2,'kv');
plot(x,y3,'g.');
Podeavanje elemenata grafa