GNU Octave | |
---|---|
GNU Octave 3.8.0 rulează din GUI | |
Tip de | software-ul matematic |
Autor | John W. Eaton [d] |
Dezvoltator | John W. Eaton |
Scris in | C++ |
Interfață | Qt |
Sistem de operare | Linux , UNIX , Cygwin , Windows , Android [1] |
Prima editie | 1988 |
ultima versiune | 7.1.0 [2] (6 aprilie 2022 ) |
Formate de fișiere care pot fi citite | Date GNU Octave Matrix (text) [d] |
Formate de fișiere generate | Date GNU Octave Matrix (text) [d] |
Licență | Licență publică generală GNU |
Site-ul web | gnu.org/software/octave/ |
Fișiere media la Wikimedia Commons |
GNU Octave este un sistem software gratuit pentru calcul matematic [3] folosind un limbaj de nivel înalt compatibil cu MATLAB [4] .
Octave oferă o interfață de comandă interactivă pentru rezolvarea problemelor matematice liniare și neliniare și a altor experimente numerice. În plus, Octave poate fi folosit pentru procesarea în loturi. Limbajul Octave operează cu aritmetica scalarilor, vectorilor și matricelor reali și complexi, are extensii pentru rezolvarea problemelor algebrice liniare, găsirea rădăcinilor sistemelor de ecuații algebrice neliniare, lucrul cu polinoame, rezolvarea diverselor ecuații diferențiale, integrarea sistemelor diferențiale de ordinul întâi. și ecuații diferențiale-algebrice, care integrează funcții pe intervale finite și infinite. Această listă poate fi extinsă cu ușurință folosind limbajul Octave (sau folosind module încărcate dinamic create în C , C++ , Fortran etc.).
Octave este un limbaj de programare interpretat. Este similar cu C și acceptă majoritatea funcțiilor de bază ale bibliotecii standard C, precum și comenzile de bază Unix și apelurile de sistem . Pe de altă parte, nu acceptă transmiterea argumentelor prin referință (o caracteristică de proiectare).
Sintaxa limbajului este foarte asemănătoare cu MATLAB , iar scripturile bine scrise vor rula atât în Octave , cât și în MATLAB .
Interfața de linie de comandă a lui Octave este construită folosind biblioteca GNU Readline , care oferă acces la caracteristicile obișnuite ale acesteia din urmă, cum ar fi completarea tastelor Tab ↹, istoricul comenzilor și căutarea incrementală ( Ctrl+ R, Ctrl+ S), remaparea tastelor etc. GUI-ul este la versiunea actualizată. 3.8.0 a fost introdus cu adăugiri (ar putea afișa grafice fără ele).
Octave ForgeOctave Forge [5] este un manager de pachete de extensii pentru sistemul Octave.
Integrare cu C++Expresiile octave pot fi evaluate din programele C++ . Pentru a face acest lucru, în C++ este inclusă o bibliotecă specială octave/oct.h. De exemplu, un fragment de cod pentru calcularea rand([9000,1]):
#include <octavă/oct.h> … ColumnVector NumRands ( 2 ); NumRands ( 0 ) = 9000 ; NumRands ( 1 ) = 1 ; octave_value_list f_arg , f_ret ; f_arg ( 0 ) = octave_value ( NumRands ); f_ret = feval ( "rand" , f_arg , 1 ); Matrix unis ( f_ret ( 0 ). matrix_value ()); PerformanţăLa sfârșitul anilor 1990 (a doua serie de lansări), performanța lui Octave este semnificativ inferioară celei MATLAB . [6] Cu toate acestea, până la sfârșitul anilor 2000 (a treia serie de versiuni), performanța acestor pachete „aproape egală”, iar diferența rămasă este atribuită prezenței unui interpret-compilator (Just in Time - JIT ) în MATLAB , care nu este în Octave . [7]
Calcul paralelPrincipalele soluții pentru organizarea calculului distribuit în mediul Octave sunt bibliotecile bcMPI, MPI Toolbox for Octave (MPITB), octave-parallel_mpi și paralele (fostă octave-parallel) concepute pentru sistemele de cluster și modulul parcellfun al bibliotecii generale pentru a oferi calcul paralel la scară. o singură mașină" (pe sisteme multi-core și masiv paralele).
Primele trei biblioteci oferă o interfață pentru instalarea efectivă a bibliotecii MPI și, pe cât posibil, traduc în Octave (bcMPI - și în MATLAB ) sintaxa unui subset de apeluri MPI. În consecință, în aceste cazuri, calculele sunt distribuite numai în măsura în care sunt pregătite de programator și sunt furnizate în limitele posibilităților instalării sistemului MPI.
Biblioteca paralelă, pe de altă parte, nu necesită un mediu precum MPI sau PVM , dar oferă distribuție folosind mijloacele interne ale pachetului Octave .
Octave a fost scrisă având în vedere compatibilitatea MATLAB și implementează multe dintre caracteristicile sale:
Dar există și câteva diferențe:
Proiectul GNU | ||
---|---|---|
Poveste | ||
Licențe |
| |
software _ |
| |
Personalități |
| |
Alte subiecte |
|
Software gratuit și open source | |
---|---|
Lucrul principal |
|
Comunitate |
|
Organizații | |
Licențe | |
Probleme | |
Alte |
|
|
Software de matematică | |
---|---|
Calcule simbolice | |
Calcule numerice |