Osnove dela s programi Matlab/Octave/Scilab/Python/Matematica
D Križaj, 2015
V naslovu je naštetih nekaj programov, ki jih lahko uporabljamo za izračune in grafično vizualizacijo.
Vsi so uporabni pri delu inženirja/raziskovalca/znanstvenika/študenta. Med njimi je kar nekaj razlik. Vsak ima svoje prednosti in pomanjkljivosti. Običajno bolj pogosto uporabljamo enega od naštetih, v določenih primerih pa zaradi lažjega dela uporabimo tudi kakšnega drugega. Zato se velja na začetku seznaniti s čim več programi, kasneje pa nas praksa navede na uporabo enega ali več od njih.
Vsak ima nekaj prednosti in pomanjkljivosti. V grobem bi prednosti in pomanjkljivosti razdelil takole:
Program |
DOBRO |
SLABO |
PRIMERNOST |
Matlab |
Dovršen program, predvsem močen pri delu z matrikami, odličen grafični vmesnik, močna spletna podpora, dodatni specialni moduli |
Plačljiv, hitrost ni glavna vrlina |
Za resno delo |
Octave |
Klon Matlaba, večino funkcij zelo podobnih ali enakih, enostavna zgradba |
Mnogo slabši grafični vmesnik (Gnu Octave), manj naprednih modulov, včasih težja inštalacija, manj podpore |
Brezplačen. Za študente + resno delo |
Scilab |
Podobno kot Octave |
Brezplačen. |
|
Mathematica |
Drugačen princip kot Matlab, v reševanju enačb močnejši, dober Notebook način dela |
Manj inženirski, bolj matematičen način razmišljanja |
Plačljiv, za študente + zaposlene na UNI LJ brezplačen |
Python |
Za tiste, ki so bolj programersko navdahnjeni. Močne knjižnice za grafično delo. Se uporablja tudi v praksi za resno programsko delo. |
Nekoliko bolj tečen pri inštalaciji. Potrebno biti bolj pazljiv na sintakso, običajno nekoliko daljša koda kot za Matlab/Octave |
Primeri uporabe:
Matlab: Html, PDF, m file, Primeri Oe1
Python: PDF, Docx, py file, primer Jupyter
Vse datoteke: zip
V nadaljevanju zelo na kratko prikazujem nekaj osnovnih značilnosti grafičnega vmesnika vsakega programa, najbolje, da si te programe naložite na računalnik in jih preiskusite »na lastni miški«.
Mathematica
Na spodnji sliki je primer beležke (Notebook) za izračune s programom Mathematica. Ugotovimo, da program omogoča dobro uporabniško izkušnjo in lep izris.
Matlab
Matlab je zelo uporabno orodje v elektrotehniki. Predvsem se odlikuje v delu z matrikami, omogoča hitro in enostavno delo.
Ima dobra orodja za delo z grafi in dodatne module za specifične operacije.
Octave
Octave je program, ki je zelo podoben Matlabu. V bistvu je sintaksa skoraj enaka. Matlab je nekoliko bolj dovršen vendar je tudi (za razliko od Octave) plačljiv. Osnovno grafično okno je zelo enostavno, le ukazna vrstica, lahko pa si naložimo tudi Octave z grafičnim vmesnikom.
SciLab
Še en od programov za izračune, ki je v osnovi klon Matlaba. Morda ima nekaj več specifičnih ukazov oz. amlo drugačno sintakso kot Matlab. Stvar navade.
Python
Python je v osnovi programski jezik. Ki je, mimogrede, med programerji precej popularen in to ne le zato, ker je brezplačen, pač pa ker je delo z njim zelo učinkovito. Po hitrosti izvajanja kode se ne more primerjati s C++ ali JavaScript, ima pa druge prednosti. Med drugim tudi to, da ga lahko uporabljamo za izvajanje računskih operacij in izrise grafov, podobno kot Matlab. Po sintaksi bo morda nekoliko bolj zahteven, vendar kasneje omogoča nove funkcionalnosti, ki so v Matlabu ali Octave omejene. V osnovi nima grafičnega okolje, le ukazno vrstico. Zato za pisanje »programa« oz. kode uporabimo poljuben urejevalnik tekstov, najbolj pogosto Notepad++.
Lahko pa tudi izberemo inštalacijo z urejevalnikom ali še bolje način dela z Jupyter Notebook, ki omogoča hkratno pisanje besedila (teksta) v html obliki in tudi programske kode. Primer takega notebooka za izračun magnetnega polja v osi tuljave je tule.