Hlavní navigace

Scilab: simulace i výpočty s toolboxy

25. 5. 2010
Doba čtení: 4 minuty

Sdílet

Za nejslabší místo programů, které se snaží konkurovat Matlabu, je považována absence kvalitních toolboxů. To však neplatí o Scilabu, sytému určenému pro numerické výpočty, simulace i zpracování měření. Široká paleta rozšíření z něj činní výkonného pomocníka do laboratoře i pro běžné technické výpočty.

Scilab byl vytvořen francouzskými vědeckými institucemi INRIA a ENPC. Je zdarma dostupný, avšak splňuje licenční podmínky GPL. Velkou výhodou je jeho multiplatformita – k dispozici je pro Linux, Windows i Mac OS. Poměrně často bývá užitečnost multiplatformity bagatelizována, vzhledem k malému podílu Linuxu mezi operačními systémy. Jelikož je ale Scilab nástrojem, který najde nemalou část svého využití jako součást měřícího přístroje v laboratořích, kde je často nutné užívat software opravdu upravený na míru, tak se jedná o velmi důležitou vlastnost i z pohledu marketingových možností.

Tento program se snaží být komplexním výpočetním prostředím, které umožní nejen nahradit Matlab, ale také ho v chce mnohém překonat. Ve vzdělávání může být Scilab poměrně dobrou alternativou – syntaxe je téměř totožná a aplikace má dokonce vlastní nástroj pro překlad dat z Matlabu. Není tedy nutné nakupovat přímo drahý a komplexní Matlab, neboť na školské úrovni si v bez potíží vystačíme se Scilabem. Pokud chceme připravovat studenty na práci s konkrétním rozšířením Matlabu (kupříkladu Simulink), asi nám nic jiného, než originální software nezbývá, ale pro většinu „obecných úkolů“ je jistě dobré se nad možnostmi Scilabu zamyslet.

To co jej totiž odlišuje od konkurence není ani tak spektrum základních integrovaných funkcí, nebo lepší výkonnost v tom či onom výpočtu, ale poměrně obsáhlá databáze toolboxů, respektive atomů. Právě ony dávají systému velkou výpočetní sílu. Zvláště malé firmy, které se zaměřují na jednu konkrétní oblast výpočtů, mohou být s nabídkou spokojeni. Na rozdíl od Matlabu se nejedná většinou o nijak komplexní balíčky, jako spíše jednotlivé přidávání funkcí, které ten který uživatel skutečně potřebuje.

Velkou výhodou je poměrně velké množství nástrojů, které umožňují zpracování vstupního signálu. Ať již se jedná o real-time nástroje, nebo o systémy, které umožňují analyzovat a interpretovat naměřená data. O tom, že Scilab je zajímavý projektem i pro výrobce různých měřících čidel a nástrojů, svědčí i to, že jich celá řada obsahuje již přiložený toolbox či atom pro konkrétní zařízení, což opět výrazně zjednoduší práci.

Vzhled, funkce, ovládání

Ovládání Scilabu je řešeno na několika úrovních. Základním nástrojem je příkazový řádek, který umožňuje vykonávat jednotlivé příkazy či výpočetní kroky. Pokud jde o sadu vestavěných funkcí, pak si tento nástroj bez potíží poradí s numerickými výpočty všech běžně potřebných příkladů – velice solidně zvládá práci s maticemi, integrování i další rutinní činnosti.

Také tento nástroj se snaží nabídnout silnou paletu funkcí na tvorbu simulací. Je zřejmé, že obtékání vzduchu kolem formule jedna zde nespočítáte, ale pro celou řadu jednodušších a méně komplexních úloh může nástroj posloužit dobře. Poměrně užitečným balíčkem je Xcos, který se snaží být jednoduchou náhradou za Simulink. Práce probíhá velmi podobně pomocí bloků. Poměrně dobře lze simulovat i složitější elektrické obvody, jednodušší děje v kapalinách, řešit diferenciální rovnice, modely slunečních soustav a mnoho dalšího. Ve složitých výpočtech bude poněkud těžkopádnější a pomalejší než Simulink.

Programu pochopitelně nechybí ani podpora grafického výstupu. Možné je problémy simulovat tak, aby byly vizuálně viditelné. Nechybí tedy základní paleta nástrojů pro „kreslení“, specializovaný výstup pro grafy nebo možnost si se scénou otáčet. Základní možnosti programu v této oblasti jsou pěkně vidět na příkladech, které tvůrci do programu vložili jako demonstrační.

Pokud jde o analýzu dat, pak si Scilab poradí ze základními analytickými postupy jako je interpolace či extrapolace (ukázku základních kódů je možné najít například na webu wolffdata.se). Pokud ale potřebuje využít pokročilejších statistických metod, je nutné sáhnout do některého z mnoha toolboxů.

Pro tvorbu vlastních funkcí a skriptů je k dispozici integrovaný nástroj SciPas, který umožňuje poměrně jednoduché funkční rozšíření. Není problém si tak za užití všech potřebných programovacích nástrojů (cykly, podmínky, pole,…) doplnit to, co zbývá k uspokojení vašich potřeb. Nástroj obsahuje debugger či možnost zvýraznění syntaxe. Jinak jsou jeho možnosti a uživatelský komfort spíše skromnějšího charakteru.

Závěrem

Scilab je poměrně velkým a rozsáhlým balíkem s množstvím toolboxů, které mu reálně dávají značnou výpočetní sílu. Na druhou stranu je otázkou, zda mu pro běžné „matlabovské“ problémy dávat přednost před vyspělejším a kompatibilnějším GNU Octave, který se navíc jeví jako výpočetně poněkud výkonnější.

root_podpora

To ale neznamená, že by měl být Scilab neužitečným projektem. Jeho hlavní předností je práce se vstupními daty v reálném čase, což umožňuje jen nasadit v laboratořích pro různá měření. Data umí i vizualizovat, zpracovávat a vracet výsledky. V této oblasti je Scilab pohodlným a kvalitním pomocníkem.

Některé zajímavé aplikace programu můžete vidět na stránkách ČVUT. Pro zájemce je k dispozici velké množství návodů, z nichž některé jsou k dispozici také v češtině. Scilab je nástroj, který jistě stojí za vyzkoušení a zvážení jako alternativa k Matlabu či GNU Octave pro konkrétní výpočetní či simulační problémy.

Byl pro vás článek přínosný?

Autor článku

Vystudovaný středoškolský učitel fyziky a informatiky, ale dnes vysokoškolský pedagog technologií ve vzdělávání na KISKu na FF MU. Věnuje se především kurátorství digitálního obsahu, online vzdělávání a učící se společnosti.