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

Linux E X P R E S, Maxima a Zhu3D - matematika v Linuxu

Maxima a Zhu3D - matematika v Linuxu

maxima.jpg

Linux je operační systém, který se prosadil na nejvýkonnějších počítačích světa, kde provádí složité vědecké výpočty. Existují ale kvalitní matematické aplikace i pro běžné uživatele? Na Linuxu můžete použít některou z komerčních aplikací, jako je Mathematica, Maple nebo Matlab, ale taky otevřené alternativy jako Octave, Maxima nebo Scilab. Dnes bude řeč o velmi kvalitních programech Maxima a Zhu3D.


Maxima

Maxima je matematický software pro řešení symbolických a numerických rovnic. Má pokročilé matematické funkce jako derivace a integrály, Laplaceovy transformace, matice a tenzory a mnoho dalších. Hned na začátku se přiznám, že nejsem matematik a že už je to taky pár let, co jsem promoval, ale v práci matematiku občas využívám, a tak se stane, že potřebuji spočítat náročnější rovnice a místo tužky, papíru a hlavy raději volím klávesnici a počítač. Maxima je pro mě ideální software, nestojí nic, je multiplatformní a nabízí dostatečné množství funkcí k profesionálnímu využití. Software je rychlý, stabilní a ovládání má podobné jako spousta jiných komerčních programů. Maxima původně vychází z Mascyma, což byl software vyvíjený na MIT a dříve byl vzorem pro Maple a Mathematicu. Alespoň takhle se to můžete dočíst na webu Maximy.

Grafická nadstavba wxMaximaGrafická nadstavba wxMaxima

Maximu můžete spustit v terminálu a nebo můžete využít některou z grafických nadstaveb xmaxima nebo wxMaxima, popřípadě spustit v Emacs nebo TeXmacs. Já osobně používám wxMaxima, ale co použijete vy, je jen na vás.

Grafická nadstavba xmaximaGrafická nadstavba xmaxima

Početní výrazy se zadávají pomocí příkazů a nebo je možné je vybírat z menu, zde ale nejsou všechny příkazy dostupné. Dále je možné psát skripty a ty pak v Maximě spouštět. Samozřejmostí je, že skripty mohou volat jiné skripty, takže pokud některé úlohy řešíte pravidelně, tak tohle je způsob, jak si ušetřit spoustu práce. Dokumentace je dostupná na webu Maximy a na Google můžete najít spoustu tutoriálů.

Počítáme s MaximouPočítáme s Maximou

Pokud chcete Maximu používat na vizualizaci, tak je možnost využít GNUPlot a zde jsou pak možnosti Maximy omezeny možnostmi GNUPlot. Dále Maxima rozšiřuje své možnosti načítáním různých modulů, například fourierovu transformaci (FFT) můžete použít po příkazu load("fft").

Dialog pro vykreslení pomocí GNUPlotDialog pro vykreslení pomocí GNUPlot

Maxima je poměrně dobrá v řešení symbolických rovnic, například integrate(4*sqrt(1-(x^2)),x,0,1) = PI, spousta jiných programů by výsledek vypsala jako 3.1415... Toto je vlastně hlavní důvod, proč dávám přednost programům, které pracují se symbolikou. Práce je tak daleko přehlednější a neztrácím se ve změti čísel, navíc se můžu něco přiučit z matematiky.

Maximu bych určitě doporučil všem studentům, kterým může pomoci s matematikou. Do firmy Maximu můžu doporučit taky, sám ji používám, a máte-li čas se Maximu učit, pak vám určitě hodně pomůže.

Zhu3D

Další program, na který se podíváme, je Zhu3D. Je to nástroj pro vykreslování matematických funkcí, je OpenGL a postavený na Qt (mnou testovaná verze používá Qt 4.4.3), takže mu sluší KDE, ale klidně jej můžete spouštět i pod Gnome. Když jsem tento program uviděl poprvé, byl jsem velmi mile překvapen jeho schopnostmi.

Takhle vypadá v Zhu3D soustava rovnicTakhle vypadá v Zhu3D soustava rovnic

Zhu3D dokáže vykreslit funkce, které jsou zadány soustavou rovnic (parametricky), explicitně nebo jako izoplochy. Grafické provedení vykreslené funkce je velice povedené a dá se ještě vylepšit nastavením světel, aplikováním textury, nastavením lesku, vyzařování nebo rozptýlení světla. Nastavení je samozřejmě více a nemá smysl všechna vypisovat. Zhu3D má poměrně intuitivní ovládání z menu, a tak není problém různá nastavení vyzkoušet. Vykreslené funkce můžete přibližovat a nebo rotovat ve 3D prostoru. Dále je pak možnost zapnutí animací, a to buď 3D rotace a nebo morphing. Osobně jsem čekal, že půjde o přechod z jedné funkce do druhé, ale ve Zhu3d to funguje jako jakási animace vzniku funkce. Pro některé funkce je to poměrně efektní, pro jiné již méně. Dále je možné vykreslit funkci jako body nebo plochy, plochy mohou být plné a nebo drátěné (tria i quad). Vykreslené funkce můžete ukládat jako obrázky.

Grafické provedení vykreslené funkce je velice povedenéGrafické provedení vykreslené funkce je velice povedené

Nyní již pojďme k samotnému zadávání a vykreslování funkcí. Zhu3D má editor, do něhož zapisujete funkce. Zadání ukončíte stiskem klávesy [Enter]. V případě, že funkci zadáte tak, že jí program nerozumí, upozorní  vás na to. Parametricky zadaná soustava rovnic například pro kouli vypadá takto:

