%% Alkuunpï¿½ï¿½sy
% <./Tutoriaali.html [Ylï¿½s alkusivulle]>
%
% <html>
% <a name=alku> . </a>
% </html>
%%
% Tï¿½mï¿½ luku johdattelee Matlab-ympï¿½ristï¿½ï¿½n.
% help, doc, manuaalit, Mathworksin teksti- ja videodokut ...
% 
%
% This section serves as an intro to the Matlab environment and
% programming language as well as to this tutorial. It describes how to 
% configure and start using Matlab, search for help, and how to perform 
% file input and output.
%
%% Mikï¿½ on Matlab?
% Matlab on kokonainen ohjelmointiympï¿½ristï¿½, jonka ydinalue on numeerinen
% matriisilaskenta. Yksinkertaisimmillaan se toimii helppokï¿½yttï¿½isenï¿½ ja
% tehokkaana matriisilaskimena.
%
% Laskintyï¿½skentelystï¿½ pï¿½ï¿½stï¿½ï¿½n joustavasti siirtymï¿½ï¿½n korkean tason
% funktionaaliseen
% ohjelmointikieleen, jossa myï¿½s olipohjainen ohjelmointi on mahdollista
% (mutta ei pakollista).
%
% Matlabissa on helppokï¿½yttï¿½inen ja korkeatasoinen grafiikka matemaattisten
% funktioiden ja (suurtenkin) tietoainesten 2D- ja 3D-visualisointiin.
% Sen tehokas ohjelmointikieli yhdistettynï¿½ valtavaan kokoelmaan 
% valmiita funktioita ja "tyï¿½kalupakkeja" ("toolboxeja") antaa kï¿½yttï¿½jï¿½n
% kï¿½siin erinomaisen protyyppien rakenteluvï¿½lineen.
%
% Matlab ei nykyisin ole suinkaan pelkkï¿½ protoiluvï¿½line, vaan se tukee 
% myï¿½s suurteholaskentaa niin oman kielensï¿½ kï¿½ï¿½ntï¿½mis-, vektorinti-, 
% rinnakaislaskenta- ym. ominaisuuksien ansioista kuin kehittyneillï¿½
% liitï¿½nnï¿½illï¿½ esim. Fortran- ja C-kielisiin ohjelmiin. 
% Kannattaa myï¿½s huomata, ettï¿½ Matlab-tulkki suorittaa vektori- ja
% matriisioperaatiot kutsumalla optimoituja, kï¿½ï¿½nnettyjï¿½
% kirjastofunktioita. Matlab-kielelle luonteenomaisella vektoriajattelulla 
% saadaan 
% lyhyempï¿½ï¿½ ja tehokkaampaa koodia kuin
% silmukkaratkaisuilla, joita oikealla Matlab-tyylillï¿½ voidaan useissa
% tapauksissa vï¿½lttï¿½ï¿½.
%
% Matlab on ennen kaikkea numeerinen ohjelmisto, mutta sen 
% symbolilaskentaominaisuuksia on myï¿½s viime vuosina kehitetty 
% voimakkaasti "Symbolic toolbox":n puolella, jossa varsinaisina
% symbolilaskentakoneina toimii joko Maple tai Mupad.
%
% Esikuvana Matlab-kielelle toimii "kaikkien vektorikielien ï¿½iti": APL, ...
%%
% <html>
% <hr>  Kokeilua <hr>
% </html>
%%
% Kokeilua: Onko $\alpha$ muuttuja, vai mikï¿½?
%% Matlab:n kï¿½ynnistys
% Kaksoisklikkaa Matlab ikonia tai kirjoita *Matlab* 
% komentokehotteeseen (Unix). 
% Hetken odottelun jï¿½lkeen aukeaa Matlab-ikkuna, jonka oletusasu vaihtelee
% jonkinverran versiosta toiseen siirryttï¿½essï¿½.
%%
% <html>
% <img src="sessio1.PNG" height="600">
% </html>
%%
% Keskellï¿½ nï¿½kyy komentoikkuna, vasemmassa reunassa hakemisto- ja
% tiedostoluettelo, oikealla tyï¿½tilan muuttujaikonit ja sen alla
% komentohistoria. Yllï¿½ nï¿½kyy (hiukan heikosti) joukko komentoja, joilla on
% aikaansaatu erillisessï¿½ kuvaikkunassa nï¿½kyvï¿½ grafiikka. Matlab
% "desktop":n oletusasu voi hiukan vaihdella version mukaan, lisï¿½ksi sitï¿½
% voi oman mieltymyksen mukaan muutella ylï¿½nauhan "Desktop"-valinnalla.
%% 
% Komentoikkunassa voit ryhtyï¿½ laskemaan. Jos sinulla on Matlab kï¿½ynnissï¿½,
% ja kï¿½ytï¿½t oppaan lukemiseen Matlabin selainta,
% jï¿½rjestï¿½ komentoikkuna opasikkunan viereen. Kokeile maalata harmaassa
% laatikossa oleva koodi kokonaan tai osittain, ja paina F9 opasikkunan 
% puolella. (Muulla selaimella cut/paste.)
% 
format compact % Ei vï¿½lttï¿½mï¿½tï¿½n, lï¿½ysï¿½t pois laskujen tuloksista.
1 + 1 % Hyvï¿½ alku.
sqrt(2) % Esimerkki Matlab-funktiosta.
pi      % Erikoismuuttuja.
'Tekstiï¿½' % Merkkijono.
or(true, false) % looginen arvo. Myï¿½s or(1,0) tai 1 | 0
randn(2,2) % Satunnaislukumatriisi
x = 1:10; plot(x, x .^ 2, 'o-'); title('Paraabelimurtoviivan piirto') 
%%
% UNIX-ympï¿½ristï¿½ssï¿½ voidaan muistin sï¿½ï¿½stï¿½miseksi kï¿½ynnistï¿½ï¿½ komennolla
%
% *matlab* |-nojvm|      ( "No Java virtual machine". )
% 
% Tï¿½llï¿½in saadaan ruudulle pelkkï¿½ komentoikkuna, mutta grafiikka toimii
% kyllï¿½. Yleensï¿½ tï¿½hï¿½n ei ole tarpeen mennï¿½, siinï¿½ menetetï¿½ï¿½n aika 
% paljon kï¿½yttï¿½mukavuutta. X-etï¿½kï¿½ytï¿½ssï¿½ UNIX-tyï¿½asemalla tï¿½mï¿½ saattaa
% joskus pelastaa pï¿½ivï¿½n, jos tyï¿½skentely muuten kï¿½y tukkoiseksi.
% 
%%
%% Muuttujat
% Arvoja voidaan sijoittaa nimetyille muuttujille. Muuttujan nimet ovat
% hyvin vapaasti valittavissa, kunhan eivï¿½t ala numerolla. Myï¿½s
% skandiï¿½ï¿½kkï¿½set ja muut erikoismerkkit ovat tuhoon tuomittuja.
% (Sensijaan merkkijonomuuttujan sisï¿½ltï¿½mï¿½ssï¿½ tekstissï¿½ niitï¿½ saa olla.)
% *Sijoitus muuttujaan* suoritetaan |=| - merkillï¿½
%%
kuusi = 6
saa   = 'puolipilvinen'
kaksi   = log10(100)
2^10
log2(ans)  % Erikoismuuttuja ans, johon tallettuu edellisen, muuttujaan tallentamattoman laskun tulos
%%
% Matlab'n voima on matriisioperaatioissa. Sen nimikin on lyhennys termistï¿½
% "matriisilaboratorio".
%%
a = [1 2 3 4]  %  vektori
1:4            %  Lyhyemmin: (1:stï¿½ yhden vï¿½lein 4:ï¿½ï¿½n)
b = [1 2; 3 4] %  matriisi
c = ones(2,3,2) % 3-u taulukko 
%%
% *Erikoismuuttujia, matemaattisia vakioita*
%
% |ans|  edellisen komennon tulos (ellei sjoitettu muuttujaan)
1+1
%%
pi,eps,i,0/0, 1/0, realmax,realmin  % Tutki help:llï¿½
%% Tietotyypit ja -rakenteet
%
% <Matriisit.html  *Matriisioperaatioiden* tarkempi esittely tï¿½ï¿½llï¿½> .
% 
% Matlabin perustietotyyppi on  *real* - reaalinen liukuluku, jonka esitystarkkuus on n. 16
% kymmenjï¿½rjestelmï¿½n numeroa. Muita ovat  *logical*, *complex* ja erilaiset *integer* -
% tyypit. Kompleksilukujen reaali- ja
% imaginaariosat ovat tyyppia real. Yleensï¿½ tietotyypeistï¿½ ei tarvitse
% huolehtia, useimmin tarvittavat "huolet" lienevï¿½t konversiot tyyppien
% *logical* ja *real* vï¿½lillï¿½, joista tarkemmin tuonnempana. Erilaisten *integer*-
% tyyppisten muuttujien tarve ei ihan peruskï¿½ytï¿½ssï¿½ heti tulle vastaan.
% Muuttujien tyyppejï¿½ ei tarvitse etukï¿½teen mï¿½ï¿½ritellï¿½, ja jotain tyyppiï¿½
% olevan muuttujan voi sijoituslauseella korvata toisen tyyppisellï¿½
% tietoalkiolla. (Hienosti sanottuna: dynaamisesti tyypitetty kieli.)
%
% Tietorakenteet ("pakkauslaatikot") ovat 
% 
% <matrixOperations.html taulukot (matriisit)>,
% <dataStructures.html#cellArrays solutaulukot ("cell arrays")>,
% <dataStructures.html#structs struktuurit "structures", "struct"'t>,
% ja 
% <objectOriented.html objektit>.
% 
%% Tyï¿½tila (workspace)
% Tyï¿½tila on alue muistia, jossa ovat erityisesti kï¿½yttï¿½ï¿½n otetut
% muuttujat.
% 
% Tyï¿½tilan muuttujat kokoineen ja typpeineen saa nï¿½kyviin komennolla
whos     % Komento who antaa vain nimet.
%
% Tyï¿½tilan havainnollinen graafinen esitys nï¿½kyy myï¿½s ikkunassa
% "Workspace", jonka kautta muuttujaa voi katsella ja editoida myï¿½s
% muuttujaeditorilla (kaksoisklikkaa ao. muuttujaikonia).
%%
% Muuttujan a voi poistaa komentamalla clear a ja kaikki tyï¿½tilan muuttujat
% komennolla
clear all  % tai pelkï¿½stï¿½ï¿½n clear
%% Komentoikkuna 
% Edellï¿½ jo kirjoiteltiin laskutoimituksia ja muita kï¿½skyjï¿½
% komentoikkunaan.
% Suuria datoja kï¿½siteltï¿½essï¿½ on tï¿½rkeï¿½ï¿½ osata lopettaa komento
% puolipisteeseen (;), jotta tulosta ei turhaan nï¿½ytetï¿½ ruudulla.
% Katsotaan pienimuotoisesti:
%
Id4 = eye(4,4)
% 
Ykkoset5 = ones(5,5); % Tulosta ei nï¿½y. 
% Jos haluat nï¿½hdï¿½, kirjoita muuttujan nimi (ilman puolipistettï¿½)
Ykkoset5
%%
% Komentoikkunassa voidaan nuolinï¿½ppï¿½imellï¿½ "nuoli ylï¿½s" ottaa esiin
% edellinen komento, jota voidaan tarpeen mukaan editoida komentorivillï¿½.
% Taaksepï¿½in kelausta voidaan jatkaa pitemmï¿½llekin. Tï¿½llï¿½ tekniikalla
% voidaan suorittaa pienimuotoisia iteraatioita ilman
% ohjelmointirakenteita. 
%
% <./nuolinappain1.html Esimerkki nuolinï¿½ppï¿½initeraatiosta.> Tï¿½ssï¿½ esiintyy
% joitakin Matlab-operaatioita, jotka selitetï¿½ï¿½n tarkemmin jatkossa.
%
% Uusissa versioissa on "command history"-ikkuna, josta voidaan
% kaksoisklikkauksella panna suoritukseen haluttu komento.
% ***Lisï¿½ï¿½ helpistï¿½, miten komento tuodaan editoitavaksi ennen
% suoritusta***
%
% Matlab-komentojen tunnistusta kannattaa myï¿½s hyï¿½dyntï¿½ï¿½, komennon alkuosa
% tï¿½ydentyy mahdollisilla jatkoilla TAB-painikkeella.
%
%% M-tiedostot, skriptit ja funktiot
% * 1. *Skriptit*
% * 2. *Funktiotiedostot*
% * 3. *Funktio-osoittimet ("Function handles")*
%
% M-tiedosto on tekstitiedosto _nimi.m_. Niitï¿½ on kahta typpiï¿½:
% _skriptitiedostot_ ja _funktiotiedostot_. 
%
% *1. Skriptit*
%
% Tekstitiedostoon _omaskripti.m_ voidaan kirjoittaa Matlab-komentoja,
% jotka suorittuvat, kun komentoikkunassa kirjoitetaan tiedoston nimi:
% |omaskripti| 
%
% Tiedoston on oltava Matlabpolun (matlabpath) varrella. Suoritus voidaan
% uusissa Matlab-versioissa kï¿½ynnistï¿½ï¿½ myï¿½s suoraan Matlab-editorista esim.
% tyï¿½kalunauhan vihreï¿½ï¿½ nuolta painamalla tai F5:llï¿½.
%
% Tiedosto voidaan kirjoittaa millï¿½ tahansa tekstieditorilla, suositeltavaa
% on kï¿½yttï¿½ï¿½ Matlabin omaa editoria, joka mahdollistaa yllï¿½ mainittujen
% kï¿½ynnistystapojen lisï¿½ksi monia muita kï¿½yttï¿½mukavuuksia.
%
% *Esim:* Suuren matriisin luominen (tï¿½ssï¿½ havainnollistetaan pienellï¿½).
%
% Luodaan tiedosto |teematriisi.m| komentoikkunan file-valikosta -> new ->
% script. Kirjoitetaan sinne rivejï¿½ tï¿½hï¿½n tapaan ja annetaan komento 
% |teematriisi| .
A=  [1.1 2.2 -4.2 i;
    5.7 -2.9 8.567 pi]
