Matlab-asiaa, sisällysluettelo

Sekalaisia huomioita Matlabista

Ohjelmien debuggaus

Helppo tapa saada välituloksia ohjelmasta on jättää puolipiste pois sopivien rivien lopusta. Tällöin toiminta ei muutu, mutta ohjelma tulostaa kyseisten rivien aikana saadut tulokset.

Ohjelman toimintaa kannattaa testata ensin yksittäisellä luvulla ja sitten useamman luvun muodostamalla vektorilla. Jos luku toimii, mutta vektori ei, on vika hyvin todennäköisesti puuttuva piste jonkin operaattorin edestä. Matlabissahan A*B tarkoittaa matriisituloa ja A.*B tuloa alkioittain. Vastaavasti jakolasku ja potenssiinkorotus alkioittain pitää merkitä ./ ja .^ .

(Tämä kappale ei suoranaisesti liity kurssiin...) "Debuggaus" tarkoittaa virheiden etsimistä ohjelmasta. Tarinan - ilmeisesti urbaani legenda - mukaan ensimmäisissä releillä toimivissa tietokoneissa releen kielten väliin saattoi mennä ötököitä, engl. "bug". Ensimmäiset tietokoneohjelmien virheet olivat siis bugeja ja niiden poistamista kutsuttiin nimellä "debug". Sana on vakiintunut käyttöön, nykyisistäkin ohjelmointiympäristöistä löytyy "debug windows" tms.

Vektorien generointia

Kätevin tapa kokeilla funktioita eri kokoisilla vektoreilla on tällainen:
k=-5; x=-10^k:10^(k-3):10^k

Ylläoleva käsky muodostaa vektorin väliltä -0.00001..0.00001 siten, että alkioita on yhteensä 1001. Muuttamalla vakion k arvoa saadaan vektori pienemmältä tai suuremmalta väliltä nollan ympäriltä.

Tekstin kirjoittamisesta ja tallennuksesta

Matlab ei ole tekstin tuottamiseen soveltuva ympäristö sillä tavalla kuin Mathematica on. Raportti pitää siis kirjoittaa jollakin soveltuvalla ohjelmalla, esimerkiksi Wordilla tai LaTeXilla. Myös Mathematica kelpaa tähän, tosin samassa mikroluokassa ei ole Mathematicaa ja Matlabia.

Matlabin komentoikkunan sisällön tallentamiseen jälkikäteen ei ole mitään helppoa tapaa. Tarvittaessa kopioikaa teksti leikepöydälle ja sieltä johonkin tekstinkäsittelyohjelmaan. Komennolla diary voi käskeä Matlabin tallentamaan kaiken siitä eteenpäin tulostamansa myös tiedostoon. Lisätietoja tästä saa komennolla help diary.

Komentojahan ei tarvitse palauttaa raportin mukana, joten ainoa tarve niiden tallentamiselle on omat muistiinpanot seuraavaa harjoituskertaa varten. Kuvia sen sijaan raporttiin haluan, ja niitä saatte helposti kuvioikkunassa valikkokomennolla Edit / Copy Figure. Tämä kopioi kuvan leikepöydälle, josta sen saa liitettyä vaikkapa Wordiin.

Funktiotiedostoista

Matlabissa yhtä käytettävää funktiota vastaa yksi tiedosto. Harjoitustöissä siis jokaisessa tiedostossa on vain yksi function-sana. Funktion toiminta voitaisiin jakaa apufunktioihin, jolloin samassa tiedostossa olisi useita function-sanoja. Apufunktioita ei tämän kurssin harjoitustöissä tarvita. Mainitsen asian tässä, koska tämä on syy siihen, ettei useamman funktion määrittelystä samassa tiedostossa anneta virheilmoitusta.

Oletusarvoisesti Matlab etsii funktiotiedostoja hakemistosta
C:\Ohjelmatiedostot\Matlab\bin. Tämän hakemiston sisältö kannattaa tyhjentää, kun aloittaa työskentelyn.

Mikäli haluaa käyttää muussa hakemistossa olevia tiedostoja, pitää käyttää cd-komentoa Matlabin komentoikkunassa. Esimerkiksi komennon cd c:\mkoodia jälkeen Matlab nähdessään funktiokutsun varianssi([3 6 4]) etsii hakemistosta mkoodia asemalta c: tiedostoa varianssi.m.

Työskentelmistä levykkeeltä käsin en suosittele sen paremmin Matlabin kuin muidenkaan ohjelmien yhteydessä. Tallentakaa tiedostot kovalevylle, esim. työpöydälle, ja siirtäkää ne lopuksi levykkeelle tai mieluiten kotihakemistoonne.