Hlavní navigace

Šikovný počtář FreeMat

Michal Černý 4. 5. 2010

Tento nástroj umožňuje kromě využití standardní palety funkcí i možnost si doprogramovat vlastní. Vše v rychlém a přehledném provedení. Ani možnosti základní nabídky FreeMat nejsou špatné. Využití tak nalezne nejen jako lepší kalkulačka, ale také ve vzdělávání, inženýrských a přírodovědných disciplínách.

FreeMath je nástroj na provádění matematických výpočtů a do značné míry je podobný již dříve recenzovanému Genius Math Tool. Spadá tedy do skupiny programů, které se snaží být do větší či menší míry alternativou Matlabu. Snad ani ne v množství univerzálních nástrojů a toolboxů, ani v širokém spektru možností výpočtů. Poměrně často potřebujeme stále dokola provádět jeden výpočet s různými parametry, nebo jej jen drobně upravovat. Jiným příkladem může být využití ve školství nebo prostě jen pro výpočty, které jsou složitější, než pro běžnou kalkulačku. Důvodů pro pořízení programu jako je FreeMat je poměrně hodně.

Zásadní výhodou FreeMat je jeho rozšiřitelnost; kromě obvyklého C a C++ ovládá také Fortran. Jedná se o projekt, za kterým stojí Samit Basu, ale dnes již velkou část vývoje provádí komunita. Pokud jde o kompatibilitu s Matlabem, pak stránky produktu uvádějí přibližně 95% kompatibilitu a na dalších vylepšeních se pracuje. To, co naopak z Matlabu podporováno není, jsou GUI / Widgety. Ale některé partikulární části jsou postupně zapracovávány.

Silnou stránkou aplikace je možnost provádět paralelní výpočty skrze MPI, což výrazně rozšiřuje škálu funkcí a možností tohoto nástroje. Nechybí ani schopnosti 3D vizualizací, což je právě jedna z domén Matlabu. Pozitivem je také to, že k dispozici jak pro Linux, tak také pro Mac OS i Windows.

Od kalkulačky po vědu

FreeMat poslouží velice dobře i jako obyčejná kalkulačka s velmi intuitivním ovládáním. Oproti některým běžným kalkulačkám zvládá přednostní vyhodnocování výrazů a rozhodně v ní nic podstatného chybět nebude. Pro většinu uživatelů, kteří ovládají jazyk C, bude povědomá také možná syntaxe v samotné konzole aplikace – je možné jednoduché i složené výrazy zapisovat přímo do ní. Není tak problém si nechat vyhodnotit nějakou podmínku, napočítat cyklus či cokoli dalšího.

Tím ale možnosti FreeMat rozhodně nekončí. Celá skupina funkcí je věnována například analýze grafu. Na základě zadaných dat zvládne vygenerovat přímé proložení nejrůznějšími funkcemi. Není to sice tak intuitivní jako například ve SciDAVis, ale je zde možnost zapojení těchto výsledků do nějakých dalších výpočtů nebo jejich rozumná mechanizace a automatizace. Nechybí ani nástroje pro interpolaci či extrapolaci dat, proložení Gaussovou křivkou či libovolným polynomem.

Pokud jde o řešení diferenciálních rovnic je možné užít i numerické metody, což je právě pro oblast inženýrství zásadním způsobem důležité. Program si bez potíží poradí i s řídkými maticemi, což je další, ne zcela triviální dovednost. Podobně může být užitečná i podpora práce s více než 2GB poli (pro 64bitové operační systémy).

Síla aplikace je tvořena kombinací velkého množství již zabudovaných funkcí a možnosti doprogramovat si vlastnosti a funkce další. A to jak v klasickém C, tak i v C++ či Fortranu. Tyto je pak možné vhodně kombinovat tak, aby bylo možné vždy přiměřeně snadno získat to co potřebujeme. Podle diskusí na Internetu považuje celá řada uživatelů za jednu z největších předností FreeMat. Osobně bych nebyl tak vyhraněný, ale je pravdou, že se jedná o poměrně příjemný přístup. Výhodou je také dostupný debuger, který vám usnadní ladění programu.

Další příjemnou věcí na této aplikaci je, že předpokládá své využití pro větší a složitější výpočty a projekty. Od verze 4.0 naleznete v samotném hlavním okně programu historii výpočtů, správce proměnných – udržuje informace o použitých proměnných a jejich typu a hodnotách, správce souborů s programy a okno debugeru. Samotná aplikace funguje velice stabilně a nenarazil jsem na žádný běhový problém (testováno pod Ubuntu 10.04).

Pro psaní programů je k dispozici poměrně spartánské prostředí, ale s velice obstojným debugerem. Proto je vhodné složitější programy psát ve specializovaném vývojovém prostředí, pro ten který jazyk a ve FreeMat již jen ladit.

Aplikace působí celkově poměrně pozitivním dojmem, i když by si uživatelé jistě dovedli představit prostředí poněkud komfortnější a robustnější. Na stránkách projektu je ve FAQ zajímavá odpověď na to, proč používat tento open source klon Maple. FreeMat se snaží jít nad rámec Matlabu právě možnostmi rozšíření externími kódy, podporou paraelních výpočtů či pokročilou prací s 3D vizualizací. A pokud jde o ostatní open source alternativy? Kdo řekl, že výběr je špatná věc?

Jistě Matlab nahradit zřejmě nedokáže. Ten je nedostižný zvláště svými toolboxy. Ale pro celou řadu věcí se hodí výborně. Od školních prográmků až po řešení konkrétních inženýrských aplikací. A pokud Matlab nepotřebujete opravdu pravidelně, je otázkou, zda se finančně vyplatí. Jistě se hodí podívat se, zda by jeho práci v konkrétní oblasti nezastal právě třeba FreeMat.

Pokud se chcete seznámit se základy práce v tomto výpočetním prostředí, pak můžete použít například, ve slovenském jazyce napsanou, bakalářskou práci Pavola Turana, která poslouží jako stručné a základní seznámení se syntaxí a prací s programem.

Našli jste v článku chybu?

29. 6. 2010 14:34

had (neregistrovaný)

miluji tě počtářko

7. 5. 2010 12:03

No, možná by to nebylo nic jednoduchého. V Octave to nebyl zas takový problém, ale je možné, že ve vnitřnostech Matlabu je problém daleko komplexnější. Každopádně, MathWorks celkem pochopitelně respektuje přání zákazníků zejména podle toho, kolik má z nich peněz, takže je možné, že o to prostě není ze strany velkých zákazníků zájem. Na nějakých fórech jsem dotaz na tuhle věc párkrát viděl a odpověď byla myslím vždy taková, že to není v budoucnu vyloučeno, ale zatím to není v plánu. Výpočetní „já…

Vitalia.cz: Jak koupit Mikuláše a nenaletět

Jak koupit Mikuláše a nenaletět

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: E-shopy: jen sleva už nestačí

E-shopy: jen sleva už nestačí

Vitalia.cz: Žloutenka v Brně: Nakaženo bylo 400 lidí

Žloutenka v Brně: Nakaženo bylo 400 lidí

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?