GNU Octave

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 29. kesäkuuta 2017 tarkistetusta versiosta . tarkastukset vaativat 18 muokkausta .
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 ) ( 2022-04-06 )
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.).

Tekniset tiedot

Oktaavin kieli

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 .

Jotkut ominaisuudet

Käyttöliittymä

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 Forge

Octave Forge [5] on Octave-järjestelmän laajennuspakettien hallinta.

Integrointi C++ :n kanssa

Oktaavilausekkeet 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 ()); Esitys

1990-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]

Rinnakkaislaskenta

Tä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 .

Yhteensopivuus MATLABin kanssa

Octave on kirjoitettu MATLAB -yhteensopivuutta ajatellen ja se toteuttaa monia sen ominaisuuksia:

  • matriisit tärkeimpinä tietotyypeinä;
  • sisäänrakennettu tuki kompleksiluvuille;
  • tehokkaat sisäänrakennetut matemaattiset funktiot ja suuret funktiokirjastot;
  • laajennettavuus, kiitos mahdollisuuden luoda mukautettuja toimintoja.

Mutta on myös joitain eroja:

  • kommentit voivat alkaa joko #-merkillä tai %;
  • tukee C++:n kaltaisia ​​operaattoreita ++, --, +=, *=, /=;
  • elementtejä voidaan käsitellä luomatta uutta muuttujaa, esimerkiksi [1:10](3);
  • merkkijonotyyppitiedot voidaan määrittää joko """- tai "'"-merkillä.

Kirjallisuus

Linkit

Muistiinpanot

  1. Octave - Android Apps auf Google Play . Haettu 18. helmikuuta 2013. Arkistoitu alkuperäisestä 9. maaliskuuta 2014.
  2. GNU Octave 7.1.0 julkaistu . Arkistoitu alkuperäisestä 9. huhtikuuta 2022. Haettu 10. huhtikuuta 2022.
  3. Oktaavi . Haettu 24. elokuuta 2009. Arkistoitu alkuperäisestä 22. marraskuuta 2017.
  4. Tietoja Octavesta . Haettu 22. tammikuuta 2011. Arkistoitu alkuperäisestä 25. tammikuuta 2021.
  5. Octave Forge . Käyttöpäivä: 27. helmikuuta 2018. Arkistoitu alkuperäisestä 28. helmikuuta 2018.
  6. Eddelbuettel…
  7. Chaves et ai. …