Вы находитесь на странице: 1из 8

Materijal za ve be iz predmeta UPRAVLJANJE TEHNI

KIM SISTEMIMA

MATLAB
ta je Matlab?

Programsko okru enje za ra unanje u tehnici.


o U osnovi je matemati ki alat.
o Ima veliku primenu u primenjenim disciplinama in enjerstvu.
Poseduje visoke performanse u numeri kim izra unavanjima i vizuelizaciji
podataka.
o Sadr i numeri ku analizu, matri ni ra un, analizu signala, grafiku.
Osnovni elemenat je matrica koja ne zahteva dimenzionisanje.
o Ve0ina problema se jednostavno reava u odnosu na programske jezike
poput Fortran-a, Pascal-a, C-a.

Primena Matlaba:

na Univerzitetima je alat za obuku,


u industriji se upotrebljava za istra ivanje i reavanje prakti nih in enjerskih i
matemati kih problema.
Tipi na upotreba pokriva:
o Matematiku i numeriku posebno pogodan za reavanje problema koji se
mogu opisati matricama;
o Razvoj algoritama;
o Modeliranje, simulaciju i razvoj prototipova;
o Analizu podataka, istra ivanja i vizuelizaciju;
o Nau nu i in enjersku grafiku;
o Razvoj aplikacija, uklju uju0i grafi ki korisni ki interfejs.
Poseduje kolekcije metoda (alata, reenja) specifi nih za odre8ene oblasti 9
Toolbox-ovi

Toolbox-ovi

Toolbox je kolekcija (biblioteka) izabranih funkcija (M-datoteka) namenjena


reavanju problema odre8enje oblasti.
Proiruju mogu0nosti Matlab-a.
Postoje toolbox-ovi za oblasti
o analize signala
o automatskog upravljanja
o simulacije dinami kog ponaanja sistema
o identifikacije sistema
o veta kih neuronskih mre a
o fuzzy sistema
o optimizacije
o analize robustnosti sistema
o ...

Asistent: Laslo Tarjan

Fakultet tehni kih nauka, 2008/2009

Materijal za ve be iz predmeta UPRAVLJANJE TEHNI

KIM SISTEMIMA

Matlab promenljive

Naziv promenljive ine slova i brojevi (mora po eti slovom).


Razlikuju se mala i velika slova (npr. a i A su dve promenljive).

Matlab izraz

Oblik:
promenljiva = izraz
Izraz ine: nazivi promenljivih, funkcije, operatori i drugi specijalni znaci.
Promenljiva je matrica.
Ako se izostavi promenljiva sa leve strane znaka =, privremena promenljiva ans
prima vrednost izraza.
Kod duga kih izraza, kada je potrebno unos nastaviti u narednom redu, predhodni
red zavriti sa ... (tri ta ke).
Znak ; na kraju izraza spre ava da se ispie vrednost promenljive na ekranu.
o Ovo je bitno u slu ajevima kada se u itavaju matrice velikih dimenzija
kako bi se izbeglo nepotrebno ispisivanje.
o Koristiti kod rada sa .m datotekama, da se ne eljeni me8urezultati ne bi
ispisivali.

Matrice u Matlab-u

Osnovni tip podataka je matrica (brojeva)


Skalar je matrica dimenzije 1x1
o sli no je i sa vektorima u obliku kolone ili vrste
Elemenat matrice mo e biti kompleksan broj
Matrica se mo e tuma iti kao
o niz koeficijenata polinoma
o niz slova u string-u
o bit-mapirana slika
o zvu ni zapis
Dimenzije matrice se ne unose
Potreban memorijki prostor za matrice se automatski zauzima (alocira)
Veli ina matrice nije ograni ena i mo e prevazi0i raspolo ivi RAM
Ra unara (zahvaljuju0i postojanju Windows swap datoteke)

Rad sa Matricama

Promenljiva (matrica) se mo e kreirati:


o Kao eksplicitna lista elemenata
>> A=[1,2,3; 4,5,6; 7,8,9]
A=
1 2 3
4 5 6
7 8 9

Asistent: Laslo Tarjan

Fakultet tehni kih nauka, 2008/2009

Materijal za ve be iz predmeta UPRAVLJANJE TEHNI

KIM SISTEMIMA

