Kieliteknologian oppiaine

SCILAB -ohje

- KIT-verkosto | Yleisen kielitieteen laitos| Kieliteknologian opetus| Helsingin yliopisto -
Yleisiä tietoja kurssista
Kurssin kalenteri
Kurssin kuvaus
Luennoitsija
Kurssin materiaali
Matemaattisia kaavoja (PS)
Scilabin käyttö
FFT Scilabilla
Viikkomateriaalit
Viikon 1 materiaali PostScript-muodossa
Viikon 1 materiaali PDF-muodossa
Viikon 2 materiaali PostScript-muodossa
Viikon 2 materiaali PDF-muodossa
Viikon 3 materiaali PostScript-muodossa
Viikon 3 materiaali PDF-muodossa
Viikon 4 materiaali PostScript-muodossa
Viikon 4 materiaali PDF-muodossa
Viikkojen 5 ja 6 materiaali PostScript-muodossa
Viikkojen 5 ja 6 materiaali PDF-muodossa
Viikon 7 materiaali (lopputyö)
Ohjelmia
Scilab-ohjelman manuaali
gnuplot -manuaali (HTML)
gnuplot -manuali (PS)
gnuplot -ohje LaTeXia varten (PS)
C-kielinen FFT-ohjelma

Ohjeita Scilab-ohjelman käyttämiseksi Mars-nimisellä Linux-palvelimella

Scilab-ohjelma on asnnettuna valmiiksi yleisen kieliteteen laitoksen Mars-nimiselle Linux-palvelimelle. Ohjelma on vapaasti saatavilla ja itse kukin voi asentaa sen melko helposti myös omalle koneelleen joko Linux- tai Windows-versiona, ks. tuonnempana kohta Ohjelman käyttöä koskevat rajoitukset. Ohjelman käyttö lienee melko samanlaista käyttöjärjestelmän alustasta riippumatta.

1. Mitä ohjelma tekee?

Scilab-ohjelman avulla voidaan laskea matriiseilla, vektoreilla ja kompleksiluvuilla monenlaisia analyysejä. (Ohjelman tekijät suosittelevat sen nimen äännettäväksi sailäb koska nimen katsotaan tulevan osista: science+lab.) Erityisesti mm. signaalinkäsittelyssä tarvittava FFT-algoritmi (eli Fast Fourier Transformation) on siinä käytettävissä.

2. Miten ohjelmaa käytetään?

Ohjelman viimeisin versio on asennettuna Mars-palvelimelle (joka on pääosiltaan samankaltainen kuin Venus-palvelin). Ensin otetaan siis SSH-yhteys Marsiin ja siellä käynnistetään ohjelma komennolla:

     työasema $ ssh mars
     password: ....
     mars $ scilab &

jolloin ohjelma käynnistyy omassa ikkunassaan. Jos ohjelman syystä tai toisesta haluaa käynnistää terminaali-ikkunassa merkkipohjaisena, silloin pitää käyttää komentoa: scilab -nw (ilman et-merkkiä).

2.1 Ohjelman käyttöohjeet

Scilab-ohjelmasta löytyy melko runsaasti ohjeita ja jos aikoo vakavissaan käyttää ohjelmaa, kannattaa varmistaa hakukoneilla, että on selvillä riittävän hyvin saatavilla olevista ohjeista ja kirjoista. Huhtikuussa 2004 kuitenkin paikassa http://scilabsoft.inria.fr/ oli erityinen sivu Scilabin dokumentaatiosta, jossa runsaasti toimivia linkkejä.

Scilab-ohjelman mukana tulee yksittäisten komentojen dokumentaatio, jonka voi käynnistää ohjelman omasta ikkunasta HELP -nappulasta. Se käynnistyy myös komennolla (esim) help format, jolloin se antaa neuvoja format -nimisestä funktiosta.

Nämä samat yksityiskohtaiset funktiokohtaiset ohjeet ovat myös ohjeet HTML-muotoisina kopioitu erikseen tavanomaisella verkkoselaimella luettaviksi. Kumpiakin (keskenään samansisältöisiä) ohjeita voi kuitenkin käyttää vasta, kun on saanut joltisenkin tuntuman itse ohjelmaan ja sen käytäntöihin.

Aluksi kannattaa käynnstää ikkunan yläosan valikosta Demos -nappulasta ohjelman perusasioiden läpikäynti (joita asioita on varsin vaikea löytää yksityiskohtaisista ohjeista). Tämäkin on uuvuttava kokonaan läpikäytäväksi. Huomaa kuitenkin muutamia asoita:

