Fujitsu-Siemens
 
M A G A Z I N
 
SOFTWARE 
  Rade Radumilo

MATLAB- Programski jezik ili nešto drugo?

Prvi elektronski računar ENIAC nastao je za potrebe obavljanja složenih numeričkih proračuna u okviru nuklearnog programa SAD-a. Danas upotreba računara za obavljanje složenih i dugotrajnih "krckanja brojeva" u naučnim istraživanjima i projektovanju, predstavlja jedan od najvažnijih vidova upotrebe. Obavljanje kompleksnih numeričkih proračuna u nauci i tehnici obično podrazumeva kreiranje manje ili više složenih algoritama za obavljanje proračuna i njihovu implementaciju na računaru. Razvoj složenijih operativnih sistema a pogotovu GUI (Windows, Xwin itd.) okruženja, postavio je pred naučnike i inženjere sledeći problem: prilikom implementacije algoritma za obavljanje određenog proračuna, daleko više programerskog truda se uloži na one delove programa koji nemaju mnogo veze sa ciljnim algoritmom, već služe da zaokruže program kao celinu u odnosu na dati operativni sistem odnosno okruženje.
Većina danas prisutnih programskih jezika i razvojnih okruženja ima dva osnovna nedostatka za obavljanje numeričkih proračuna u istraživanju i projektovanju:


a) Programski jezici, odnosno razvojna okruženja opšte namene uglavnom ne sadrže dovoljno matematičkih alata za obavljanje potrebnih proračuna, već se oni moraju pribaviti ili još češće implementirati.
b) Da bi se obavio proračun potrebno je napraviti izvršni (stand alone) program, što zahteva programera koji dobro poznaje osobine operativnog sistema, utrošeno vreme na pretvaranje algoritma u "stand alone" aplikaciju itd. Pri tome je program u potpunosti vezan za jedan jedini operativni sistem – platformu.
Upravo ova dva razloga su dovela do postojanja razvojnih okruženja koja omogućavaju implementaciju algoritama i njihovo korišćenje, bez potrebe za poznavanjem operativnog sistema i kreiranjem samostalnog programa. Jedno od takvih okruženja je upravo MATLAB -matrix laboratory. MATLAB je visoko razvijeni programski jezik za tehničke proračune, koji u sebi obuhvata proračun, grafičko prikazivanje i programiranje u okruženju koje je veoma jednostavno za korišćenje i u kojem su problemi i rešenja prikazani u opšteprihvaćenoj matematičkoj notaciji. MATLAB u svojoj osnovi predstavlja skript interpreter koji omogućava da se algoritmi implementiraju nezavisno od operativnog sistema – platforme.
Ideja je zapravo stara koliko i prvi viši programski jezik FORTRAN, koji je i nastao sa idejom da se razdvoji implementacija algoritama za obavljanje određenih proračuna i implementacija programa u mašinskom obliku na konkretnom računaru. MATLAB razdvaja implementaciju algoritama od implementacije programa za dati operativni sistem. Cena koja se zbog toga plaća je mogućnost implementacije algoritama isključivo na računarima na kojima postoji instaliran MATLAB. Cena je veoma mala ako se uzme u obzir da MATLAB koriste upravo oni kojima je prevashodni cilj istraživanje i projektovanje, a ne proizvodnja softvera za široko tržište. Takođe novije verzije MATLAB-a sadrže alate uz pomoć kojih se vrlo jednostavno kod napisan u MATLAB-u prevodi u C i C++, a biblioteke funkcija napisanih u MATLAB-u lako transformišu u DLL-ove, za kasniju implementaciju u "stand alone" aplikacijama.
Osnovna namena MATLAB-a ostaje ipak razvojno okruženje koje omogućava kreiranje matematičkih aplikacija bez opterećivanja "programerskim" problemima. U pitanju je interaktivni sistem čiji je osnovni ulazni podatak niz koji ne zahteva dimenzionisanje. Zahvaljujući tome moguće je realizovati mnoge proračune, pogotovu one koji obuhvataju matrične ili vektorisane podatke i to za samo delić vremena potrebnog da se takav problem reši u skalarnom ili neinteraktivnom programskom jeziku kao što su FORTRAN i C. MATLAB programski jezik ima veoma jednostavnu sintaksu, koja u osnovi podseća na C/C++ i Pascal, ali je znatno pojednostavljena i zahvaljujući interpreteru omogućava izuzetno brzo implementiranje algoritama za obavljanje raznih proračuna, koji ponekad uz primenu gotovih paketa alata (toolboxes) mogu sadržati svega dva ili tri reda koda.
Iz verzije u verziju, MATLAB je upotpunjavan alatima iz raznih oblasti ljudske delatnosti, tako da se sada primenjuje ne samo u fizici i tehnici već i u ekonomiji, geografiji, biologiji itd. Osim implementacije algoritama, MATLAB omogućuje i akviziciju podataka, modelovanje, simuliranje, kao i razvoj aplikacija uključujući i izgradnju grafičkog korisničkog interfejsa.
Više od dve trećine instaliranog programskog paketa MATLAB čine upravo paketi alata namenjeni specifičnim primenama. Jedan od najznačajnijih paketa MATLABA jeste Simulink, paket namenjen modelovanju, simuliranju i analizi dinamičkih sistema. Jednostavnim kreiranjem grafičkog modela (ekvivalentno slaganju "LEGO" kockica) može se kreirati, simulirati i analizirati veliki broj realnih dinamičkih sistema kao što su: sistemi automatskog upravljanja, električna kola, mehanički, termodinamički sistemi itd. Na ovaj paket se direktno nadovezuje "Real-Time Workshop", pomoću kojeg se izrađuju aplikacije bazirane na Simulink dijagramima, za ispitivanje i primenu sistema u realnom vremenu.
Takođe, tu su i SimMechanics za modelovanje, simulaciju i analizu dinamike krutih tela, Filter Design paket, Image Processing paket, Neural Network paket, Financial Derivates i Financial Time Series paketi i još gomila drugih namenjenih specifičnim oblastima istraživanja i razvoja. Osim njih postoji i veliki broj paketa namenjenih implementaciji MATLAB aplikacija sa drugim programima, na primer Excel Link paket, Database paket i drugi.
Bez obzira da li se koristi u projektovanju, istraživanju, kartografiji, ekologiji, ekonomiji ili obradi slika, MATLAB predstavlja izuzetan alat za obavljanje kompleksnih numeričkih proračuna, modelovanje, simuliranje i analizu raznih sistema, akviziciju podataka, analizu podataka, grafičko prikazivanje, 3D modelovanje i kreiranje aplikacija sa dobro razrađenim grafičkim korisničkim interfejsom za savlađivanje širokog opsega matematički rešivih problema. Gotovo svi paketi alata MATLAB-a produkt su njegovih korisnika, dok je kompanija MathWorks odgovorna za njihovo povezivanje u kompletan programski paket, činjenica koja govori o ogromnom potencijalu MATLAB-a za nove, još neotkrivene primene.

 

VRH STRANE

(c) 2004 OMEGA - sva prava zadržana