Post on 07-Feb-2018
MATLAB-Osnove
Modeliranje i simulacija sistema 1
MATLAB
Osnove jezika
ta je Matlab? programsko okruenje za raunanje u tehnici
u osnovi je matematiki alat ima veliku primenu u primenjenim disciplinama - inenjerstvu
poseduje visoke performanse u numerikim izraunavanjima i vizuelizaciji podataka sadri numeriku analizu, matrini raun, analizu signala, grafiku
Matlab je interpreter prua i interaktivni rad i batch-obradu
osnovni elemenat je matrica koja ne zahteva dimenzionisanje veina problema se jednostavno reava u odnosu na programske
jezike poput Fortran-a, Pascal-a, C-a nazvan je prema matrix laboratory
MATLAB-Osnove
Modeliranje i simulacija sistema 2
Primena na Univerzitetima je alat za obuku u industriji se upotrebljava za istraivanje i reavanje praktinih
inenjerskih i matematikih problema
tipina upotreba pokriva: Matematiku i numeriku posebno pogodan za reavanje problema
koji se mogu opisati matricama Razvoj algoritama Modeliranje, simulaciju i razvoj prototipova Analizu podataka, istraivanja i vizuelizaciju Naunu i inenjersku grafiku Razvoj aplikacija, ukljuujui grafiki korisniki interfejs
poseduje kolekcije metoda (alata, reenja) specifinih za odreene oblasti - Toolbox-ovi
Toolbox-ovi Toolbox je kolekcija (biblioteka) izabranih funkcija (M-datoteka)
namenjena reavanju problema odreenje oblasti oni proiruju mogunosti Matlab-a postoje toolbox-ovi za oblasti
analize signala automatskog upravljanja simulacije dinamikog ponaanja sistema identifikacije sistema vetakih neuronskih mrea fuzzy sistema optimizacije analize robustnosti sistema ...
postojei toolbox-ovi se usavravaju, a novi nastaju
MATLAB-Osnove
Modeliranje i simulacija sistema 3
Raunarske platforme Podrane su brojne raunarske platforme
PC Mackintosh, Map Power PC Sun SPARC SGI Indy IBM RS6000 DEC Alpha ...
i operativni sistemi MS Windows Unix Mac OS VMS
kod pisan u Matlab-u je prenosiv, ukljuujui i aplikacije sa korisnikim interfejsom u obliku prozora
Sistem MATLAB Sastoji se od pet glavnih celina: Razvojno okruenje - niz alata i mogunosti olakavaju upotrebu
Matlab funkcija i datoteka. Biblioteka matematikih funkcija - elementarna i kompleksna
aritmetika, sloene funkcije, ... Programski jezik - Jezik visokog nivoa, sa kontrolom toka programa,
funkcijama, strukturama podataka, ulazom/izlazom, objektno-orijentisano programiranje. Omoguava brzo pisanje kratkih programa i kao sloenih aplikacija
Upotreba grafike - 2D i 3D grafika visokog nivoa, analiza slike, animacije, prezentaciona grafika. Omoguava i rad sa grafikom naniskom nivou
API (Application Program Interface) - omoguava pisanje C i Fortran programa koji koriste Matlab: pozivanje rutina iz Matlaba, upotreba Matlab engine-a, itanje i pisanje u datoteke Matlab formata.
MATLAB-Osnove
Modeliranje i simulacija sistema 4
Radno okruenje Matlab-a ine ga:
komandni prozor (samo je jedan) nekoliko grafikih prozora korisnikov editor za pisanje M-skript datoteka
Komandni prozor je mesto gde se daju (kucaju) naredbe interpreteru i ispisuju rezultati sekvencijalno prihvata i izvrava naredbe poseduje linijski editor
Grafiki prozor obino prikazuje 2D i 3D dijagrame vie dijagrama se moe prikazati u razliitim prozorima i/ili se jedan
prozor moe podeliti na nekoliko delova automatski se pojavljuje kod izvravanja grafikih naredbi sadraj prozora se moe odtampati na nekoliko naina
Radno okruenje Matlab-aSastoji se od veeg broja prozora: Command Window (ranije komandni prozor) Command History Launch Pad Help Browser Current Directory Browser Workspace Browser Array Editor Editor/DebuggerOstali alati: Unapreen uvoz i izvoz podataka Profiler pomae u otkrivanju uskih grla u aplikaciji Podrka Source Control System-ima Notebook pristup Matlab-u iz programa za obradu teksta (MS Word)
MATLAB-Osnove
Modeliranje i simulacija sistema 5
Drugi naini povezivanja i prenosa podataka
prenos podataka preko datoteke (u binarnom ili ASCII formatu) prenos teksta i grafike preko Windows Clipboard-a povezivanje drugih aplikacija sa Matlab-om preko DDE (Dynamic
Data Exchange) mehanizma (Tekua verzija Matlab-a podrava COM (Component Object Model))
Matlab moe da radi kao: server klijent
Matlab poseduje biblioteku C i Fortran funkcija, C++ klasa za rad sa Matlab-ovim datotekama podataka i za osnovne matrine
operacije mogu se upotrebiti za pisanje korisnikovih funkcija koje se
pozivaju iz Matlab-ovog okruenja
Matlab promenljive naziv promenljive ine slova i brojevi
(mora poeti slovom)(prvih 19 (31 kod verzije ) znakova se uzima u obzir)
razlikuju se mala i velika slova (npr. a i A su dve promenljive)
MATLAB-Osnove
Modeliranje i simulacija sistema 6
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 dugakih izraza, kada je potrebno unos nastaviti u narednom redu,
predhodni red zavriti sa ... (tri take) znak ; na kraju izraza spreava da se ispie vrednost promenljive
Matrice u Matlab-u osnovni tip podataka je matrica (brojeva) skalar je matrica dimenzije 1x1
slino je i sa vektorima u obliku kolone ili vrste elemenat matrice moe biti kompleksan broj matrica se moe tumaiti kao
niz koeficijenata polinoma niz slova u string-u bit-mapirana slika zvuni zapis
podran je rad sa retkim matricama dimenzije matrice se ne unose potreban memorijki prostor za matrice se automatski zauzima (alocira) veliina matrice nije ograniena i moe prevazii raspoloivi RAM
raunara (zahvaljujui postojanju Windows swap datoteke)
MATLAB-Osnove
Modeliranje i simulacija sistema 7
Unos matrice kao eksplicitna lista elemenata kao rezultat izvravanja ugraene naredbe ili funkcije (Matlab-ove
unutranje funkcije) formiranjem u M-datoteci (Matlab-ovoj spoljanjoj funkciji) uitavanjem iz datoteke podataka
a = [ 1 2 3; 4 5 6 ]a =
1 2 34 5 6
b = sum(a)b =
5 7 9 save abdat a b clear b??? Undefined function or variable b. load abdat bb =
5 7 9
Brojevi Realni 3 -99 0.0001 -9.639825 1.62e-20 -10.34e200
opseg od 2.2251*10-308 do 1.7977*10308 Kompleksni -4+7i 8i -9j -9*j 1.23-12e-4j
imaginarna jedinica je: i ili j funkcije
realna vrednost broja real(z) kompleksna vrednost broja imag(z) konjugovano kompleksna
vrednost conj(z) moduo abs(z) argument angle(z)
matrice kompleksnih brojeva
z
real(z)
imag(z)
conj(z)
abs(z)
angle(z)
8+i9
MATLAB-Osnove
Modeliranje i simulacija sistema 8
Brojevi (nastavak) Posebni brojevi
Ludolfov broj pi (3.1415...) Imaginarna jedinica i ili j beskonana vrednost Inf neodreena vrednost (not a number) NaN podrazumevana tanost eps (2.2204e-016) privremena promenljiva ans konstante opsega brojeva realmin i realmax
Delenje nulom ne prekida program, ve ispisuje upozorenje, a nastala vrednost je Inf
NaN je rezultat neodreenih izraza Inf/Inf ili 0/0
1 / 0Warning: Divide by zeroans =
Inf
x = Inf / Infx =
NaN
Aritmetike operacije Aritmetike operacije:
sabiranje + oduzimanje - mnoenje * delenje (levo) / desno delenje \ stepenovanje ^
redosled operacija je odreen na osnovu prioriteta upotrebom ( ) moe se uticati na redosled izraunavanja
4 \ 1ans =
0.2500
4 / 1ans =
4
1 + 3 * 2 ^ 4 / 6 - 9ans =
0 1 + (3 * 2) ^ 4 / (6 - 9)ans =- 431
MATLAB-Osnove
Modeliranje i simulacija sistema 9
Funkcije Tip funkcije (nebitan za korisnika)
ugraena (unutranja, najbre se izvrava) M-datoteka iz MATLAB biblioteke (spoljanja) funkcija korisnika (spoljanja, M-datoteka)
Grupe funckcija: elementarne matematike specijalne funkcije elementarne matrine specijalne matrice za dekompoziciju i faktorizaciju matrica za analizu podataka za rad sa polinomima za reavanje diferencijalnih jednaina za optimizaciju i rad sa nelinearnm jednainama za numeriku integraciju analizu signala
pomo o funkciji se dobija pomou help ime_funkcije svaki Toolbox dodaje nove funkcije
Poziv funkcije funkcija se poziva njenim imenom,
tj. imenom M-datotekeclc % brisanje ekrana
ako funkcija ima parametre navode se u malim zagradama ( ) razdvojeni zarezom
ako funkcija vraa vrednosti, promenljive koje ih prihvataju se navode u uglastim zagradama [ ] razdvojene zarezom
redosled parametara je bitan ako funkcija dozvoljava, ne moraju
se navesti svi parametri u pozivui ne moraju se preuzeti sve vrednosti
ugnjedeni pozivi
atan2(-1,-1) == -pi + pi/4ans =
1
x=[1 3 2]; a = max(x)a =
3 [m,i]=max(x)m =
3i =
2
x = pi / 4; log( cos( sin(x) + 1 ) - 5 )ans =
1.6363 + 3.1416i
MATLAB-Osnove
Modeliranje i simulacija sistema 10
Parsiranje imena Redosled
da li je promenljiva? da li je ugraena funkcija? da li je MEX, DLL ili M-datoteka u tekuem
direktorijumu? da li je MEX, DLL ili M-datoteka u nekom
od MATLAB-ovih direktorijuma? prijavljuje se greka.
imena MATLAB-ovih direktorijuma se dobijaju (ureuju) pomou path funkcije
imena se mogu preklopiti
sin(1)ans =
0.8415
sin=1sin =
1
sinsin =
1
clear sin
sin(1)ans =
0.8415
Matrine operacije Osnovne operacije:
sabiranje + oduzimanje - mnoenje * delenje (levo) /