přejít na obsah přejít na navigaci

Linux E X P R E S, Matematické modelování s Octave a QtOctave

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.

Nahoru

Odkazy

Příspěvky

Octave
Kalíšek 25. 11. 2009, 07:53:56
Odpovědět  Odkaz 
Octave muzu vrele doporucit. Pouzivam ho jako nahradu za Matlab uz nekolik let a nemel sem s nim nikdy zadne problemy, maximalne se obcas lisila syntaxe. Ja studuji matematiku na UP a trochu me mrzi chladny pristup vetsiny vyucujicich k tomuto programu. Sice jim nevadi ze ho pouzivam, ale porad na nej vzhlizi jako na neco co se neda moc pouzivat. Je mi jasny, ze Octave porad nemuze plne nahradit Matlab, na druhou stranu pro ucely Bakalarskeho studia na mojem oboru mi prijde zbytecny pouzivat Matlab.

Na druhou stranu se musim priznat, ze QtOctave me nikdy moc nesedlo a radsi pouzivam klasicke octave z konsole + Kate, ale to bude spis sila zvyku.

Clanek me celkem zaujal, prijatelnou formou popisuje QtOctave a snad pomoci neho pretahnu nejaky spoluzaky od Matlabu k Octave :-)
Matematické modelování s Octave a QtOctave
Zmije 25. 11. 2009, 13:54:12
Odpovědět  Odkaz 
Zdravim, já studuji elektrotechnickou školu a matlab jsme používali především v předmětu zpracování signálu a digitální filtry, dělal jsem v Octave jednu jednoduchou úlohu do labin, která se zabívala syntézou obdelníkového průběhu ze sinusovek, myslím, že jsem nepotřeboval ani FFT, ale při cvičení, zejména z filtrů jsme používali speciální knihovny pro návrh a analýzu dig. filtrů a signál procesing, tak by mě zajímalo jak je na tom Octave v této oblasti.
Matematické modelování s Octave a QtOctave
František 25. 11. 2009, 14:58:28
Odpovědět  Odkaz 
Zkoušel jsem asi deset aplikací, ale v žádné jsem nedokázal elegentně řešit svůj problém. Potřebuji analyzovat poměrně rozsáhlé posloupnosti (řádově statisíce hodnot a více). Potřeboval bych aplikaci, která by hledala v těchto posloupnostech možné závislosti (např. antikorelace x-té a (x+37)-té hodnoty); zkoumané posloupnosti VELMI dobře odpovídají náhodné veličině s rovnoměrným rozložením. Zatím jsem schopen problém řešit pouze vytvořením velmi velké baterie testů. Poraďte mi lepší postup nebo doporučte nějaký skript.
Vojtěch Zeisek Matematické modelování s Octave a QtOctave
Vojtěch Zeisek 25. 11. 2009, 18:06:44
Odpovědět  Odkaz 
Tohle jsou otázky na tělo. :-) Já Octave používám jen k některým účelům, takže se rozhodně nemohu vyjádřit k celému spektru jeho možností. Je mi líto, ale jako biolog nemám s využitím Octave v modelování elektrických obvodů žádné zkušenosti. Podobně se nemohu vyjádřit ani ke druhé otázce... :-(
Matematické modelování s Octave a QtOctave
Martin 1. 12. 2009, 14:10:20
Odpovědět  Odkaz 
Podívejte se na program Mupad

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz