MattieO - Matematiikkaa tietokoneella, opasmateriaalia

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.

Matlabissa on helppokäyttöinen ja korkeatasoinen grafiikka matemaattisten funktioiden ja (suurtenkin) tietoainesten 2D- ja 3D-visualisointiin. Tältä näyttää Plot Gallery.

Tehokas ohjelmointikieli yhdistettynä valtavaan kokoelmaan valmiita funktioita ja eri sovellusalueisiin liittyviä ”työkalupakkeja” (”toolboxeja”) antaa käyttäjän käsiin erinomaisen vahvan ja monipuolisen, omiin tarpeisiin taipuvan ympäristön. Numeerisen lineaarialgebran lisäksi mukana on lähes kaikkeen numeeriseen laskentaan liittyviä korkeatasoisia työkaluja. Mainittakoon differentiaaliyhtälöt, optimointi, data-analyysi, signaalinkäsittely, kuvankäsittely, tilastoanalyysi, neuraaliverkot, splinit, sumea logiikka jne.

Matlab ei nykyisin todellakaan ole pelkkä alkuaikojensa vuorovaikutteinen matriisitehtävien laboratorio, 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 toimivat joko Maple tai Mupad.

MATLABia ylläpitää ja kehittää The MathWorks -yhtiö, kts. myös MathWorks:n pohjoismaisen edustajan ”products”-sivua.

MATLABilla on oma graafinen käyttöliittymä. Ohjelmistoa voidaan käyttää tekstipohjaisena esim. etäkäytössä, mutta graafinen käyttöliittymä työskentelyä ja dokumentointia tukevine editoreineen on ”tätä päivää”.

Ohjelmassa on mittava dokumentaatio, vasemmassa yläreunassa on HELP-painike, josta kannattaa aloittaa. Nopein tapa saada apua silloin, kun funktion nimi on tiedossa, on help-komento, jota voidaan käyttää suoraan komentoriviltä :

>> help funnimi tai >> doc funnimi

Esikuvana on ”kaikkien vektorikielien äiti”: APL.

VIITTEITÄ

Mathworksin pääsivu

”Getting started”, User’s Guide ym. Matlabin help-systeemiin kuuluvia dokumettteja verkosta luettavissa.

Mathworks:n ”books”-sivu, ”More than 1400 titles”

Edellisen alasivu, jolla on esitelty 186 kirjallisuusviitettä (tänään: 10.9.2012) ryhmiteltyinä sovellusalakohtaisesti.

Valikoituja oppimateriaaleja

Alla on viitteitä ensinnäkin suomenkielisiin materiaaleihin ja yleensä sellaisiin, joita tekijät ovat kirjoittaneet, lukeneet, käyttäneet opetuksessaan, tai ainakin pitäneet kädessään/hiiressään.

Verkko-oppaita

Juha Jaako: Matlab-opas, Oulun yliopisto 2013 Johdannosta: "Tämä Matlab-opas on tarkoitettu auttamaan niitä prosessi-ja ympäristötekniikan osaston opiskelijoita, jotka suorittavat opinto-ohjelmaansa kuuluvaa opintojaksoa Ohjelmointi ja Matlab."
Selkeä, hyvin jäsennelty opas, lopussa laajempia esimerkkejä valmiiksi ratkaistuina.

Lempeä johdatus Matlabiin Harri Hakulan tekemä lyhyt johdatus Matlabin perustoimintoihin (v. 2004). Pääasiat on esitetty selkeästi ja ennen kaikkea lyhyesti.

