GNU Octave | |
---|---|
GNU Octave 3.8.0 běžící z GUI | |
Typ | matematický software |
Autor | John W. Eaton [d] |
Vývojář | John W. Eaton |
Zapsáno v | C++ |
Rozhraní | Qt |
Operační systém | Linux , UNIX , Cygwin , Windows , Android [1] |
První vydání | 1988 |
Nejnovější verze | 7.1.0 [2] (6. dubna 2022 ) |
Čitelné formáty souborů | Data GNU Octave Matrix (text) [d] |
Vygenerované formáty souborů | Data GNU Octave Matrix (text) [d] |
Licence | GNU General Public License |
webová stránka | gnu.org/software/octave/ |
Mediální soubory na Wikimedia Commons |
GNU Octave je svobodný softwarový systém pro matematické výpočty [3] využívající jazyk na vysoké úrovni kompatibilní s MATLABem [4] .
Octave poskytuje interaktivní příkazové rozhraní pro řešení lineárních a nelineárních matematických problémů a dalších numerických experimentů. Kromě toho lze Octave použít pro dávkové zpracování. Jazyk Octave pracuje s aritmetikou reálných a komplexních skalárů, vektorů a matic, má rozšíření pro řešení lineárních algebraických úloh, hledání kořenů soustav nelineárních algebraických rovnic, práci s polynomy, řešení různých diferenciálních rovnic, integraci systémů diferenciálu prvního řádu a diferenciálně-algebraické rovnice, integrující funkce na konečných a nekonečných intervalech. Tento seznam lze snadno rozšířit pomocí jazyka Octave (nebo pomocí dynamicky načítaných modulů vytvořených v C , C++ , Fortran atd.).
Octave je interpretovaný programovací jazyk. Je podobná C a podporuje většinu základních funkcí standardní knihovny C, stejně jako základní unixové příkazy a systémová volání . Na druhou stranu nepodporuje předávání argumentů odkazem (funkce návrhu).
Syntaxe jazyka je velmi podobná MATLABu a dobře napsané skripty poběží v Octave i MATLABu .
Rozhraní příkazového řádku Octave je vytvořeno pomocí knihovny GNU Readline , která umožňuje přístup k jejím obvyklým funkcím, jako je doplňování kláves Tab ↹, historie příkazů a přírůstkové vyhledávání ( Ctrl+ R, Ctrl+ S), přemapování kláves atd. GUI je až na verzi 3.8.0 byl představen s doplňky (uměl zobrazovat grafy bez nich).
Octave ForgeOctave Forge [5] je správce balíčků rozšíření pro systém Octave.
Integrace s C++Oktávové výrazy lze vyhodnotit z programů C++ . K tomu je v C++ zahrnuta speciální knihovna octave/oct.h. Například fragment kódu pro výpočet rand([9000,1]):
#include <octave/oct.h> … ColumnVector NumRands ( 2 ); NumRands ( 0 ) = 9000 ; NumRands ( 1 ) = 1 ; octave_value_list f_arg , f_ret ; f_arg ( 0 ) = hodnota_oktávy ( NumRands ); f_ret = feval ( "rand" , f_arg , 1 ); Matice unis ( f_ret ( 0 ). hodnota_matice ()); VýkonNa konci 90. let (2. série vydání) je výkon Octave výrazně horší než výkon MATLABu . [6] Na konci roku 2000 (3. série vydání) se však výkon těchto balíčků „téměř vyrovnal“ a zbývající rozdíl je připisován přítomnosti překladače-překladače (Just in Time - JIT ) v MATLAB , který není v oktávě . [7]
Paralelní počítáníHlavními řešeními pro organizaci distribuovaných výpočtů v prostředí Octave jsou knihovny bcMPI, MPI Toolbox for Octave (MPITB), octave-parallel_mpi a paralelní (dříve octave-parallel) určené pro klastrové systémy a modul parcellfun obecné knihovny poskytující paralelní výpočty v měřítku. jeden stroj“ (na vícejádrových a masivně paralelních systémech).
První tři knihovny poskytují rozhraní pro skutečnou instalaci knihovny MPI a pokud je to možné, převádějí do Octave (bcMPI - a do MATLABu ) syntaxi podmnožiny volání MPI. Výpočty jsou tedy v těchto případech distribuovány pouze do té míry, pokud je připraví programátor, a jsou poskytovány v rámci možností instalace systému MPI.
Paralelní knihovna na druhé straně nevyžaduje prostředí jako MPI nebo PVM , ale poskytuje distribuci pomocí interních prostředků balíčku Octave .
Octave byl napsán s ohledem na kompatibilitu s MATLABem a implementuje mnoho jeho funkcí:
Ale jsou tu také některé rozdíly:
Projekt GNU | ||
---|---|---|
Příběh | ||
licence |
| |
Software _ |
| |
Osobnosti |
| |
Další témata |
|
Bezplatný open source software | |
---|---|
Hlavní věc |
|
Společenství |
|
Organizace | |
licence | |
Problémy | |
jiný |
|
|
Matematický software | |
---|---|
Symbolické výpočty | |
Numerické výpočty |