GNU Octave | |
---|---|
GNU Octave 3.8.0, joka toimii graafisesta käyttöliittymästä | |
Tyyppi | matemaattinen ohjelmisto |
Tekijä | John W. Eaton [d] |
Kehittäjä | John W. Eaton |
Sisään kirjoitettu | C++ |
Käyttöliittymä | Qt |
Käyttöjärjestelmä | Linux , UNIX , Cygwin , Windows , Android [1] |
Ensimmäinen painos | 1988 |
uusin versio | 7.1.0 [2] (6. huhtikuuta 2022 ) |
Luettavat tiedostomuodot | GNU Octave Matrix -data (teksti) [d] |
Luodut tiedostomuodot | GNU Octave Matrix -data (teksti) [d] |
Lisenssi | GNU yleinen julkinen lisenssi |
Verkkosivusto | gnu.org/software/octave/ |
Mediatiedostot Wikimedia Commonsissa |
GNU Octave on ilmainen ohjelmistojärjestelmä matemaattiseen laskemiseen [3] käyttäen korkean tason kieltä , joka on yhteensopiva MATLABin [4] kanssa .
Octave tarjoaa interaktiivisen komentorajapinnan lineaaristen ja epälineaaristen matemaattisten ongelmien ja muiden numeeristen kokeiden ratkaisemiseen. Lisäksi Octavea voidaan käyttää eräkäsittelyyn. Octave-kieli toimii todellisten ja kompleksisten skalaarien, vektorien ja matriisien aritmetiikassa, siinä on laajennuksia lineaaristen algebrallisten ongelmien ratkaisemiseen, epälineaaristen algebrallisten yhtälöiden juurien löytämiseen, polynomien kanssa työskentelyyn, erilaisten differentiaaliyhtälöiden ratkaisemiseen, ensimmäisen asteen differentiaalijärjestelmien integrointiin. ja differentiaalialgebralliset yhtälöt, jotka integroivat funktioita äärellisillä ja äärettömillä aikaväleillä. Tätä luetteloa voidaan helposti laajentaa käyttämällä Octave-kieltä (tai käyttämällä dynaamisesti ladattuja moduuleja, jotka on luotu C , C++ , Fortran jne.).
Octave on tulkittu ohjelmointikieli. Se on samanlainen kuin C ja tukee useimpia C-standardin kirjaston ydintoimintoja sekä Unix -peruskomentoja ja järjestelmäkutsuja . Toisaalta se ei tue argumenttien välittämistä viitteellä (suunnitteluominaisuus).
Kielen syntaksi on hyvin samanlainen kuin MATLAB , ja hyvin kirjoitetut skriptit toimivat sekä oktaavissa että MATLABissa .
Octaven komentorivikäyttöliittymä on rakennettu käyttämällä GNU Readline -kirjastoa , joka antaa pääsyn jälkimmäisen tavanomaisiin ominaisuuksiin, kuten avainten täydennykseenTab ↹ , komentohistoriaan ja inkrementaaliseen hakuun ( Ctrl+ R, Ctrl+ S), näppäinten uudelleenkuvaukseen jne. GUI on versioon asti 3.8.0 otettiin käyttöön lisäyksillä (se pystyi näyttämään kaavioita ilman niitä).
Octave ForgeOctave Forge [5] on Octave-järjestelmän laajennuspakettien hallinta.
Integrointi C++ :n kanssaOktaavilausekkeet voidaan arvioida C++- ohjelmista . Tätä varten C++:ssa on erityinen kirjasto octave/oct.h. Esimerkiksi koodinpätkä laskemista varten rand([9000,1]):
#include <oktaavi/okt.h> … Sarakevektorin NumRands ( 2 ); NumRands ( 0 ) = 9000 ; NumRands ( 1 ) = 1 ; octave_value_list f_arg , f_ret ; f_arg ( 0 ) = oktaavin_arvo ( NumRands ); f_ret = feval ( "rand" , f_arg , 1 ); Matriisi unis ( f_ret ( 0 ). matriisi_arvo ()); Esitys1990-luvun lopulla (2. julkaisusarja) Octaven suorituskyky on huomattavasti huonompi kuin MATLABin . [6] Kuitenkin 2000-luvun loppuun mennessä (3. julkaisusarja) näiden pakettien suorituskyky oli "melkein sama", ja jäljellä oleva ero johtuu tulkki-kääntäjän (Just in Time - JIT ) olemassaolosta. MATLAB , joka ei ole oktaavissa . [7]
RinnakkaislaskentaTärkeimmät ratkaisut hajautetun laskennan järjestämiseen Octave -ympäristössä ovat bcMPI, MPI Toolbox for Octave (MPITB), octave-parallel_mpi ja rinnakkaiset (aiemmin octave-parallel) -kirjastot, jotka on suunniteltu klusterijärjestelmille, sekä yleisen kirjaston parcellfun-moduuli. rinnakkainen laskenta mittakaavassa. yksi kone" (moniytimisissä ja massiivisesti rinnakkaisissa järjestelmissä).
Kolme ensimmäistä kirjastoa tarjoavat käyttöliittymän MPI -kirjaston varsinaiseen asennukseen ja mahdollisuuksien mukaan kääntävät oktaaveiksi ( bcMPI - ja MATLAB ) MPI-kutsujen osajoukon syntaksin. Näin ollen näissä tapauksissa laskelmia jaetaan vain ohjelmoijan valmisteleman verran ja ne tarjotaan MPI-järjestelmän asennuksen ominaisuuksien puitteissa.
Rinnakkaiskirjasto sen sijaan ei vaadi ympäristöä, kuten MPI tai PVM , vaan tarjoaa jakelun Octave -paketin sisäisin keinoin .
Octave on kirjoitettu MATLAB -yhteensopivuutta ajatellen ja se toteuttaa monia sen ominaisuuksia:
Mutta on myös joitain eroja:
GNU projekti | ||
---|---|---|
Tarina | ||
Lisenssit |
| |
Ohjelmisto_ _ |
| |
Persoonallisuudet |
| |
Muut aiheet |
|
Ilmainen ja avoimen lähdekoodin ohjelmisto | |
---|---|
Pääasia |
|
Yhteisö |
|
Organisaatiot | |
Lisenssit | |
Ongelmia | |
muu |
|
|
Matemaattinen ohjelmisto | |
---|---|
Symboliset laskelmat | |
Numeeriset laskelmat |