(1) Ohjelma on tulkki, siis se suorittaa samantien sille annetut komennot ja tallettaa muuttujien arvoja, kun niitä on asetettu.

(2) Tärkeitä muuttujatyyppejä ovat ainakin tavalliset reaaliluvut, vektorit ja matriisit. Kokonaisluvut ovat vain reaalilukuja. Suuria ja itseisarvoltaan pieniä esitetään kymmenen potenssien avulla (jossa 10:tä edustaa E), esim.

        1.0E-2
     tulos: 0.01

Konstruktiolla 1:5 saadaan vektori, jossa on alkiot 1, 2, 3, 4, 5. Tavallinen vektori on matriisi, jossa on yksi rivi ja monta saraketta. Muuttujille voi antaa arvoksi vektoreita ja matriiseita, joilla aritmetiikkaa suoritetaan monissa tapauksissa alkioittain, esim.

         x = [2 4 6]
     tulos:   x = ! 2. 4. 6. !
         z = x + 3
     tulos:   z = ! 5. 7. 9. !
         y = 1:3
     tulos:   y = ! 1. 2. 3. !
         x + y
     tulos:   ! 3. 6. 9. !

Matriisin, siis myös vektorin, rivit ja sarakkeet voidaan vaihtaa keskenään eli transponoida liittämällä yksinkertainen lainausmerkki perään siis x'. Matriisien kertolasku on tavanmukainen (ei alkioittain vaan matriisitulon kaavalla).

         x * x'
     tulos:   56

Jos kuitenkin haluaisi laskea edellä mainitusta vektorista alkioittaiset neliöt, sekin on mahdollista:

         x .* x
     tulos:   [4 16 36]

Vakioista koostuvia vektoreita tai matriiseja saa seuraavasti:

         ones(1:5)
     tulos:    [1 1 1 1 1]
         7*ones(1:5)
     tulos:    [7 7 7 7 7]
         zeros(1:3)
     tulos:    [0 0 0]

(3) Imaginääriyksikkö merkitään: %i . Pi merkitään %pi ja e merkitään %e .

         c = %i
     tulos:   c = i
	 c * c
     tulos:   -1.0
         d = 2 + 3*%i
     tulos:   2+3i
         real(d)
     tulos:   2.0
         imag(d)
     tulos:   3i
         %e**(%pi*%i)
     tulos:   -1.0   (lähes tarkkaan)

(4) Funktion tai pistejoukon kuvaajan voi piirtää komennolla plot2d(...). Tämän rutiinin käytöstä saa tietoa yllä mainitusta HTML-muotoisista ohjeita, ja kannattaa myös katsoa sieltä, jotta ohjeen käyttö tulee tutummaksi. Piirtäminen suoritetaan kahden vektorin avulla, joista edellinen antaa pisteiden x-koordinaatit ja jälkimmäinen y-koordinaatit. Esimerkki:

       x = (0:99)*2*%pi/100
       plot2d(x,sin(x))

(5) Ruudulle piirretyn kuvan saa osaksi LaTeX-dokumenttia piirrosikkunan FILE-valikon EXPORT-vaihtoehdon kautta. Valittavina on eri vaithtoehtoja, joista PostScript-LaTeX tuottaa kaksi erillistä tiedostoa, joista toinen on pätkä LaTeX-koodia osaksi dokumenttia ja toinen on EPS-muotoinen kuvatiedosto, jonka edellä mainittu dokumentin osanen sijoittaa kuvaksi dokumenttiin.

3. Ohjelman käyttöä koskevat rajoitukset

Ohjelma on omalla avoimella lisenssillään käytettävissä, mikä takaa vapauden kopioida ja muuttaa ohjelmaa, kunhan noudattaa kyseisen lisenssin ehtoja (jonka mukaan muutetun ohjelman käyttöä kaupallisiin tarkoituksiin tosin rajoitetaan). Alkuperäisellä ohjelmalla laskettujen tuloksien käyttöä ei kuitenkaan ole erikseen rajoitettu. (Mutta laitoksen ja yliopiston tietokoneiden ja verkkojen säännöt ja rajoitukset koskevat tietysti käyttöä täällä.)

Ohjelma on vapaasti ladattavissa omalle koneelle osoitteesta http://scilabsoft.inria.fr/ sekä Linux- että Windows-versiona.

4. Ohjelman alkuperä ja kirjallisuutta

Ohjelman ovat kehittäneet ranskalaiset Institut national de recherche en informatique et en automatique (INRIA) ja École nationale des ponts et chaussées (ENPC). Ilmeisenä esikuvana on ollut kaupallinen MATLAB-ohjelmisto, jonka toiminnoista suuri osa löytyy myös SCILABista.