 |
| |
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.
|