OSNOVE MATLAB-A I PRIMJENA U OCEANOGRAFIJI

 

Cjelokupan sadržaj ovih stranica o Matlabu možete preuzeti u .pdf-obliku putem linka:

Kratki uvod u Matlab (270KB)

 

UVOD

 

Cilj je ovog "Kratkog uvoda" objasniti zainteresiranom početniku što je Matlab i kako je nastao, kako je ustrojen, koje su mu jake, a koje slabe strane (a tih je malo) te potom opisati osnovne elemente Matlabovog programskog jezika. Kao i s drugim programskim jezicima, usvajanje Matlaba vezano je za usvajanje odgovarajućeg načina razmišljanja, što dakako zahtijeva motiv, volju i nešto praktičnog rada. Ovaj tekst želi poslužiti kao početna točka na tom putu i tom cilju podređena je duljina teksta, te količina detalja. 

Matlab je napredni programski sustav, odnosno interaktivno radno okruženje za tehničko računanje i vizualizaciju. Možda je najbolje odmah reći da se radi o profesionalnom alatu koji, posljedično, nije namijenjen posvemašnjim laicima. To svakako ne znači da je "ulazak" u Matlab jako težak i moguć samo odabranima, ali znači da treba napustiti lošu naviku beskrajnog klikanja mišem, umjesto čega treba usvojiti osnove ustroja i upotrebe računala (npr. da se hardware računala, najgrublje, sastoji od centralnog procesora i radne memorije s jedne, te ulazno/izlaznih (I/O) jedinica s druge strane; da je diskovni prostor organiziran u direktorije i datoteke u obliku stabla, pri čemu je datoteka najmanja imenovana cjelina s kojom operacijski sustav barata; da je osnovni alat za komuniciranje s računalom tekstualni editor (a ne tekst-procesor) kojim se učinkovito stvaraju i mijenjaju tekstualne datoteke - naravno koristeći tipkovnicu, a ne miša; itd). Temeljna, i za početnike pomalo neugodna osobina Matlaba jest da se radi o programskom jeziku, u kojem se može napraviti gotovo sve, ali korisnik mora reći što i kako! Činjenica da se radi o programskom jeziku visoke razine je olakotna, no svejedno, bilo kakvo prethodno poznavanje programiranja dobro je došlo. 

Konačno, poput svih sustava namijenjenih profesionalnoj upotrebi, Matlab je vrlo brižljivo osmišljen i višestruko će nagraditi početni(čki) trud. Matlab uvijek misli za korisnika i daje (najčešće vrlo dobre) odgovore na pitanja kojih korisnik najčešće nije ni svjestan. Također, kad se čini da je rješenje nekog problema složeno ili nezgrapno, odgovor (i to najčešće elegantan!) nađe se promišljanjem iz drugog, tj. Matlab-ovog kuta, pri čemu se svaki put ponovo otkrije unutarnja usklađenost i promišljenost.

Počeci Matlaba sežu u rane 70-te godine kada je Steve Moler, stručnjak za numeričku analizu, napisao prvu (fortransku) verziju sustava. Cilj je bio stvoriti sučelje kojim bi se moglo učinkovito koristiti fortranske programe, a bez stvarnog poznavanja Fortrana. Danas je Matlab komercijalni proizvod tvrtke Mathworks, u cijelosti pisan u programskom jeziku C, koji se masovno koristi kao razvojno-istraživački alat u industriji (npr. avioni, automobili,... ) te obrazovanju i znanosti.

U srcu Matlaba nalazi se pojam matrice, o čemu govori i samo ime Matlab koje potječe od engleskih riječi MATrix LABoratory. Matrica je jednostavan matematički objekt, pravokutna tablica brojeva, koja se prirodno javlja u najrazličitijim područjima i situacijama, dok jezgru Matlaba čini skup funkcija za jednostavno, prirodno i efikasno manipuliranje matricama. Upravo zahvaljujući moćnom matričnom engine-u Matlab se sve više širi i u specijalizirana područja, o čemu govore brojni novi toolbox-i. Danas postoji nekoliko slobodno dostupnih sustava analognih Matlabu (npr. Octave, SciLab) čije su jezgre sukladne Matlabovoj (i posljedično jednako moćne). Nažalost, svi oni značajno zaostaju u nadgradnji, npr. u dodatnim paketima te u grafičkom podsustavu, iako ima naznaka da SciLab postaje dostojan, premda ne i posve kompatibilan suparnik.

Navedimo neke prednosti Matlaba u usporedbi s "klasičnim" programskim jezicima poput Fortran-a ili C-a. 

Navedimo i jedini(?), neveliki nedostatak: Programi pisani u Matlabu, koji je interpretiran, nužno se sporije izvršavaju od onih pisanih u npr. Fortranu ili C-u, koji su prevođeni. Spomenuti nedostatak najčešće nije od značaja, naročito u današnje doba sve jeftinijih i bržih računala, a obilno je nadomješten brzim i lakim programiranjem. Vrlo često moguće ga je ublažiti dosljednim programiranjem u duhu Matlaba (tj. sustavnim korištenjem matrica i vektora). Na kraju ostaje mogućnost korištenja fortranskih ili C programa unutar Matlaba, te korištenje Matlabovog prevoditelja. Naravno, najzahtijevniji kodovi, npr. meteorološki ili oceanografski numerički modeli, i dalje ostaju u fortranskom dvorištu.