Matlab - Osnove · PDF fileOsnove jezika Šta je Matlab? • programsko okruženje za računanje u tehnici ... – automatskog upravljanja – simulacije dinamičkog ponašanja sistema

  • Upload
    vuque

  • View
    255

  • Download
    6

Embed Size (px)

Citation preview

  • 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) /