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

Linux E X P R E S, Scilab: Numerické výpočty, grafy - zkrátka matematika

Scilab: Numerické výpočty, grafy - zkrátka matematika

scilab.jpg

Scilab je vědecký software vyvíjený francouzskými institucemi INRIA a ENCP. Jde o software pro numerické výpočty, vykreslování 2D a 3D grafů, zpracování signálu a simulace. Obsahuje spoustu matematických funkcí a je částečně kompatibilní s Matlabem.


ScilabScilab

Scilab můžete najít v repozitářích některých distribucí (Ubuntu nebo Mandriva Linux) a nebo stáhnout ze stránek projektu. K dispozici je také nápověda a několik demoukázek, které jsou použity pro první tři obrázky. (Maskot v perexu také pochází ze stránek Scilabu.) Existuje několik návodů.

Výpočty metodou konečných prvkůVýpočty metodou konečných prvků

Ukázka animace ve ScilabuUkázka animace ve Scilabu

Po spuštění Scilabu se otevře konzole, do které můžete začít psát příkazy. Dále je k dispozici několik ikon, které slouží k otevření a uložení souboru, operace se schránkou, změna písma a tisk. V menu pak můžete najít několik dalších voleb. Doporučuji jít do menu Applications, kde najdete editor SciPad, dále Scicos, což je něco jako Matlab Simulink, a nakonec ještě překladač Matlab to Scilab. SciPad můžete používat pro psaní skriptů, přičemž SciPad bude barevně odlišovat příkazy. Můžete si zvolit barevné schéma Scilab nebo XML. Dále SciPad můžete použít pro debugging a nebo spuštění vámi napsaných příkazů ve Scilabu.

SciPadSciPad

Scicos je nástroj pro tvorbu simulací. Princip je v podstatě stejný jako u Matlab Simulink. Pokud se Simulinkem zkušenosti nemáte, nevadí, pokusím se Scicos v krátkosti představit. Po spuštění Scisos z menu Applications se otevře rozhraní pro návrh vaší simulace. Návrh se provádí pomocí bloků. Blok může být například zdroj signálu nebo graf. Bloky pak spolu propojujete v jeden funkční celek, který pak můžete simulovat. Tímto způsobem se dá například simulovat hydraulický nebo elektrický obvod, ale také můžete Scicos klidně použít k řešení rovnic a bloky tak využít k lepší vizualizaci. Příklad využití Scicosu.

Další ukázkaDalší ukázka

Překladač z Matlabu do Scilabu jsem vyzkoušel na několika příkladech, ale moc uspěšný jsem nebyl. Ze tří různých skriptů mi přeložil jenom jeden. Zde úspěšnost určitě bude u každého uživatele jiná, a to podle složitosti jeho matlabovských skriptů. Scilab dále umožňuje propojení s Labview, kdo tedy Labview používá, tak tuto možnost možná ocení.

Zápis ve Scilabu je podobný tomu z Matlabu, budete-li počítat matice, vektory nebo skaláry, tak se Scilabem vám to půjde dobře. Zápis je jednoduchý, ale i tak uvedu pár příkladů.

x = -10:2:10;
y = x^2;
plot(x,y);

Pokud použijete ; tak se nezobrazí výpis výsledků. Schválně si zkuste napsat:

x = 1:50;
x = 1:50

Matice můžete zapisovat takto:

A = [ 1 2 3;4 5 6]
B = A'
zeros (A)
eye (B)

Komplexní čísla jsou také možná.

a = 1+2*%i
b = sqrt(-4)

A chcete-li integrovat, pak napište:

function y=myfunc(x), y = sin(x^2+4*x)^2, endfunction
w = integrate('myfunc(x)','x',0,50)

Pokud použijete tic, tak vám Scilab navíc vypíše čas, který potřeboval ke spočítaní úlohy.

function y=myfunc(x), y = sin(x^2+4*x)^2, endfunction
tic(); w = integrate('myfunc(x)','x',0,50), elapsed_time = toc()

Můžete to tedy použít jako jednoduchý benchmark na hrubý výkon procesoru, například:

tic(); function h = hilbert(n), h = zeros(n, n), for i = 1:n, for j = 1:n, h(i,j) = 1/(i + j - 1), end, end, endfunction, hilbert(1000); elapsed_time = toc ()

Na mém notebooku s Core2Duo T7300 2GHz je výsledek 2,697 sekundy.

Pokud vás zajímá výkon jednotlivých programů, včetně Matlabu, tak si můžete prohlédnout benchmark. Velmi dobrých výsledků dosahuje R (viz článek Matematický software R: S ním je každá statistika hezčí).

Pokud vás Scilab zaujal, tak jej doporučuji vyzkoušet, hlavně hledáte-li náhradu za Matlab Simulink. Scicos sice nedosahuje kvalit Simulinku, ale zase je zdarma. Pokud vám jde spíše o počty, tak Scilab může taky dobře posloužit, já osobně dávám přednost R, ale například velmi populární je i Octave nebo Freemat.

Nahoru

Odkazy

Příspěvky

Scilab: Numerické výpočty, grafy - zkrátka matematika
Fajkie 16. 06. 2009, 23:10:50
Odpovědět  Odkaz 
Popis Scilabu je velmi tendenční, jako kdyby měl být Scicos co by náhrada Simulinku být tím zásadním v programu a to určitě není. Scilab je totiž velmi komplexní a sofistikovaný nástroj na numerickou matematiku, matice jsou mu vlastní, je až neuvěřitelné, že tak mocný nástroj je zdarma. Je to zřejmě jen tím, že je vyvíjen v univerzitním prostředí, ovšem to byl MuPad také a dost brzy přešel na komerční bázi. Držme tedy Scilabu palce, ještě si zde dovolím připomenout Maximu pro symbolické výpočty a samozřejmě Octave, díky nim jsou i pro obyčejné a chudé milovníky matematiky k dispozici velmi kvalitní nástroje.
stále zdarma stále lepší - Scilab: Numerické výpočty, grafy - zkrátka matematika
sysel 5. 03. 2014, 23:20:22
Odpovědět  Odkaz 
Osud mne přinutil sesmolit pár řádek v Matlabu, který ovšem nemám a krást ho nechci. Vida Scilab, jásám. Je stále zdrarma, verse od verse lepší a přibývá modulů na kde co.

Ve výčtu velmi povedených nástrojů pro symbolické matematické výpočty chybí vynikající "Graphing Calculator", který byl kdysi budlován k Mac OS 9, ale dnes, byť za malé peníze, je jak pro Mac OS X, tak i na MSW. Tento zcela intuitivní nástroj by mohl směle posloužit i k výuce matematiky, neboť funguje zcela krásně graficky a přesně dodržuje pravidla psaní vzorců i jejich úpravy metodou "drag'n'drop". Jen jakoby mimoděk zobrazuje 2D i 3D funkce a samozřejmě podporuje komplexní čísla i funkce, nemluvě o derivování a integrování.
Stojí za pozornost i za téměř sharewarový poplatek. (www.pacifict.com)

Odpovědět

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