Linux E X P R E S

Facebook

Matematické modelování s Octave a QtOctave

qtoctave.png

Prakticky každý, kdo se někdy dostal k matematickému modelování se musel setkat s Matlabem. Jde o fenomenální programovací jazyk, který umožňuje rychle řešit i velmi složité a výpočetně náročné úlohy. GNU Octave je svobodná implementace jazyka Matlabu. Má velmi podobnou syntaxi a sdílí většinu funkcí, i když některé věci řeší jinak.


Zatímco R je ve statistice opravdu špička, která předstihla svůj původní vzor (S-plus), Octave za Matlabem stále zaostává. Přesto jde o skvělý nástroj a poměrem cena/výkon předražený Matlab daleko předčí.

Octave se podobně jako R a obdobné nástroje spouští v poněkud spartánské příkazové řádce (příkaz octave). K usnadnění práce existuje velmi příjemné a schopné GUI QtOctave. Jak již název napovídá, je postavené na knihovnách Qt, na kterých stojí i celé KDE. Ale samozřejmě si ho mohou nainstalovat uživatelé libovolného prostředí. Níže načrtnu některé možnosti tohoto jazyka. Případné zájemce, kteří by se jej rádi naučili odkazuji na wiki a domovskou stránku Octave a QtOctave.

Hlavní okno programu QtOctaveHlavní okno programu QtOctave

Aktuální verze Octave (3.2.X) i QtOctave (0.8.X) byste měli najít v repozitářích své oblíbené distribuce. Aktuální QtOctave pracuje jen s Octave verze 3.2 a novější. Octave vyniká hlavně ve výpočtech s diferenciálními rovnicemi a maticemi. Díky tomu je např. mezi ekology velmi populární např. na modelování demografického vývoje populací v čase, kterýžto náročný výpočet umožňuje jak efektivně a elegantně zapsat, tak i poměrně rychle spočítat. Octave umí pouštět skripty Matlabu (*.m), ale kompatibilita není 100%. Problémy bývají často např. s kreslením grafů, což se u Matlabu i Octave řeší poněkud jinak.

Vývoj populačních početností dvou konkurujících si druhůVývoj populačních početností dvou konkurujících si druhů

QtOctave má řadu užitečných funkcí usnadňujících práci. Umožňuje pouštět a debugovat skripty, V horní liště klikněte na ikonku editoru (červené pero), otevřete skript a můžete s ním pracovat. Editor zvýrazňuje syntaxi a má běžné očekávatelné funkce editorů (ale Kate, Vim nebo Emacs to není...) a umožňuje debugování. Dále QtOctave umožňuje pohodlně pracovat s tabulkami (maticemi dat): nabídka Data | Table. Pomocí této nabídky lze importovat i exportovat data z a do různých formátů. To se vždy hodí.

Vznik nových druhů (různě barevné proužky) ve 20 populacích podle Hubbellova neutrálního modeluVznik nových druhů (různě barevné proužky) ve 20 populacích podle Hubbellova neutrálního modelu

Další příjemné vlastnosti jsou snadné integrování a derivování funkcí (nabídka Analysis) a práce s rovnicemi a maticemi (nabídky Equations a Matrix), kde si můžete vše potřebné pohodlně "naklikat". Nabídka Statistics umožňuje spočítat nejzákladnější statistiky ze souboru dat a nabídka Plot slouží ke spouštění základních grafů, jejich nastavení a exportu do obrázkových souborů. V těchto nabídkách toho zatím není přespříliš, ale autor nelení a s každou verzí se to zlepšuje.

Budete-li v Linuxu potřebovat řešit úlohy spjaté s matematickým modelováním, na Octave dříve či později narazíte. QtOctave vám práci zpříjemní tím, že vám dává přehled nad adresářem, kde se právě nacházíte (spodní blok v levém sloupci), stále vidíte historii příkazů, ve které se můžete vracet zpět (prostřední blok v levém sloupci) a ukazuje i přehled vašich proměnných (horní blok v levém sloupci). Navíc má vestavěný editor skriptů umožňující pohodlně upravovat, spouštět a debugovat Octave / Matlab skripty a poskytuje přehled nad vašimi daty (tabulka, ikona Table v horní liště).

Zobrazení vestavěné nápovědy OctaveZobrazení vestavěné nápovědy Octave

QtOctave nemá jen samé výhody. Výše popsané možnosti práci usnadňují, ale QtOctave má i jednu nepříjemnou vlastnost: klasická příkazová řádka Octave je interaktivní (podobně jako třeba Bash): pomocí dvou stisků klávesy [Tab] můžete získat příkazy, adresáře, soubory apod. začínající daným řetězcem znaků. To v QtOctave nefunguje. Je tam jen malinký vstupní řádek pro příkazy, který prakticky nenapovídá a [Tab] vás místo nápovědy odnese do jiného okna programu. Pomocí šipek lze listovat v historii příkazů, ale to nestačí.

Načtená tabulka datNačtená tabulka dat

Pokud chcete v QtOctave spustit skript, musíte se buď přemístit do příslušného adresáře (File | Change Directory) nebo použít ikonku Run an Octave Script (ozubené kolečko úplně vlevo), v případě, že by skript zlobil a nechtěl se vypnout, lze ho červeným křížkem vedle stopnout. Okno terminálu lze vyčistit ikonkou s gumou vpravo vedle předešlé.

Lotka-Volterrovská interakce dvou druhůLotka-Volterrovská interakce dvou druhů

Octave není jediný nástroj svého druhu: dalšími jsou např. Scilab, R nebo Maxima a Zhu3D. Každý nástroj je dobrý na něco trochu jiného. Až budete hledat nástroj pro vaší úlohu, určitě si vyberete. Na některé věci je Octave špička.

Diskuze (6) Nahoru