GNU Octave

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2017. június 29-én felülvizsgált verziótól ; az ellenőrzések 18 szerkesztést igényelnek .
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. ) ( 2022-04-06 )
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).

Technikai részletek

Az oktáv nyelve

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 .

Néhány szolgáltatás

Felület

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 Forge

Az Octave Forge [5] egy kiterjesztési csomagkezelő az Octave rendszerhez.

Integráció C++- szal

Az 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ény

Az 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ástechnika

Az 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 .

Kompatibilitás a MATLAB-al

Az Octave a MATLAB kompatibilitást szem előtt tartva íródott, és számos funkcióját megvalósítja:

  • mátrixok, mint fő adattípusok;
  • beépített támogatás komplex számokhoz;
  • nagy teljesítményű beépített matematikai függvények és nagy függvénykönyvtárak;
  • bővíthetőség, köszönhetően az egyedi funkciók létrehozásának lehetőségének.

De van néhány különbség is:

  • a megjegyzések kezdődhetnek a # karakterrel vagy a %;
  • támogatja a C++-szerű operátorokat ++, --, +=, *=, /=;
  • az elemek megcímezhetők új változó létrehozása nélkül, például [1:10](3);
  • string típusú adatok megadhatók a """ vagy a "'" karakterrel.

Irodalom

Linkek

Jegyzetek

  1. Octave – Android Apps a Google Playen . Letöltve: 2013. február 18. Az eredetiből archiválva : 2014. március 9..
  2. Megjelent a GNU Octave 7.1.0 . Archiválva az eredetiből 2022. április 9-én. Letöltve: 2022. április 10.
  3. Oktáv . Letöltve: 2009. augusztus 24. Az eredetiből archiválva : 2017. november 22..
  4. Az Octave-ról . Letöltve: 2011. január 22. Az eredetiből archiválva : 2021. január 25.
  5. Octave Forge . Hozzáférés dátuma: 2018. február 27. Az eredetiből archiválva : 2018. február 28.
  6. Eddelbuettel…
  7. Chaves et al. …