%%
% M-tiedostoa kï¿½ytetï¿½ï¿½n yleisesti Matlab-komentojen tallettamiseen.
% Erityisesti kï¿½ytettï¿½esï¿½ ohjausrakenteita, kuten 
% |for, while,if-else-elseif-end| ym., komennot kirjoitetaan aina
% m-tiedostoon eikï¿½ suoraan Matlab-istuntoon. Skripti-m-tiedosto toimii
% nï¿½in Matlab-koodin talletuspaikkana. Varsinainen ohjelmointi tehdï¿½ï¿½n
% kuitenkin funktio-m-tiedostossa, josta seuraavassa.
%
% Samoin puhutaan kohta enemmï¿½n dokumentin tuottamisesta m-tiedoston avulla.
%%
% *2. Funktiotiedostot*
%
% Funktiotiedosto antaa mahdollisuuden Matlab:n laajentamiseen itse
% mï¿½ï¿½riteltï¿½villï¿½ funktioilla. Jos avaat editorin File-valikosta
% new->function, syntyy tiedosto, jossa on seuraavat rivit (ilman 
% |function|-sanaa edeltï¿½vï¿½ï¿½ %-merkkiï¿½, *** editoi lopulliseen html:ï¿½ï¿½n ***).
%
%function [ output_args ] = Untitled( input_args )
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
%%
% * Otsikkorivi : |fuction| [y1,y2,...,ym] = funnimi(x1,x2,...,xn)
% * Talletetaan tiedostoon |funnimi.m| (Tiedoston nimi on mï¿½ï¿½rï¿½ï¿½vï¿½.)
% * Syï¿½teparametrit x1,...,xm ja tulosparametrit y1,...,yn voivat olla mitï¿½
% tahansa Matlabin tietorakenteita, tyypillisimmin matriiseja.
% * Kaikki kï¿½ytetyt muuttujat, niin parametrit kuin apumuuttujat ovat
% paikallisia (lokaaleja), ellei |global|-komennolla muuta vaadita.
% * Otsikkorivin jï¿½lkeiset, %-alkuiset kommenttirivit tulostuvat
% komentoikkunassa komennolla |help funnimi|.
% * Kaikki koodirivit on syytï¿½ lopettaa puolipisteellï¿½, jotta vï¿½ltytï¿½ï¿½n
% hï¿½iritseviltï¿½ ylimï¿½ï¿½rï¿½isiltï¿½ tulostuksilta funktiota kutsuttaessa.
% * Funktio palauttaa kussakin tulosmuuttujassa sille viimeksi sijoitetun
% arvon.
%%
% *Huom!* Kaikki m-tiedostot ovat aivan tavallisia tekstitiedostoja. Jos
% jostain syystï¿½ haluat kï¿½yttï¿½ï¿½ jotain muuta tekstieditoria, se kï¿½y aivan
% hyvin. Tï¿½llï¿½in tietysti Matlabin editorin tarjoamat avut jï¿½ï¿½vï¿½t pois.
%%
% Parhaiten asia tulee tutuksi (myï¿½s yleisesti ohjelmontiin
% perehtymï¿½ttï¿½mï¿½lle) esimerkkien avulla.
%
% *Esim:*
%{
Ajatellaanpa, ettï¿½ haluaisimme laskea annettujen lukujen keskiarvon. Luvut olisi 
sopivaa tallettaa vektoriin x. Keskiarvo saataisiin yksinkertaisesti lausekkeella 

sum(x)/length(x). % Vektorin x alkioiden summa jaettuna alkioiden lkm:llï¿½.

Kokeillaan vaikka nï¿½in: 
%}
x=1:10
keskiarvo=sum(x)/length(x) 
%
%%
% Kun tï¿½mï¿½ ajatus muutetaan yleispï¿½tevï¿½ksi funktioksi, jolle voidaan antaa 
% syï¿½tteeksi mikï¿½ tahansa vektori |x|, avataan tiedosto |keskiarvo.m|, jonne 
% kirjoitetaan:
%{
function y = keskiarvo(x)
% Funktio palauttaa syï¿½tevektorin x alkioiden keskiarvon.
% 
y = sum(x)/length(x);
%}
% *** Editoi html:ï¿½ï¿½ , pois {% ***
%%
% Kutsutaan vaikka:
%%
% k100=keskiarvo(1:100)   %***poista kommentti/editoi html:ï¿½ï¿½***
%%
% |Index exceeds matrix dimensions.|
%
% |Error in ==> Alkuunpaasy at 278|
% |k100=keskiarvo(1:100)|
%%
% *Mitï¿½ ihmettï¿½!?*
% Tï¿½ysin sekopï¿½inen virheilmoitus. Syy selviï¿½ï¿½ tarkistamalla:
%%
 which keskiarvo

%%
% Yllï¿½ kï¿½ytimme epï¿½onneksemme keskiarvo-nimistï¿½ muuttujaa, jonka Matlab
% priorisoi samannimiseen funktioon nï¿½hden. No, poistetaan tuo muuttuja,
% niin elï¿½mï¿½ taas hymyilee.
clear keskiarvo % clear poistaa muuttujan, sen valta ei ylety tiedostoon 
                % talletettuun funktioon
k100=keskiarvo(1:100)
%%
% *Kï¿½ytï¿½ |which|-komentoa nimikonflikteihin*
%
% Edellï¿½ olevan kaltaiset kï¿½sittï¿½mï¿½ttï¿½mï¿½t virhetilanteet ratkeavat
% |which|-komennolla. Muuttujan ja funktion nimikonfliktin lisï¿½ksi usein
% saattaa esiintyï¿½ funktioiden vï¿½lisiï¿½ konflikteja. Jos kirjoitat moneen
% paikkaan Matlabpolun varrelle funktiotiedoston |f.m|, saat varmasti aikaan 
% sekaannusta.
%
% |which f| 
%
% paljastaa, mikï¿½ on Matlab:n valinta |f|-funktioksi.
%%
% *Matlab:n omat funktiot - verraton esimerkkikokoelma*
%
% Suuri osa Matlab-funktioista on m-tiedostoja, joiden koodi on avoin.
% Niistï¿½ on hyvï¿½ ottaa opiksi. Helppona esimerkkinï¿½ mainittakoon vaikka
% funktio |flipud|, joka kï¿½ï¿½ntï¿½ï¿½ matriisin rivit "ylhï¿½ï¿½ltï¿½ alas". 
%
% *Tehtï¿½vï¿½:* Suorita komento |type flipud|, huomaat, ettï¿½ varsinaista
% koodia on vain yksi rivi. Kaikki muu on help-dokumenttia tai virheellisen
% argumentin eliminoimista. 
%
% Suorita myï¿½s |help flipud|.
%
% *3. Funktio-osoitin, "Function handle"*
%
% Lyhyen, yhdellï¿½ rivillï¿½ mï¿½ï¿½riteltï¿½vï¿½n funktion voi mï¿½ï¿½ritellï¿½ myï¿½s
% suoraan Matlab-istunnossa tyyliin:
f=@(x)x.*sin(x)

%%
% Lue: "At(x) arvo(x)", vastaten matemaattista merkintï¿½ï¿½: |x->f(x)|. 
% Tï¿½tï¿½ tapaa kï¿½ytettiin jo edellï¿½ iteraatioesimerkissï¿½. Tï¿½mï¿½ korvaa vanhan
% 'inline'-mï¿½ï¿½rittelyn, jota ei suositella enï¿½ï¿½ kï¿½ytettï¿½vï¿½ksi (mutta vanhan
% koodin yhteensopivuuden takia toimii toki).
%
%% Tyï¿½skentely ja dokumentin tuottaminen editorissa
% Uusi dokumentointivï¿½lineistï¿½ editoreineen tukee vahvasti sellaista tyï¿½tapaa, ettï¿½
% Matlab-tyï¿½skentely suoritetaan enenevï¿½ssï¿½ mï¿½ï¿½rin editorissa. Sen lisï¿½ksi,
% ettï¿½ skripti-m-tiedostoon saadaan Matlab-komennot talteen, tiedoston
% avulla voidaan jï¿½sentï¿½ï¿½ tyï¿½ kappaleiksi, joita rajoittavat kaksoisprosenttien 
% (%%) 
% vï¿½liset alueet. Nï¿½in voidaan helposti ajaa tiedoston komentoja osissa
% asettamalla osoitin jonkun kappaleen sisï¿½ï¿½n ja painamalla |CTR-ENTER|.
%
% Tï¿½mï¿½n lisï¿½ksi syntaksiltaan kunnossa oleva m-tiedosto voidaan ajaa
% html-dokumentiksi alla olevan esimerkin mukaisesti.
%
% <./Tyotapa1.txt Esimerkki tyotavasta: komentotiedosto, eli "m-tiedosto" Tyotapa1.m>
%
% Kun m-tiedoston editorin FILE-valikosta valitaan _publish_, saadaan
% m-tiedoston komennot ja niiden 
% tuottamat tulosteet kuvineen html-muodossa. 
% <./Tyotapa1.html  Tï¿½ssï¿½ tapauksessa nï¿½in.>
%
% Itse asiassa koko tï¿½mï¿½ Matlab-opas on joukko m-tiedostoja, jotka on
% publish-komennolla ajettu html-dokumentiksi.
%
% Erityisesti *oppilastï¿½issï¿½* tï¿½mï¿½ on korvaamattoman hyï¿½dyllinen
% toimintatapa ja siirtï¿½ï¿½ vanhan |diary|-komennon "Matlab-museoon".
%%
% *Publish-komennon help-dokumentaatiota:*
%
% |doc publish -> Example: Sine Fourier| 
%
% |Help->Product help->User's Guide->Desktop Tools and Development Env. ->|
% |Publishing Matlab-code|
%% Help
% Matlabissa on laaja ja monipuolinen avustusjï¿½rjestelmï¿½. 
% Matlab-ikkunan *help*-valikko -> *product help* 
% Tï¿½stï¿½ lï¿½ytyy perusavustuslinkit, kuten
%
% * Getting started - sisï¿½ltï¿½ï¿½ myï¿½s hyviï¿½ videotutoriaaleja
% * User Guides - Laaja dokumenttikokoelma
% * Getting help
% * Examples
%
% |help fnimi| Matlab-komentoikkunassa tulostaa Matlab-funktion |fnimi| 
% ohjetekstin ko. ikkunaan.
%
% |doc fnimi| avaa Matlabiin nettiselaimen ja tulostaa avustustekstin
% kauniimmassa ja joskus laajemmassa muodossa.
%
% Jï¿½lkimmï¿½inen on yleensï¿½ selkeï¿½mpi, mutta edellinen on taas nopeampi,
% siksi tï¿½mï¿½n kirjoittaja kï¿½yttï¿½ï¿½ useammin edellistï¿½.

%%
% <html>
% <img src="helpEig.png" height="600">
% </html>
%% lookfor
% Komento etsii annettua merkkijonoa kaikkien Matlab-funktioiden
% ensimmï¿½iseltï¿½ kommenttiriviltï¿½. Siksi tulostusta tulee joissakin
% tapauksissa varsin runsaasti ja sen loppumista joutuu odottelemaan.
% Vastaavasti siitï¿½ voi olla paljon iloa, sen avulla voi tehdï¿½ hyviï¿½
% lï¿½ytï¿½jï¿½.
%
% You can look for functions which contain a specified string in the first
% line of their documentation (see <writingFunctions.html#comments here>
%
% Kokeile vaikka 
%% 
% * lookfor random
% * lookfor quadratic
% * lookfor 'curve fitting'
% * lookfor polynomial
%
%%
% <html>
% <a href="Alkuunpaasy.html#alku"> [Sivun sisÃ¤llysluetteloon]</a> |  ***
% tuskallista kokeilua
% <a href="Alkuunpaasy.html"> [Sivun sisÃ¤llysluetteloon]</a> | 
% </html>
%%
% <./Tutoriaali.html [Oppaan alkusivulle]>
%% Using this Guide
% This tutorial so broken into several small chapters, which are themselves
% composed of a number of subsections. For the most part, the chapters are
% self contained and can be read in isolation as needed. As the code for
% the examples is embedded right into the document, it may be advantageous
% to open the tutorial in the Matlab web browser so that you can try out
% the examples as you read. 
% Just type something like
% *web yagtom.googlecode.com*
% at the command prompt. You can then click on 'Desktop -> dock browser'
% so the browser will appear inside the matlab <writingFunctions.html#Editor editor> as illustrated below.
%%
% <html>
% <img src="matlabTutorialBrowser.png" height="500">
% </html>
%%
% You can execute code by highlighting it on the
% web page and pressing *F9*. The statements are processed as though they
% were typed one at a time in the command window. 
% Or you can cut and paste between different windows.
% Note that some of the examples use functions or data that
% are not built-in to matlab.
% These can be download here: <http://code.google.com/p/yagtom/downloads/list>.
% You should unzip these in some directory,
% and then add them to your matlab path by typing
% something like
addpath(genpath('C:\matlabTutorial\mfiles'))
%%
% Click <files.html#MatlabPath here> for more details on the matlab path.
%% Other Matlab resources
% There are many other resources related to Matlab.
% We list some of them below.
%%
% <html>
% <ul>
% <li> 
% <a
% href="http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/getstart.pdf">
% Getting started in Matlab</a>, the official 260 page  guide.
% <li> 
% <a
% href="http://www.mathworks.com/academia/student_center/tutorials/launchpad.html">
% official links to other tutorials</a>
% <li> <a href="http://www.mathworks.com/matlabcentral">matlab central</a>, source of
% free software, of variable quality.
% <li> <a href="http://www.mathworks.com/matlabcentral/newsreader"> matlab
% newsgroup</a>, 
% a place where you can post questions and people may answer them for you.
% </ul>
% </html>
