[
Pääsivulle |
How to start with Matlab in English ]
URL IN ENGLISH: http://www.cis.hut.fi/Opinnot/T-61.3010/how_to_start_with_matlab.shtml
SIVUN OSOITE: http://www.cis.hut.fi/Opinnot/T-61.3010/kuinka_aloitan_matlabin.shtml
versio 2008-01-17 FIN
SISÄLTÖ:
Kuinka aloitan työskentelyn Matlabilla
Ohjeet tehty Windowsia varten,
unix/linux ohjeet vihreällä
sekä erikseen muutamia eroja listattuna
viimeisessä kappaleessa ennen esimerkkejä.
Ympäristönä TKK, ohjeet päivitetty tammikuussa 2008,
sovelluskohteena signaalinkäsittely (ääniominaisuudet!).
Katso siis myös kurssin
T-61.3010 Matlab-laskarit.
Matlabin avaamalla pääsee sen omiin tutoriaaleihin.
Valitse
Help - Matlab help tai komentoriviltä
kirjoittamalla
doc. Vasemman sarakkeen listasta
voi valita "Getting Started"-osioista niin perus-Matlabin
kuin kunkin toolboxin käyttöön. Dokumentaatio on runsasta
ja sisältää myös "täysin teoria-ainestakin", joten
itseopiskelu on miellyttävää.
Muita lähteitä itseopiskeluun ovat
Säätömaation kurssi AS-74.1106 (katso kohta Aikataulu
ja sieltä luentokalvot sekä tehtävät) ja
siihen liittyvä Matlab-kirja (kirjakaupasta) sekä
opas
Heikki Apiolalta ja Marko Laineelta.
Englanniksi löytyy mm.
Wikikirja Matlabin käyttöön (ei vielä kovin kattava
toukokuussa 2008).
Aivan aluksi tämän kurssin ensimmäisellä harjoituskerralla
- Luo työhakemisto näitä laskareita varten.
Luo Windowsissa alihakemisto esimerkiksi Z:\DT2007 ja
kierroskohtainen hakemisto Z:\DT2007\Matlab1\.
(Windows-verkossa jokaisella on olemassa henkilökohtainen
hakemisto, johon Z:\ osoittaa. Klikkaa siis "My Computer"
ruudun vasemmasta yläreunasta ja sieltä levy Z:\.)
Linuxissa pelkkä cd palauttaa kotihakemistoon,
josta sitten mkdir ~/DT2007 ja mkdir ~/DT2007/Matlab1/ ja
mene tuonne kierroskohtaiseen hakemistoon cd ~/DT2007/Matlab1/.
- Avaa Matlab. Windowsissa Start-Programs-Matlab7.
Linuxissa "use matlab", "matlab-keyfix", "matlab &".
Jos haluat/tarvitset toimia Linuxissa ilman Java-härpäke-käyttöliittymää,
voit kirjoittaa myös "matlab -nojvm" tai "matlab -nodesktop".
Alkuasetukset Matlabissa joka istunnon aluksi
- Jos harjoituksissa tarvitaan kuulokkeita tai mikrofonia,
käytä omia tuomiasi tai hae assarilta. MUISTA PALAUTTAA TUNNIN LOPUSSA -
älä jätä headsetiä kiinnii koneeseen.
- Hae kurssin Laskarit-sivulta
tarvittavat tiedostot, tallenna ja pura ne oikeaan kierroskohtaiseen alihakemistoon.
- Vaihda Matlabissa työhakemistoksi "Current Directory"
kyseinen oma kierroskohtainen alihakemisto: voit kirjoittaa
ylhäällä keskellä olevaan laatikkoon tai klikata vieressä olevia nappeja
ja valita sieltä oikea hakemisto. Voit myös kirjoittaa
komentoikkunaan cd .
- Jos työpöytäsi on jotenkin "outo", voit palata perustilaan
klikkaamalla "Desktop-Desktop layout-Default"
- Käyttöliittymän vasemman puolen ylempään ikkunaan kannattaa ottaa
välilehti "Workspace". Tämä näyttää aktiivisena olevat muuttujat.
(Tai sitten tilanteesta riippuen "Current Directory", joka
näyttää mitä tiedostoja on työhakemistossa.)
- Jos tarvitset muuttaa fonttikokoa, niin "File-Preferences"
Jokaisen Matlab-istunnon lopuksi
- Palauta mahdolliset kuulokkeet takaisin assarille
- Tehtäväpaperin alussa on lista, mitä Sinun pitäisi "osata"
Matlabista ja signaalinkäsittelystä kierroksen jälkeen.
Katso ja puntaroi, onko näitä haasteita käyty läpi mielestäsi.
- Joskus assari kuulee jälkikäteen (=toukokuussa:
"... Matlab-laskareissa
oli hirveä kiire ja kaikki aika meni kopiointiin, eikä ehtinyt
yhtään ajatella.... Myönnän, usein tottakin. Mutta:
- Haluan, että koodia tulee kirjoitetuksi,
koska silloin tulee virheitä ja virheilmoituksia.
Jos virheilmoitus on outo, niin assari toivon mukaan osaa sanoa,
mistä se johtuu ja sen jälkeen osaat Sinäkin.
- Matlab-istunnoissakin on yleensä 20-30 ihmistä,
ja toiset osaavat olla "kyseleväisempiä" kuin toiset.
Assari yrittää parhaan mukaan kiertää kaikki koneet
läpi ja kysellä mahdollisista ongelmista.
Aika ei vaan aina riitä, mutta tehtävät, materiaali
ja (kenties jälkikäteen) tulevat assarin kommentit mahdollistavat
jonkinlaisen omaehtoisen työskentelyn myöhemmin.
Yleensä tehtäväpaperiin voi tutustua etukäteen
kurssin nettisivulla
- Jos istunto jäi väliin tai jäi tunne, ettei mitään jäänyt
käteen: kurssin nettisivuilla on tehtävät ja osin myös ratkaisutkin
(jälkikäteen?). Harjoitustyötä varten järjestetään Matlab-vastaanottoja,
joille voi ilmoittautua ja tulla.
- Voit keskustella asiasta nyyssiryhmässä
opinnot.tik.t613010, jonka saa auki esimerkiksi
selaimeen kirjoittamalla news://news.tky.hut.fi/opinnot.tik.t613010
tai kirjoittamalla suoraan kurssin sähköpostiin
t613010 (--) cis hut fi
- Voit antaa anonyymiä palautetta niin harjoituksista kuin
muustakin täältä
Perustyöskentely Matlabissa
- Käyttöliittymän suurin kenttä on oikealla oleva
"Command window". Tänne voi antaa komentoja. Esim. "x = 5",
paina enter, "y = 3 + x", paina enter ja saat tuloksen
- Jos rivin / komennon lopussa on puolipiste (";"), niin
ikkunaan ei tulostu mitään. Jos lue pitkän muuttujan,
unohdat puolipisteen ja ruudulla rullaa numeroita, voit
katkaista control-c:llä ja lisätä puolipisteen sitten.
- Komentorivityöskentelyä voi nopeuttaa monin tavoin:
nuolilla ylös/alas etsitään edellisiä komentoja komentohistoriasta.
Kirjoittamalla pari kirjainta rajaa hakua tehokkaasti.
Tabulaattori täydentää ja ehdottaa mahdollisia komentovaihtoehtoja.
- Komentoriviltä saa nopeaa apua funktioihin
komennolla "help funktionnimi". Tai "help help"
- Hyvän dokumentaation esimerkkeineen ja demoineen
saa kirjoittamalla "doc funktionnimi". Löytyvät toki
myös valikoista valitsemalla.
- Komento which funktionnimi antaa
tiedon missä hakemistossa komento sijaitsee.
Matlabissa on samannimisiä komentoja, joten joskus
on syytä selvittää, mitä niistä käytetään.
- Koodi kannattaa kirjoittaa skripti- ja funktiotiedostoihin,
kts. seuraavat kohdat.
- Mathworks:n www-sivuilta löytyy paljon lisää.
Työskentely Matlabin omalla editorilla
Miksi kannattaa kirjoittaa kaikki koodi Matlabin editoriin?
- Oma työ tulee dokumentoitua edes koodin muodossa.
Mahdollisuus lisätä kommenttirivejä niin paljon kuin lystää.
Kommenttia on kaikki "%" merkin oikealla puolella oleva.
- Vanhaa koodia on helppo ajaa uudestaan.
Vanhaa koodia on helppo korjata ja modifioida.
- Matlabin editorissa on koodin automaattiset sisennykset
ja värikoodaukset yms. syntaktisten
virheiden etsimiseen.
- Matlab voi kaatua tai jäädä muuten juntturaan.
(Tämä tulee aina jossain vaiheessa väistämättä eteen.)
Tällöin on helppo palata takaisin ajan tasalle.
- Monet muutkin editorit, kuten Windowsin "jedit" ja
Unixin "emacs"
tukevat Matlab-koodin kirjoittamista.
- Editorista voi kooditiedostota generoida html/latex/doc-tiedoston,
kun käyttää "Cell mode" ja "Publish", kts. seuraava kohta.
Miten käytän Matlabin editoria?
- Komennolla "edit" voit aukaista Matlabin oman editorin.
- Tallenna tiedosto säännöllisin väliajoin.
Tiedoston päätteenä pitää olla ".m". Vältä välilyöntejä.
Aloita tiedostonnimi kirjaimella.
- Valitse editorissa valikosta "Cell -- Enable Cell Mode".
Solu (cell) tai paremminkin lohko (block) on alue koodia, jonka erottaa
kaksi prosenttimerkkiä rivin alussa.
Tällöin tulee yksi uusi nappularivi, jossa
nappulat "Publish" (julkaise), "Execute cell" (aja lohko),
"Execute cell and advance" (aja lohko ja etene seuraavaan lohkoon)
ja "Execute all" (aja koko tiedosto).
- Voit myös maalata haluamasi alueen koodia
ja ajaa sen alueen pelkästään:
joko oikea hiiri ja "evaluate selection" tai
näppäin F9.
- Voit antaa kullekin lohkolle otsikon ja
siihen kommenttitekstiä. Katso tarkemmat ohjeet
Matlabin omasta opastuksesta ("cell mode")
tai esimerkistä 4 tämän sivun alareunassa.
- Editori sisentää koodia. Alueen voi maalata hiirellä ja oikean
hiiren näppäimen valikosta sille voi tehdä sisennyksen uudestaan
("smart indent").
- Voi runoilla pitkät pätkät tekstiä,
maalata alueen hiirellä ja oikean
hiiren näppäimen valikosta sille voi tehdä kommentoinnin
("comment / uncomment") yhdellä kertaa.
- Kannatta kirjoittaa yksi komento tai yksi laskutoimitus
per rivi. Samalle riville voi antaa useitakin, kun ne erottaa
puolipisteellä toisistaan, mutta luettavuus voi kärsiä.
Jos koodirivi alkaa venyä ja venyä, voit kirjoittaa kolme pistettä "..."
ja jatkaa uudelta riviltä, editori sisentää tällöin koodia.
- Jos klikkaat rivinumeroa, asetat ns. "breakpointin"
eli siirryt debuggaamaan koodia. Saat pois klikkaamalla
pallukkaa uudestaan. Jos komentoikkunaan tulee kehoitukseen
">>":n sijasta "K>>", niin olet päätänyt debuggaus-tilaan.
Voit kirjoittaa komentoriville dbquit eli haluat lopettaa
debuggaamisen.
(Debuggaus = virheiden etsintä ja "profilointi" =
suoritusnopeuden parantaminen ovat sitten kokeneemman
koodaajan työkaluja.)
Matlabin skriptit ja funktiot
Skriptit (eli makrot) ja funktiot ovat tekstitiedostoja, joiden
pääte pitää olla ".m". Ne ovat hyvin samankaltaisia.
Ensimmäinen ero on, että funktion pitää alkaa tietyllä rivillä
("function ...").
Toinen ero on se, että funktiolla on oma sisäinen
muistiavaruus (johon viedään ja josta saadaan arvoja
parametrien avulla), kun taas skripti toimii
Matlabin "pääohjelman muistiavaruudessa" ("workspace").
Älä nimeä omaa funktiota tai skriptiä nimellä, joka on
jo Matlabin käytössä, esim.
fourier tai
fft. Matlab etsii ensin komentoa työhakemistosta
ja sitten muusta polusta.
Funktio
Hyvä tapa, kun pitää toistaa jotain asiaa usein.
Funktio on ns. m-tiedosto, joka toteuttaa jonkun funktion:
[ |---------| ]
[ argumentti/argumentit --> | FUNKTIO | --> palautettava arvo/t ]
[ |---------| ]
Tiedosto alkaa rivillä
function [outputs] = fun_name(inputs)
missä varattu sana "function", hakasuluissa
kaikki funktion palauttamat muuttujat pilkulla erotettuina,
yhtäsuuruusmerkki, funktionnimi (sama kuin tiedostonnimi ilman .m)
ja normaaleissa suluissa
pilkulla erotettuina sisääntulevat muuttujat.
Esimerkki 2 tämän sivun alareunassa.
Toisesta rivistä eteenpäin voi rivin aloitta prosenttimerkillä
ja kertoa miten funktiota kutsutaan, mitä se tekee ja
mitä se palauttaa. Kun tällöin komentorivillä etsii
apua "help fun_name", niin näytölle tulostuvat rivit 2-N
omine aputeksteineen. Katso
esimerkkiä 2.
Ajetaan Matlabin komentoikkunasta tai skriptistä vastaavasti
[tyotilan_outputit] = fun_name(tyotilan_inputit);
Skripti
Ns. m-tiedosto, jossa komentoja rivi toisen jälkeen.
Matlab lukee rivin, ajaa sen ja menee seuraavalla riville.
Siksi puhutaan skriptistä tai makrosta tai batch-ajosta.
Tiedosto luodaan esimerkiksi Matlabin omalla editorilla tai
millä tahansa tekstinkäsittelyohjelmalla, tallennetaan
tekstimuodossa tiedostoksi file.m, jossa "file" on haluamasi,
kuvaava tiedostonimi.
Ajetaan Matlabin komentoriviltä "file" ilman .m.
Voidaan ajaa myös Matlabin editorista solu (=lohko)
kerrallaan tai kaikki kerralla.
Hyvä tapa tallettaa koko työskentely.
Esimerkki 3 tämän sivun alareunassa.
Funktioiden ja skriptien muistiavaruus
Funktiolla on oma muistiavaruus. Tarkastellaan esimerkkinä
seuraavaa funktiota, joka palauttaa aina lukuarvon 99.
function [y] = dummy(x)
x = 0;
y = 99;
Jos komentoikkunassa tai erillisessä skriptissä
ajetaan seuraavat rivit
x = 42;
y = dummy(x);
x
niin viimeisen rivin x:n arvo on edelleen 42
eli funktiossa oleva x on eri asia kuin työtilassa
("workspace") oleva x.
Toisaalta skriptien kanssa voi tulla ongelmia,
jos ei muista, että muuttujat ovat yhteisiä.
Komentoriviltä saattaa "kokeilla" joitakin eri
muuttujan arvoja, eikä sitten skriptiä ajaessa muista,
että muuttuja on päivitetty. Tällaisissa loogisissa
virheissä usein auttaa se, että sanoo "clear all"
joka poistaa kaikki työtilan muuttujat. Tämän jälkeen
mahdollinen virheilmoitus on helppo tunnistaa.
Virheistä
Tyypillisiä virheilmoituksia
Virheilmoitukset tulevat punaisella värillä
komentoikkunaan (Command window). Jos ajat koodia
tiedostosta, niin mukana tulee myös
rivinumero, jonka
perusteella virheen voi paikallistaa.
- ??? Undefined function or variable 'x'.
Määrittelemätön funktio tai muuttuja 'x'.
Olet kenties pyyhkinyt muuttujan pois tai funktiosi ei ole
työhakemistossa.
- ??? Subscript indices must either be real positive integers or logicals.
Indeksimuuttuja pitää olla positiivinen kokonaisluku.
Matlabissa vektorin indeksointi alkaa 1:stä, ei nollasta!
- ??? Index exceeds matrix dimensions.
Vektorin tai matriisin indeksi ylittää dimensiot.
Esimerkiksi for-loopissa menet liian pitkälle ja yrität
lukea vektorista olematonta arvoa, vaikkapa x(5), kun x:ssä
on vain neljä arvoa x = [3 2 7 3].
- Kaikki virheilmoitukset, joihin sisältyy viittaus
tiedostoon polussa
Q:\ ...
liittyvät TKK:n Vista/SoftGrid-asennusongelmiin (kevät 2008).
Kätkömuistiin ("cache") on jäänyt jotain virheellistä
ja ohjelma ei toimi oikealla tavalla. Tämä on konekohtaista,
ei käyttäjäkohtaista.
Googlaa virheitä
Googlaus auttaa usein, koska 99.9999% todennäköisyydellä
et ole ensimmäinen, joka on saanut vastaavan virheen toimiessaan
Matlabilla (tai millä tahansa tietokoneohjelmalla tai ohjelmointikielellä).
Maalaa virheilmoitus ja googlaa sitä. Esimerkiksi
??? Index exceeds matrix dimensions
palauttaa useimmiten relevantteja sivuja. Lisäksi jos kyseessä
on oikeasti bugi, niin MathWorksin Support Center kertoo siitä
(yleensä myös googlauksessa korkealla).
Muita yleisiä virheitä tai ongelmia
- Kopioitko koodin suoraan PDF:stä? Katso kohtia,
joissa on tekstiä hipsuissa "title('Otsikko');"
Hipsun "'" pitää olla merkki joka löytyy enterin vierestä
"*":n kanssa samasta näppäimestä.
- muuttujanimet pitää alkaa kirjaimella, ei numerolla.
Älä myöskään käytä välilyöntejä tai miinusmerkkejä yms.
Vältä Matlabin valmiiden funktionimien käyttämistä
muuttujaniminä.
- (riippuen käyttöjärjestelmästä) pienet ja
isot kirjaimet ovat eri asia! Koska jossain ne
voidaan vielä tulkita eri tavoin, kannattaa eri
muuttujat erottaa muutenkin kuin vain kirjaimen
suuruuden perusteella.
Unix on case-sensitive
- kurssin www-sivuilta hakemasi ja purkamasi
funktiot eivät löydy -- tarkista, että olet
siirtynyt työhakemistoosi ja kyseiset tiedostot
ovat samassa hakemistossa. (Mahdollisuus myös
liittää polkuun, kts. "addpath" tai klikkailemalla.)
Ääniominaisuuksien testaaminen
Voit varmistaa, että äänet toimivat Matlabin kautta
seuraavilla komennoilla:
load train % lataa muuttujat y ja Fs Matlabin valmiista tiedostosta train.mat
soundsc(y, Fs) % pitäisi kuulua junapillin puhallus
Jos ääntä ei kuulu:
- olethan liittänyt kuulokkeesi oikeaan reikään? Yleensä vihreä,
mahdollinen mikrofoniliitäntä punaiseen, mutta voi jättää liittämättäkin.
Liitännät löytyvät useista koneista myös etupaneelista.
- tarkista Windowssin oikean alanurkan palkista, onko kuulokeikonin
päällä punainen rasti. Jos on, niin kaikki äänet on vaimennettu "Mute all".
Tuplaklikkaa ikonia ja poista ensimmäisen liukukytkimen alta rasti kohdasta
"mute all". Tarkista samalla äänitaso.
- liititkö kuulokkeet omaan koneeseesi vai viereiseen koneeseen?
- antoiko Matlab jonkun virheilmoituksen "this hardward does not support audio"
tai vastaavaa? Joskus tietokoneesta puuttuu äänikortti tai se on rikki.
- ovatko kuulokkeet rikki? Kokeile toisia kuulokkeita
Ääntä nauhoitettaessa:
- Avaa Windowsissa esimerkiksi "ääninauhuri", Programs-Accessories-Entertainment-Sound Recorder
- Aseta äänitystaso sopivaksi käyttöjärjestelmän audiopaneelista.
Windowsissa tuplaklikkaa oikean alareunan kaiutinikonia, valitse
"File-Properties-Recording" ja sieltä mikrofonin voimakkuus.
Usein mahdollisuuksena myös lisäasetuksissa "Boost".
- Puhu sopivalta etäisyydeltä mikrofoniin nähden.
- Valitse riittävä näytteenottotaajuus ja bittitarkkuus.
Oletuksena saattaa olla 8 kHz, mono (1 kanava) ja 8 bit/näyte.
Meidän tarkoituksia varten 22 kHz, mono ja 16 bit/näyte on hyvä,
8 bit/näyte riittää, jos varmistaa äänitystason oikeaksi.
- ...liian hiljaa...: signaali-kohinasuhde on huono,
kvantisointi näkyy signaalissa etenkin, jos käytetty 8bit/näyte.
Puhu kovempaa, puhu lähempää tai säädä mikrofonin voimakkuutta kovemmalle.
- .. LIIAN KOVAA ..: signaaliarvot menevät
yli rajojen (särö), signaali vääristyy
Matlabin eroja Windowsissa ja Unixissa
Tässä kerättynä:
- käynnistys Unixin tapaan + matlab-keyfix
- Unixille muuttujat x ja X
ovat eri asia, Windowsissa ne ovat samat.
Jos siis teet Unixissa oman ohjelman,
jossa käytät kahta eri muuttujaa x ja X,
niin homma menee puihin, kun ajat saman koodin Windowsissa.
Muuten Unix-Matlab ja Windows-Matlab toimivat aikalailla
yksi yhteen.
- Unix-Matlabeissa useasti käytetään vain ja yksinomaan
näytteenottotaajuutta 8192 Hz, joka aikaansaa sen, että
"kaikki" äänitiedostot kuulostavat mörinältä. Voit käyttää
funktiota mysoundsc.m,
joka toimii kuten soundsc, mutta kirjoittaa äänivektorin
ensin tiedostoksi ja ajaa äänitiedoston käyttöjärjestelmästä.
TKK:n Matlab-lisenssit ja Matlab omaksi?
Matlabin kotisivuilta löytyy kohta "Academic" ja
sieltä tarjoukset, paljon Matlab maksaa kotikoneelle.
Yleensä siellä on perus-Matlab ja sen päälle joku
pieni kokoelma toolboxeja. Lisäksi Otaniemen kirjakaupassa
näyttää olevan myynnissä Matlab-opiskelijalisenssipaketteja,
joissa on mukana Signal Processing Toolbox (kevät 2008).
Osan Matlab-koodista voi onnistuneesti ajaa myös
ilmaisessa
Octavessa.
TKK:lla on Matlab-lisenssipalvelin, johon yksittäinen
kone ottaa yhteyttä, kun Matlab avataan. TKK:lla on tietty
määrä "kelluvia lisenssejä" perus-Matlabiin ja sen kaikkiin
toolboxeihin (komento
ver näyttää). Samoin kun
Matlabin sisällä käytetään komentoja, jotka kuuluvat
tiettyyn toolboxiin, niin lisenssi varataan kyseisen
toolboxin osalta. Lisenssi vapautetaan tietyn ajan
(tunteja ilman käyttöä) jälkeen tai kun käyttäjä lopettaa
Matlabin käytön itse.
Signal Processing Toolboxiin TKK:lla on 150 lisenssiä,
jotka yleensä riittävät jopa harjoitustyökauden
kriittisimmillä hetkillä. Toisinaan ne eivät riitä,
jolloin Matlab herjaa siitä virheilmoituksella.
Tällöin pitää vaan kiltisti odottaa ja kokeilla
uudetaan vähän ajan päästä, josko joku on lopettanut käytön.
Toiseen suodinsuunnitteluun liittyvään toolboxiin
on vain 14 lisenssiä TKK:n laajuisesti. Näin ollen
sitä ei voida käyttää Matlab-laskareissa tai harjoitustyössä.
Kurssin Matlab-funktioita
Näitä funktioita
voi vapaasti käyttää kurssin harjoituksissa
ja harjoitustyössä.
Esimerkkikoodia
Esimerkki 2 - m-funktio
Alla tiedosto getdeg.m, joka laskee kompleksiluvun z = x+yj
kulman asteissa.
function [deg] = getdeg(z)
% GETDEG laskee kompleksiluvun z = x+yj kulman asteissa.
% Käyttö: [deg] = getdeg(z)
% Jukka Parviainen, 2007-01-26
% (HUOM! Välissä yksi rivi ilman %-merkkiä, joten
% nämä eivät enää tulostu "help getdeg":issä.)
x = real(z);
y = imag(z);
deg = 180 * atan(y/x) / pi;
Kirjoita seuraavat rivit yksi kerrallaan
Matlabin komentoikkunan kehotteeseen (prompt)
ja katso mitä saat
help getdeg
getdeg(3+4j)
[degrees] = getdeg(3+4j);
degrees
Esimerkki 2b: Useammat muuttujat erotetaan pilkulla.
Huomaa myös, että funktion sisäiset nimet eivät näy varsinaiseen
työtilaan.
function [c2, d2] = tuplaa(c, d)
% TUPLAA
% [c2, d2] = tuplaa(c, d)
c2 = 2*c;
d2 = 2*d;
jolloin tätä funktiota voi kutsua mm.
x = 5;
tuplaa(4, x); % ei tulosta mitään, koska ";" rivin lopussa
tuplaa(4, x) % tämä tulostaa vain ensimmäisen ulostulomuuttujan
[tuplaA, tuplaB] = tuplaa(4, x); % tästä molemmat ulostulot 8 ja 10
[tuplaC, tuplaD] = tuplaa(x+2, x-1); % tästä molemmat ulostulot 14 ja 8
Esimerkki 3 - m-skripti
Alla tiedosto matlab_start_3.m
%% Tiedosto matlab_esim3.m
% Tallennan tähän tiedostoon harjoitukseni 2007-01-26
%% Esimerkki 2 - skriptin kutsuminen
% Valmiina skriptitiedosto getdeg.m.
z = 3 + 4j;
[degrees] = getdeg(z);
disp(['Kulman suuruus on ' degrees]);
Yllä olevassa käytettiin koodin lohkorakennetta
("cell mode"). Voit ajaa koodia lohko lohkolta tai generoida
dokumentin koodin perusteella. Katso esimerkkiä 4.
Esimerkki 4 - miten hyödynnän "soluja" koodin kirjoituksessa
Kun avaat Matlabin editorin komennolla "edit" ja
valitset sitten valikosta "Cell-Enable Cell Mode",
niin voit hyödyntää "soluja" koodin kirjoittamisessa
ja julkaisemisessa.
Solu (cell) tai paremminkin lohko on alue koodia, jonka erottaa
kaksi prosenttimerkkiä rivin alussa.
Alla tiedosto matlab_start_4.m
%% Esimerkki 4 --
% Tämä tiedosto demoaa
%
%
%% Otsikko 1
% ksdf
x = 5;
y = x + 3;
% Lasketaan vielä z
z = x + y
%%
% Tässä siis kahdella prosenttimerkillä
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Tässä taasen huomataan, että lohkon erottimena
% on siis kaksi prosenttimerkkiä JA välilyönti
%% Otsikko N
%
% koodia
Voit ajaa koodia editorissa lohkon,
lohkon kerrallaan ja edetä seuraavaan
tai ajaa koko tiedosto kerralla läpi.
Julkaisunappula tuottaa dokumentin
joko html- (oletus html), latex- tai
doc-muotoisena. Lukuisia viritelmiä valikkokohdassa
"File-Publish". Esimerkki julkaistusta dokumentista ja
siihen liittyvästä koodista.
[
Pääsivulle | How to start with Matlab in English ]