Matlab-pikaohje, harjoitustehtäväliitteeksi soveltuva ensiapu Matlab-pikaohje, LaTeX-lähdekoodi (MattieT - Matlab - Perusteet, tehtävä 1 (mlP001.tex) on samainen LaTeX-koodi ilman ”ajokehysosaa”, sen voit suoraan liittää (mahd. oman editoinnin jälkeen) harjoitustehtäväpaperiin.

Eindhovenin teknillisen yliopiston MATLAB-tutoriaali Interaktiivinen MATLAB-kurssi, jossa käydään läpi kaikki MATLABin olennaiset osat. Sivustolla on runsaasti esimerkkejä ja materiaalia tukevia harjoitustehäviä MATLABin peruskäytöstä. Hyvin toteutettu verkko-opas.

MATLAB-miniopas Heikki Apiolan tekemä suppea opas. Sisältää tietoa mm. peruskäytöstä, kompleksiluvuista sekä ohjelmoinnista MATLABissa. Myös viitteitä ja tehtäviä ratkaisuineen aiemmilta kursseilta.

Lyhyt MATLAB-opas Heikki Apiolan ja Marko Laineen tekemä lyhyt, mutta edellistä laajempi opas. Sisältää numeerisia menetelmiä, kuten lineaarialgebraa, integrointia, differentiaaliyhtälöitä, interpolaatiota, ym. Oppaassa on myös harjoitustehtäviä aiheisiin liittyvistä asioista.

M.S. Gockenbach: A Practical Introduction to Matlab Selkeä, hyvin jäsennelty opas, sisältää myös Matlabin ”uusia” piirteitä.

Matlab-tutoriaali Heikki Apiolan kirjoittama MATLAB-tutoriaali. Kyseessä on Yagtom-oppaan (kts. alla) pohjalta lähtenyt työ, osittain käännös, mutta myös omin lisäesimerkein varustettu. Keskeneräinen, englanninkielinen loppuosa on YAGTOM-tekstiä. (Samalla Matlabin uuden ”publish”-julkaisutyökalun käyttökokeilu) Kehittynee ihan kelpo oppaaksi suomenkin kielellä.

Yet Another Guide TO Matlab (YAGTOM) on monipuolinen ja mielenkiintoinen opas matlabin käyttöön. Kätevintä on käyttää opasta Matlabiin avatussa selaimessa, jolloin sen koodit voidaan suorittaa omassa päätteessä (Getting started: Using this Guide).

Berkeley: Matlab-opetus, hienot ppt-kalvot!! Vakavasti harkittava materiaali tammikuun 2014 Mat ohjelmistot-kurssille.

MIT:n MATLAB-tutoriaali MIT:ssä pidettävä nopea MATLAB-kurssi. Kurssin materiaali on selkeinä luentokalvoina itseopiskeluunkin soveltuen. Kurssin tehtävät ovat hyviä ja mielenkiintoisia.

Introduction To Numeric And Symbolic Computation Antti Rasilan, Susanna Liesipohjan ja Juha Kuortin kirjoittama englanninkielinen kurssimateriaali kurssille Numeric and Symbolic Computation. Tekstissä käsitellään ennen kaikkea MATLABia ja se sisältää runsaasti esimerkkejä.

MATLAB Tutorial kattava tutoriaalihakemisto Mathworksin sivuilla.

Hyödyllisiä Matlab-ohjelmia erityisesti opetuksessa

Diffyhtälöiden suuntakenttien piirtofunktiot, Rice University. Hieno ohjelmisto, toteutettu Matlab:n GUI-työkaluilla käyttäen tehokkaita ja luotettavia Matlabin ODE-ratkaisijoita, tekijänä John Pohlking. Ei vaadi edes Matlab-syntaksin osaamista. Toisaalta voidaan liittää muuhun Matlab-työhön.

Kirjallisuutta

  1. Eriksson, L., Hölttä, V., Riihimäki, P. ,Varso, J. (2004) Matlab 7-perusteet ja sovellukset. Helsinki: Otatieto, Oy Yliopistokustannus. ISBN 951-672-345-4
  2. [NCM] Moler, Cleve B.: Numerical Computing With MATLAB SIAM, 2004. Matlabin ”isän” kirjoittama, runsaasti hyötyä ja hupia sisältävä teos, joka on saatavana myös ilmaiseksi (laillisesti) verkosta yllä olevasta linkistä.
  3. [DavKer] T.A. Davis: MATLAB Primer,8th Edition (Edellisissä versioissa mukana myös Kermit Sigmon, tunnettu Matlab-primerien tekijä)
  4. [SciCmp] Gladwell-Ferguson-Nagy:Introduction to Scientific Computing using Matlab, 2004 (saatavana myös eKirjana (pdf)).
  5. [H-L] Hanselman-Littlefield: Mastering Matlab, Pearson 2012 (1. painos 1988). Perusteellinen, kaiken kattava Matlab-opas. Sisältää yli 100 sivua käsittävän osan otsikolla: ”Examples, examples, examples”.
  6. [Hig2] Higham, Desmond J., Higham, Nicholas J.: MATLAB Guide, SIAM 2005. Erinomainen, nautittava, asiantunteva, sisältää runsaasti mielenkiintoisia esimerkkejä. Varsinaisia harjoitustehtäviä ei ole. Kirjaa on jopa kehuttu parhaaksi MATLAB-aiheiseksi kirjaksi(satojen joukosta).
  7. [QSG] Quarteroni, Saleri, Gervasio: Scientific Computing with MATLAB and Octave, Springer 2010
  8. [vanL] Charles van Loan: Introduction to Scientific Computing , a Matrix-Vector approach using Matlab.
  9. [BB] Biran-Breiner: What Every Engineer Should Know About MATLAB and Simulink, CRC Press, Inc, 2011
  10. [LAODE] Linear Algebra and Differential Equations Using Matlab, Brooks/Cole. Kirjassa opetetaan Matlabia alkeista alkaen. Diffyhtälöiden opiskelussa käytetään ylläkin mainittua Matlab-työkalua: Diffyhtälöiden suuntakenttien piirto, Rice University
  11. [Coo] Cooper: Introduction to Partial Differential Equations with MATLAB, Birkhäuser 1998
    Sisältää myös hyvin kirjoitetun, tiiviin Matlab-opetusjakson.
  12. [RickLA] Rick L. Smith: The Matlab project book for Linear Algebra, Prentice Hall 1997

Kokoelma Mathworks’n sivuilta tehtyjä löytöjä (myös kokeneelle käyttäjälle)

Matlab Central - Matlab users, File exchange, QA, Blogs Blogeissa on Matlab-asiantuntijoiden kirjoituksia, mm. Loren Shure on tunnettu vakiobloggaaja.

Mathworks Nordic, Newsletters, ”Cleve’s corner”-collection, Webinars, Blogs, User community

File exchange, pick of the week. Esim: ”Shaded error bars

Newsletter artikkeliesimerkki ”Applying Modern PDE Techniques to Digital Image Restoration”

Matlab Facebook:ssa

Matlab group (2 457 members [2.9.2012]) Sisältää myös ”I am new to Matlab”-alkavia kysymyksiä.

Matlab interest. Sisältää hyvän, tiiviin kuvauksen (kehuineen) (11219 ”tykkää”).

Matlab software (280 651 likes, 3 912 talking about this) Aktiivinen sivu, hyviä linkkejä ajankohtaisiin Matlab-aiheisiin. Tänään (2.9.2012) mm. viite Matlabin isän, Cleve Molerin blogikirjoitukseen klassikon aseman saaneesta aiheesta: Can One Hear the Shape of a Drum? Part 1, Eigenvalues