MATLAB
MATLAB (tuletatud inglise keelest: matrix laboratory – 'maatriksite labor') on mitmeparadigmaline numbriline andmetöötluskeskkond ja varaline kommertstarkvara, mille arendaja on MathWorks. MATLAB võimaldab maatriksite manipuleerimist, funktsioonide ja andmete joonestamist, algoritmide rakendamist, kasutajaliideste loomist ning teistes keeltes kirjutatud programmide liidestamist. Kuigi MATLAB on peamiselt mõeldud numbriliseks andmetöötluseks, kasutab valikuline tööriistakomplekt MuPAD arvutialgebrasüsteemi, et teha arvutialgebrat. Lisapakett Simulink lisab graafilise mitme domeeni vahelise simulatsiooni ja mudelipõhise disaini dünaamilisteks ja manustatud süsteemideks. 2018. aastast kasutas MATLAB-i 3 miljonit inimest.[2] AjaluguNew Mexico Ülikooli informaatikaosakonna juhataja Cleve Moler alustas MATLAB-i arendamist 1970. aastate lõpu poole.[3] Tema eesmärk oli anda oma üliõpilastele ligipääs LINPACK-ile ja EISPACK-ile ilma, et nad Fortrani õppima peaks. See levis kiiresti teistesse ülikoolidesse ja leidis laia kasutust rakendusmatemaatikas. Insener Jack Little nägi MATLAB-i, kui Moler külastas Stanfordi ülikooli 1983. aastal. Nähes selle ärilist potentsiaali, ühines ta Moleri ja Steve Bangertiga. Nad kirjutasid MATLAB-i ümber C-keelde ning asutasid MathWorksi 1984. aastal, et jätkata MATLAB-i arendamist. Neid ümber kirjutatud teeke tunti kui JACKPAC. Aastal 2000 kirjutati MATLAB ümber, et kasutada maatriksite manipuleerimiseks uuemat teegikogu LAPACK.[4] SüntaksMATLAB rakendus on ehitatud ümber MATLAB-i programmeerimiskeele. MATLAB-i rakenduse levinud kasutus hõlmab käsuakna kasutamist interaktiivse matemaatilise käsureana või MATLAB-i koodi sisaldavate tekstifailide käivitamist.[5] MuutujadMuutujad defineeritakse operaatoriga >> x = 17
x =
17
>> x = 'lepp'
x =
lepp
>> x = [3*4, pi/2]
x =
12.0000 1.5708
>> y = 3*sin(x)
y =
-1.6097 3.0000
Vektorid ja maatriksidLihtne massiiv defineeritakse läbi kooloni süntaksi algne väärtus >> massiiv = 1:2:9
massiiv =
1 3 5 7 9
määrab muutuja nimega >> massiiv = 1:3:9
massiiv =
1 4 7
StruktuuridMATLAB toetab struktuuri andmetüüpe.[8] Kuna kõik muutujad MATLAB-is on massiivid, on seda õigem nimetada struktuurimassiiviks, kus iga massiivis olev element omab samu väljanimesid. Lisaks toetab MATLAB dünaamilisi väljanimesid.[9] FunktsioonidMatlabis funktsiooni luues peab failinimi olema sama failis oleva esimese funktsiooniga. Kehtivad funktsiooninimed algavad tähestikku kuuluva tähega ning võivad sisaldada tähti, numbreid või allkriipse. Muutujad ja funktsioonid on tõstutundlikud.[10] Klassid ja objektorienteeritud programmeerimineMATLAB toetab objektorienteeritud programmeerimist, mis kaasab endaga klasse, pärandeid, virtuaalset lähetamist, väärtuse järgi edastamise semantikat ning viite järgi edastamise semantikat.[11] Siiski erineb süntaks märkimisväärselt teiste keelte omadest. MATLAB-is on väärtuse klassid ja viiteklassid, olenevalt kas klassi käsitleja on superklass (viiteklasside jaoks) või mitte (väärtuse klasside jaoks).[12] Graafika ja graafilise kasutajaliidese programmeerimineMATLAB-is on tihedalt integreeritud graafi joonestamise funktsioonid. Näiteks funktsiooni x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
loob sellise graafi siinusefunktsioonist: Teiste programmidega liidestamineMATLAB saab käitada funktsioone ja alamprogramme keeltes C ja Fortran.[13] Luuakse pakkimisfunktsioon, mis laseb MATLAB-i andmetüüpe sooritada ja tagastada. MEX-failid on dünaamiliselt laaditavad failid, mis on loodud kompileerides sellised funktsioone.[14][15] 2014. aastal lisati kahesuunaline liidestamine Pythoniga.[16][17] Teeke, mis kirjutatud programmeerimiskeeles Perl, Java, ActiveX või .NET, saab esile kutsuda otse MATLAB-ist[18][19], ja mitmed MATLAB-i teegid (näiteks XML-i või SQL-i tugi) on implementeeritud kui pakkimisfunktsioonid ümber Java või ActiveX-i teekide. AlternatiividMATLAB-il on ka mitmeid konkurente, näiteks Mathematica, Maple ja IDL. On ka tasuta avatud lähtekoodiga alternatiive, näiteks nagu GNU Octave, Scilab, FreeMat, Julia ja SageMath, mis on mingil määral ühilduvad MATLAB-i keelega. Viited
|