o Kao rezultat izvravanja ugra8ene naredbe ili funkcije (Matlab-ove unutranje


funkcije)
o Formiranjem u M-datoteci (Matlab-ovoj spoljanjoj funkciji)
o U itavanjem iz datoteke podataka
o Matlab poseduje i neke ve0 unapred definisane matrice - matrice poznatih
vrednosti su:
o zeros(n)
>>zeros(3)
>>zeros(3,2)
ans =
ans =
0 0 0
0 0
0 0 0
0 0
0 0 0
0 0
o ones(n)
>>ones(3)
ans =
1 1 1
1 1 1
1 1 1

>>ones(3,4)
ans =
1 1 1
1 1 1
1 1 1

1
1
1

o eye(n)
>>eye(3)
ans =
1 0
0 1
0 0

>>eye(3,4)
ans =
1 0 0
0 1 0
0 0 1

0
0
0

0
0
1

Sumiranje elemenata po koloni sum(a)


>> a=[1 5 6; 4 7 8];
>> sum(a)
ans =
5 12 14

Transponovana matrica:
B=A'
Ako je A=[1, 5, 6; 4, 7, 8] $ B=[1, 4; 5,7; 6,8]

Pretra ivanje matrice: A=[1, 5, 6; 4, 7, 8]


o Minimalni elementi
>> min(A)
ans =
1 5 6
o Maksimalni elementi
>> max(A)
ans =
4 7 8

Asistent: Laslo Tarjan

>> min(min(A))
ans =
1
>> max(max(A))
ans =
8

Fakultet tehni kih nauka, 2008/2009

Materijal za ve be iz predmeta UPRAVLJANJE TEHNI

Pristup elementu matrice:


>> b=[5, 3, 0, 11.2; 1-6i, 1+6i, 0, 9; 0, 0.1, 0.15, 0.98];
>> b(2,2)
ans =
1.0000 + 6.0000i
>> b(1:3,3)
ans =
0
0
0.1500

5
3
0
11.2
b = 1 6i 1 + 6i
0
9
0
0.1 0.15 0.98

Kreiranje podmatrice:
>> c=b(2:3,[1,3])
c=
1.0000 - 6.0000i
0
0
0.1500
Determinanta matrice: det(c)
Inverzija matrice: inv(c)

Snimanje promenljive u datoteku:


save ime_datoteke promenljiva
npr.: >> save matrica b

U itavanje promenljive iz datoteke:


load ime_datoteke promenljiva
npr.: >> load matrica b
Brisanje promenljive:
o clear promenljiva
npr: clear b
o ili samo clear za brisanje svih promenljivih

KIM SISTEMIMA

Brojevi

Realni: 3

-99
0.0001
-9.639825
1.62e-20
o opseg od 2.2251*10-308 do 1.7977*10308
Kompleksni -4+7i 8i -9j -9*j 1.23-12e-4j 8+i9
o imaginarna jedinica je: i ili j
o funkcije
Realna vrednost broja real(z)
Kompleksna vrednost broja imag(z)
Konjugovano kompleksna
Vrednost conj(z)
Moduo abs(z)
Argument angle(z)
o matrice kompleksnih brojeva

Asistent: Laslo Tarjan

-10.34e200

Fakultet tehni kih nauka, 2008/2009

Materijal za ve be iz predmeta UPRAVLJANJE TEHNI

KIM SISTEMIMA

Posebni brojevi
o Ludolfov broj pi (3.1415...)
o Imaginarna jedinica i ili j
o beskona na vrednost . Inf
o neodre8ena vrednost (not a number) NaN
o podrazumevana ta nost eps (2.2204e-016)
o privremena promenljiva ans
o konstante opsega brojeva realmin i realmax
Deljenje nulom ne prekida program, ve0 ispisuje upozorenje, a nastala vrednost je
Inf
NaN je rezultat neodre8enih izraza Inf/Inf ili 0/0
Primer:
>> 1/0
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
ans =
Inf
>> x=Inf/Inf
x=
NaN

Aritmeti2ke operacije

Aritmeti ke operacije:
o sabiranje
+
o oduzimanje o mno enje
*
o deljenje (levo) /
o desno deljenje \
o stepenovanje ^
Primer: >> 4\1
ans =
0.2500
>> 4/1
ans =
4
Redosled operacija je odre8en na osnovu prioriteta.
Upotrebom ( ) mo e se uticati na redosled izra unavanja.
Primeri:
>> 1 + 3 * 2 ^ 4 / 6 - 9
ans =
0

