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)
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 razmiljanja, to dakako zahtijeva motiv, volju i neto 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 posvemanjim laicima. To svakako ne znači da je "ulazak" u Matlab jako težak i moguć samo odabranima, ali znači da treba napustiti lou naviku beskrajnog klikanja miem, 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 mia; 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 dolo.
Konačno, poput svih sustava namijenjenih profesionalnoj upotrebi, Matlab je vrlo brižljivo osmiljen i viestruko ć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 rjeenje nekog problema složeno ili nezgrapno, odgovor (i to najčeće elegantan!) nađe se promiljanjem iz drugog, tj. Matlab-ovog kuta, pri čemu se svaki put ponovo otkrije unutarnja usklađenost i promiljenost.
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 vie 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 izvravaju 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 dananje doba sve jeftinijih i bržih računala, a obilno je nadomjeten 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 koritenja fortranskih ili C programa unutar Matlaba, te koritenje Matlabovog prevoditelja. Naravno, najzahtijevniji kodovi, npr. meteoroloki ili oceanografski numerički modeli, i dalje ostaju u fortranskom dvoritu.