Ero sivun ”Octave” versioiden välillä

Siirry navigaatioon Siirry hakuun
110 merkkiä lisätty ,  30. joulukuuta 2007
kh
(kh)
Rivi 4: Rivi 4:


==Käyttö==
==Käyttö==
Octave käynnistyy yksinkertaisesti
Octave käynnistyy yksinkertaisesti komennolla
  octave
  octave
Komentorivillä Octavelle voi myös putkittaa syötettä, tällöin saattaa olla hyödyllistä välttää lisenssitulosteet valitsimella -q
Komentorivillä Octavelle voi myös [[Komentorivin perusteet|putkittaa]] syötettä, tällöin saattaa olla hyödyllistä välttää lisenssitulosteet valitsimella <tt>-q</tt>:
  echo 1+1 | octave -q
  echo 1+1 | octave -q


Octave-skriptejä voi tehdä kuten yleisemminkin linuxilla #! -merkinnällä tekstitiedoston alussa:
Octave-skriptejä voi tehdä kuten yleisemminkin linuxilla <tt>#!</tt>-merkinnällä tekstitiedoston alussa:
  #!/usr/bin/octave -qf
  #!/usr/bin/octave -qf
  1+1
  1+1
Tässä 1+1 ajetaan komentotulkin /usr/bin/octave -qf läpi, jolloin tulostuu "ans = 2"
Tässä 1+1 ajetaan komentotulkin <tt>/usr/bin/octave -qf</tt> läpi, jolloin tulostuu "<tt>ans = 2</tt>"


==Kieli==
==Kieli==


===Tietotyypit===
===Tietotyypit===
Octavessa esittelemättömät muuttujat oletetaan [[kaksoistarkkuus | kaksoistarkkuuden]] [[liukuluku| 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ä.
Octavessa esittelemättömät muuttujat oletetaan [[kaksoistarkkuus | kaksoistarkkuuden]] [[liukuluku| liukulukujen]] taulukoiksi, joiden ulottuvuus määräytyy siihen sijoitettavan taulukon koosta. 2-ulotteisia taulukoita, eli matriiseja, voidaan esitellä erottamalla saman rivin alkiot pilkulla ja rivit puolipisteellä:
 
  octave:1> A=[1,2;3,4]
  octave:1> A=[1,2;3,4]
  A =
  A =
Rivi 24: Rivi 23:
   3  4
   3  4


Matriiseja voi myös maaritellä lohkoittain.
Matriiseja voi myös määritellä lohkoittain:
 
  octave:4> A=[[1,2;3,4],[5;5];[6,6,6]]
  octave:4> A=[[1,2;3,4],[5;5];[6,6,6]]
  A =
  A =
     1  2  5
     1  2  5
     3  4  5
     3  4  5
Rivi 34: Rivi 31:


===Laskuoperaattorit===
===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 ./ .
Laskuoperaattoreissa huomioitavaa on, että vaikka yksittäisillä luvuilla operaattorit toimivat odotetusti, * ja / tarkoittavat matriisituloa ja matriisien jakolaskua (Octaven tulkinta (inverse(y')*x')' ). Alkiokohtaiset operaatiot kirjoitetaan .* ja ./ .


====Sijoitusoperaattori====
====Sijoitusoperaattori====
Tyypillinen sijoitus muuttujaan A, joka siis ei säilytä välttämättä A:n aikaisempia dimensioita.
Tyypillinen sijoitus muuttujaan A, joka siis ei säilytä välttämättä A:n aikaisempia dimensioita:
  A=lauseke
  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.
Jos halutaan korvata vain osa A:sta, voidaan käyttää A:lle indeksimääreitä tavalliseen tapaan. Tällöin lausekkeen ja muuttujan määrätyn osan dimensioiden on oltava samat.
  A(1:80,2)=zeros(80,1);
  A(1:80,2)=zeros(80,1);


===funktiot===
===Funktiot===
Funktioita voidaan määritellä function-avainsanalla seuraavasti.
Funktioita voidaan määritellä <tt>function</tt>-avainsanalla seuraavasti:
  function lista palautusarvoista = funktionimi (argumenttilista)
  function lista palautusarvoista = funktionimi (argumenttilista)
  #funktion toiminnallinen osa, jossa mahdolliset sijoitukset paluuarvoihin
  #funktion toiminnallinen osa, jossa mahdolliset sijoitukset paluuarvoihin
  endfunction
  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ä.
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ä.
<pre>
  octave:9> function [A,B] = funktio(C,D=100)
  octave:9> function [A,B] = funktio(C,D=100)
  > A=C*D;
  > A=C*D;
Rivi 61: Rivi 59:
   
   
     101  102
     101  102
 
</pre>
== Katso myös ==
== Katso myös ==
* [[Gnuplot]]
* [[Gnuplot]]

Navigointivalikko