Asistent: Laslo Tarjan

>> 1 + (3 * 2) ^ 4 / (6 - 9)
ans =
-431

Fakultet tehni kih nauka, 2008/2009

Materijal za ve be iz predmeta UPRAVLJANJE TEHNI

KIM SISTEMIMA

Matri2ne operacije

Osnovne operacije:
o sabiranje
+
o oduzimanje o mno enje
*
o deljenje (levo)
/
X=B/A je reenje sistema X*A=B
o desno deljenje \
X=A\B je reenje sistema A*X=B
o stepenovanje ^
o transponovanje

Operacije nad elementima matrice:


mno enje
.*
deljenje (levo) ./
desno deljenje .\
stepenovanje .^
Primer:
>> a=[1 2; 3 4];
>> a*a'
ans =
5 11
11 25

>> b=a .\ 3
b=
3.0000
1.0000

1.5000
0.7500

Matrice i funkcije

Parametri i vra0ene vrednosti funkcije su matrice.


Matemati ka funkcija f koja ima parametar matricu X kao rezultat vra0a matricu
Y=f(X) sa elementima yij = f(xij).
Elementarne matri ne funkcije:
o determinanta matrice det(x)
o inverzija inv(x)
o pseudo-inverzija ne kvadratne matrice pinv(x)
o formiranje karakteristi nog polinoma poly(x)
o trag matrice trace(x)
o ... (help matfun)
Transcedentalne matri ne funkcije
o expm(x)
o logm(x)
o sqrtm(x)

Asistent: Laslo Tarjan

Fakultet tehni kih nauka, 2008/2009

Materijal za ve be iz predmeta UPRAVLJANJE TEHNI

KIM SISTEMIMA

Logi2ke operacije i operacije pore7enja

logi ke operacije se upotrebljvaju nad matricama sa logi kim vrednostima:


o la - vrednost nula
o istina- vrednost razli ita od nule (uobi ajeno je 1)
Rezulati logi kih operacija su uvek matrice sa elementima 0 i 1
Logi ke operacije su:
o negacija (unarna operacija) ~
o konjukcija (binarna operacija, logi ko i) &
o disjunkcija (binarna operacija, logi ko ili) |
Operaci pore8enja:
o jednako: ==
o suprotno (nije jednako): ~=
o manje: <
o ve0e: >
o ve0e ili jednako: >=
o manje ili jednako <=

Primeri:
>> a = [0 0 1 1];
>>b = [0 1 0 1];
>>c=[3 4 5; 1 0 4];
>> a & b
ans =
0001
>> a | ~b
ans =
1011

>>c>=3
ans =
1 1
0 0
>> c>3
ans =
0 1
0 0

1
1

>> c<=3
ans =
1 0
1 1

0
0

1
1

>> c==3
ans =
1 0
0 0

0
0

Logi2ke i funkcije pore7enja

ove funkcije vra0aju logi ku vrednost (ili vie vrednosti)


funkcija any(x) vra0a istinitu vrednost ako je barem jedan elemenat u x istinit
(radi po kolonama)
o tipi na upotreba je
if any(x > 0.01)
blok naredbi
end
funkcija all(x) vra0a istinitu vrednost ako su svi elemenati u x istiniti
funkcija find(x) vra0a indekse elemenata sa istinitom vrednosti
provera neregularnih vrednosti u matrici
o gde poseduje beskona nosti isinf(x)
o ...

Asistent: Laslo Tarjan

Fakultet tehni kih nauka, 2008/2009

Materijal za ve be iz predmeta UPRAVLJANJE TEHNI

KIM SISTEMIMA

provera tipa matrice (vra0a skalar)


o da li matrica postoji? exist(x)
o da li je prazna? isempty(x)
o da li je globalna promenljiva? isglobal(x)
o ...

Neke od najvie koriBenih funkcija:

Korenovanje
Koreni polinoma
o roots([1 5 6])
o roots([1 -2 -1 2])
o roots([1 -1 -2])

Asistent: Laslo Tarjan

sqrt(x)
roots(x)
x2+5x+6=0
x3-2x2-x+2=0
x2-x-2=0

x1=-3 x2=-2
x1=1 x2=-1 x3=2
x1=1 x2=2

Fakultet tehni kih nauka, 2008/2009

Вам также может понравиться