X = cos(s) * cos(t)
Y = sin(s) * cos(t)
Z = sin(t)

Rovnice izoplochy (např. cos(4*y)+sin(4*x)), zde je možné vykreslit tři různé rovnice najednou. A nebo můžete rovnice zadat jako F(X,Y)=x^2+y^2, což vykreslí 3D parabolu. Tyto rovnice jsou pouze příklady, daleko složitější a hezčí funkce najdete v menu, kde je položka Demo, případně si rovnice funkce můžete vymyslet sami.

Další příklad grafuDalší příklad grafu

Pro zadávání rovnic doporučuji použít nápovědu programu, kde se dozvíte jaké funkce, operátory a konstanty program pozná. Na začátku jsem psal, že se jedná o program na vizualizaci funkcí, ale Zhu3D umí i rovnice řešit (numericky). Zde je ale potřeba programu zadat počáteční bod a přesnost, s jakou má rovnici řešit.

Tento program opět doporučím studentům, kterým může pomoci s vizualizací některých funkcí. Ještě si živě pamatuji, když jsme ve škole brali funkce a kromě toho, že jsem měl funkci derivovat nebo integrovat, tak jsem ji měl i nakreslit a spoustu funkcí jsem si nedovedl vůbec představit. Zde může Zhu3D pomoci. Zaujal-li vás, tak neváhejte, zadávejte a vykreslujte funkce.

Nahoru

Odkazy

Příspěvky

Maxima
petr 21. 04. 2009, 08:19:17
Odpovědět  Odkaz 
Maximu jsem několikrát na škole použil při řešení semestrálních prací. Mám ji moc rád. V klikacích programech jdou některé věci rychle, jiné vůbec. Maxima je hodně flexibilní.
Re:Maxima
Pavel 4. 06. 2009, 14:04:46
Odpovědět  Odkaz 
Ahoj jsem studentem TUL fakulty strojní a mám problém s programem Maxima...vubec v tom neumim dělat a mám zadanou semestralni práci...mohl by jsi mi s tim pomoct zda by to bylo možny????ozvi se mi na tento e-mail...dikes
Vojtěch Trefný Re:Re:Maxima
Vojtěch Trefný 4. 06. 2009, 14:29:05
Odpovědět  Odkaz 
Tak takhle dobře jsem se už dlouho nezasmál...
Vlastimil Ott Re:Re:Re:Maxima
Vlastimil Ott 4. 06. 2009, 14:37:10
Odpovědět  Odkaz 
Vojto, tak se překonej a z kolegiality trochu slev. Já vím, že je to pruda, ale za 1500 Kč na hodinu bys to snad zvládnout mohl, ne? Výjimečně.. ;-)
Re:Re:Re:Re:Maxima
Martin S. 17. 08. 2009, 11:41:32
Odpovědět  Odkaz 
Já učím na vysoké škole (docent) a shodou okolností taky Maximu. Na hodinu (vyučovací) mám 300 Kč brutto. Takže možná by 500 Kč stačilo, ne?
Maxima a Zhu3D - matematika v Linuxu
Ravensun 21. 04. 2009, 10:34:42
Odpovědět  Odkaz 
Paráda.
Dělá mi docela problém najít né tolik známé programy v repozitářích a nebo jinde, které by byly i pro běžného uživatele a tak jsem vždy vděčen za jakoukoli recenzi programů, zvláště takto specifické či specializované.
Děkuji mnohokrát - vyzkouším
Maxima a Zhu3D - matematika v Linuxu
daniel J 21. 04. 2009, 21:49:35
Odpovědět  Odkaz 
škoda absence češtiny. Chtěl jsem to dát dceři ale ten jazyk je velké mínus. Jinak je to bomba ten wxMaxima.
Je někde "nápověda" v češtině ?
Radim Šimánek Re:Maxima a Zhu3D - matematika v Linuxu
Radim Simanek 22. 04. 2009, 08:52:35
Odpovědět  Odkaz 
slovenstina nestaci?

http://people.tuke.sk/jan.busa/kega/maxima.html
Re:Re:Maxima a Zhu3D - matematika v Linuxu
daniel J. 24. 04. 2009, 12:43:29
Odpovědět  Odkaz 
OK díky to je skvělé ...
Petr Šafařík Re:Maxima a Zhu3D - matematika v Linuxu
Peťoš 23. 04. 2009, 22:58:59
Odpovědět  Odkaz 
Čestina je. A brzo to bude i v mojem repu pro Mandriva Linux 2009
Petr Šafařík Re:Re:Maxima a Zhu3D - matematika v Linuxu
Peťoš 24. 04. 2009, 08:05:42
Odpovědět  Odkaz 
Takze uprava: cestina je a bude, ale jen pro Zhu3D...
Práce MAXIMA
Robert 23. 06. 2009, 12:45:47
Odpovědět  Odkaz 
Dobrý den,
chtěl bych se zeptat, mam vytvořit semestrální práci v MAXIME a sam nejsem moc schopny v tomto programu tvořit, byl by nekdo ochoten pomoci za honorar a popripade vypracovat? dekuji
Re:Práce MAXIMA
Martin S. 17. 08. 2009, 11:45:40
Odpovědět  Odkaz 
Roberte, Roberte, už Tě někdo vyhodil ze školy? O podvodech a plagiátorství jsi ještě neslyšel? Nebo snad chceš na svou seminárku dát cizí copyright? To by asi neprošlo, co?

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