Octave

Linux.fista
Versio hetkellä 30. joulukuuta 2007 kello 03.20 – tehnyt 82.130.50.65 (keskustelu) (→‎Kieli)
Siirry navigaatioon Siirry hakuun
octave
Käyttöliittymä teksti
Lisenssi GPL
Kotisivu www.octave.org

Octave on numeeriseen laskentaan tarkoitettu matlab-yhteensopivahko korkean tason kieli ja erityisesti tulkki kyseiselle kielelle.

Käyttö

Octave käynnistyy yksinkertaisesti

octave

Komentorivillä Octavelle voi myös putkittaa syötettä, tällöin saattaa olla hyödyllistä välttää lisenssitulosteet valitsimella -q

echo 1+1 | octave -q

Octave-skriptejä voi tehdä kuten yleisemminkin linuxilla #! -merkinnällä tekstitiedoston alussa:

#!/usr/bin/octave -qf
1+1

Tässä 1+1 ajetaan komentotulkin /usr/bin/octave -qf läpi, jolloin tulostuu "ans = 2"

Kieli

Tietotyypit

Octavessa esittelemättömät muuttujat oletetaan kaksoistarkkuuden liukulukujen taulukoiksi, joiden ulottuvuus määräytyy siihensijoitettavan taulukon koosta. 2-ulotteisia taulukoita, eli matriiseja, voidaan esitellä erottamalla saman rivin alkiot pilkulla ja rivit puolipisteellä.

octave:1> A=[1,2;3,4]
A =
  1   2
  3   4

Matriiseja voi myös maaritellä lohkoittain.

octave:4> A=[[1,2;3,4],[5;5];[6,6,6]]
A =
   1   2   5
   3   4   5
   6   6   6

Laskuoperaattorit

Laskuoperaattoreissa huomioitavaa on, että vaikka yksittäisillä luvuilla operaattorit toimivat odotetusti * ja / tarkoittavat matriisituloa ja jakolaskua (octaven tulkinta (inverse(y')*x')' ) alkiokohtaiset operaatiot kirjoitetaan .* ja ./ .

Sijoitusoperaattori

Tyypillinen sijoitus muuttujaan A, joka siis ei säilytä välttämättä A:n aikaisempia dimensioita.

A=lauseke

Jos halutaan korvata vain osa A:sta, voidaan käyttää A:lla indeksimääreitä tavallise tapaan. Tällöin lausekkeen ja muuttujan määrätyn osan dimensioiden on oltava samat.

A(1:80,2)=zeros(80,1);

funktiot

Funktioita voidaan määritellä function-avainsanalla seuraavasti.

function lista palautusarvoista = funktionimi (argumenttilista)
#funktion toiminnallinen osa, jossa mahdolliset sijoitukset paluuarvoihin
endfunction

Käyttöesimerkissä luodaan funktio, joka palauttaa argumenttiensa tulon ja summan, oletusarvo toiselle argumentille on 100, mikä on voimassa, kun tätä muuttujaa ei erikseen anneta parametrinä.

octave:9> function [A,B] = funktio(C,D=100)
> A=C*D;
> B=C+D;
> endfunction

octave:12> [A,B]=funktio([1,2])
A =

   100   200

B =

   101   102

Katso myös