GNU Octave | |
---|---|
A GNU Octave 3.8.0 GUI-ról fut | |
Típusú | matematikai szoftver |
Szerző | John W. Eaton [d] |
Fejlesztő | John W. Eaton |
Beírva | C++ |
Felület | Qt |
Operációs rendszer | Linux , UNIX , Cygwin , Windows , Android [1] |
Első kiadás | 1988 |
legújabb verzió | 7.1.0 [2] (2022. április 6. ) |
Olvasható fájlformátumok | GNU Octave Matrix adatok (szöveg) [d] |
Generált fájlformátumok | GNU Octave Matrix adatok (szöveg) [d] |
Engedély | GNU általános nyilvános licenc |
Weboldal | gnu.org/software/octave/ |
Médiafájlok a Wikimedia Commons oldalon |
A GNU Octave egy ingyenes szoftverrendszer matematikai számításokhoz [3] , amely a MATLAB -bal [4] kompatibilis magas szintű nyelvet használ .
Az Octave interaktív parancsfelületet biztosít lineáris és nemlineáris matematikai problémák és egyéb numerikus kísérletek megoldásához. Ezenkívül az Octave kötegelt feldolgozásra is használható. Az Octave nyelv valós és összetett skalárok, vektorok és mátrixok aritmetikájával operál, van kiterjesztése lineáris algebrai problémák megoldására, nemlineáris algebrai egyenletrendszerek gyökereinek megtalálására, polinomokkal való munkavégzésre, különféle differenciálegyenletek megoldására, elsőrendű differenciálegyenletek integrálására. és differenciál-algebrai egyenletek, függvények integrálása véges és végtelen intervallumokon. Ez a lista egyszerűen bővíthető az Octave nyelv használatával (vagy C , C++ , Fortran stb. nyelven létrehozott, dinamikusan betöltött modulokkal).
Az Octave egy értelmezett programozási nyelv. Hasonló a C-hez, és támogatja a C szabványos könyvtár legtöbb alapvető funkcióját, valamint az alapvető Unix -parancsokat és rendszerhívásokat . Másrészt nem támogatja az érvek hivatkozással történő átadását (tervezési jellemző).
A nyelv szintaxisa nagyon hasonló a MATLAB -hoz , és a jól megírt szkriptek Octave és MATLAB nyelven is futnak .
Az Octave parancssori felülete a GNU Readline könyvtár felhasználásával készült , amely hozzáférést biztosít az utóbbi szokásos szolgáltatásaihoz, mint például a kulcskiegészítésTab ↹ , a parancsok előzményei és a növekményes keresés ( Ctrl+ R, Ctrl+ ), a billentyűk Sújraleképezése stb. A 3.8.0 kiegészítésekkel került bevezetésre (ezek nélkül is grafikonokat tudott megjeleníteni).
Octave ForgeAz Octave Forge [5] egy kiterjesztési csomagkezelő az Octave rendszerhez.
Integráció C++- szalAz oktávkifejezések kiértékelhetők C ++ programokból . Ehhez a C++-ban egy speciális octave/oct.h könyvtár található. Például egy kódrészlet a következő kiszámításához rand([9000,1]):
#include <oktáv/okt.h> … Oszlopvektor NumRands ( 2 ); NumRands ( 0 ) = 9000 ; NumRands ( 1 ) = 1 ; octave_value_list f_arg , f_ret ; f_arg ( 0 ) = oktáv_érték ( NumRands ); f_ret = feval ( "rand" , f_arg , 1 ); Mátrix unis ( f_ret ( 0 ). mátrix_érték ()); TeljesítményAz 1990-es évek végén (a kiadások 2. sorozata) az Octave teljesítménye jelentősen gyengébb a MATLAB teljesítményénél . [6] A 2000-es évek végére (a kiadások 3. sorozata) azonban ezeknek a csomagoknak a teljesítménye "majdnem megegyezett", a fennmaradó különbséget pedig az értelmező-fordító (Just in Time - JIT ) jelenlétének tulajdonították. MATLAB , ami nincs oktávban . [7]
Párhuzamos számítástechnikaAz Octave környezetben az elosztott számítástechnika megszervezésének fő megoldásai a bcMPI, az MPI Toolbox for Octave (MPITB), az octave-parallel_mpi és a párhuzamos (korábban octave-parallel) könyvtárak, amelyeket fürtrendszerekhez terveztek, valamint az általános könyvtár parcellfun modulja. párhuzamos számítási skálán. egy gép" (többmagos és masszívan párhuzamos rendszereken).
Az első három könyvtár interfészt biztosít az MPI -könyvtár tényleges telepítéséhez, és amennyire csak lehetséges, lefordítja oktávra ( bcMPI - és MATLAB ) az MPI-hívások egy részhalmazának szintaxisát. Ennek megfelelően ezekben az esetekben a számításokat csak addig terjesztik, amennyire a programozó elkészíti, és az MPI rendszer telepítésének lehetőségein belül biztosított.
A párhuzamos könyvtár viszont nem igényel olyan környezetet, mint az MPI vagy PVM , hanem az Octave csomag belső eszközeivel biztosítja a terjesztést .
Az Octave a MATLAB kompatibilitást szem előtt tartva íródott, és számos funkcióját megvalósítja:
De van néhány különbség is:
GNU projekt | ||
---|---|---|
Sztori | ||
Licencek |
| |
Szoftver _ |
| |
Személyiségek |
| |
Egyéb témák |
|
Ingyenes és nyílt forráskódú szoftver | |
---|---|
A fő dolog |
|
Közösség |
|
Szervezetek | |
Licencek | |
Problémák | |
Egyéb |
|
|
Matek szoftver | |
---|---|
Szimbolikus számítások | |
Numerikus számítások |