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 2000 titles” [13.3.2019]

Edellisen alasivu, jolla on esitelty valikoituja uusia kirjallisuusviitettä 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

Matlab-pikaohje, harjoitustehtäväliitteeksi soveltuva ensiapu.
Tässä LaTeX-lähdekoodi (Sama kuin MattieT - Matlab - Perusteet, "tehtävä" mlBas000.tex)

Vivaldo Mendes: Introduction to MATLAB Luentokalvot, tiivis selkeä kooste pikaoppimiseen.

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

Timo Mäkelän Matlab-opas Selkeästi ryhmitelty kokonaisuus, sisältää Matlabin perusteita sekä Simulink-opastusta.

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.

M.S. Gockenbach: A Practical Introduction to Matlab Selkeä, hyvin jäsennelty opas
     M.S. Gockenbac: A SHORT TUTORIAL FOR MATLAB
     Pikaopas: edellisen lyhennelmä.

Mark S. Gockenbach: MATLAB Tutorial to accompany Partial Differential Equations: Analytical and Numerical Methods, 2nd edition SIAM 2010 ERINOMAINEN (vrt. samaan kirjaan liittyvä Maple tutorial)

YAGTOM: Yet Another Guide TO Matlab by Matt Dunham and Kevin Murphy
Monipuolinen ja mielenkiintoinen opas Matlabin käyttöön, toteutettu Matlab:n publish-työkalulla.

Matlab-tutoriaali (YAGTOM) Heikki Apiolan käännös ja pieni muokkaus edellisen alkuosaan, loppuosa on alkuperäistä YAGTOM-tekstiä. (Samalla Matlabin uuden ”publish”-julkaisutyökalun käyttökokeilu)

Berkeley: Matlab-opetus, hienot ppt-kalvot.

MIT:n MATLAB-tutoriaali MIT:n MATLAB-kurssi, "Open Courseware".
Kurssin materiaali on selkeinä luentokalvoina. Tehtävät ovat hyviä ja mielenkiintoisia, sekä lyhyitä perustehtäviä että laajempia pikku projekteja.

Nancy Stanton, University of Notre Dame, Indiana:

Classroom demos Sopivaa Matlab-kurssimateriaalia eri matematiikan kursseihin liittyen, samalla esimerkkejä Matlabin publish:lla tehdyistä dokuista:
Matlab tips by Nancy
Matlab intro (with assignments)

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. http://se.mathworks.com/moler Matlab:n luojan Cleve Molerin kirjasivu. Kaksi inspiroivaa, monipuolista, hauskan lennokkaasti kirjoitettua kirjaa, saatavana myös ilmaiseksi verkosta. LUE, NAUTI, OPI!
    Tässä vielä erilliset hehkutukset:
    • [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ä.
    • http://se.mathworks.com/moler/exm/ Experiments with MATLAB
      Erinomaisen hauska, sisältää myös lukion matematiikkapohjalle soveltuvaa ainesta.
  2. Brian R. Hunt,Ronald L. Lipsman, Jonathan M. Rosberg et. al: A Guide to Matlab for Beginners and Experienced Users, Cambridge U.P. 2006 Tässä linkki e-kirjaan, joka näkyy Aalto-verkossa.
  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. Steven C. Chapra: Applied numerical methods with Matlab for Engineers and Scientists, Mc Graw Hill, 3rd edition, Saatavana myös hyvät ppt-luentokalvot.
  6. [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”.
  7. [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).
  8. [QSG] Quarteroni, Saleri, Gervasio: Scientific Computing with MATLAB and Octave, Springer 2010
  9. [vanL] Charles van Loan: Introduction to Scientific Computing , a Matrix-Vector approach using Matlab.
  10. [BB] Biran-Breiner: What Every Engineer Should Know About MATLAB and Simulink, CRC Press, Inc, 2011
  11. [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
  12. [Coo] Cooper: Introduction to Partial Differential Equations with MATLAB, Birkhäuser 1998
    Sisältää myös hyvin kirjoitetun, tiiviin Matlab-opetusjakson.
  13. [RickLA] Rick L. Smith: The Matlab project book for Linear Algebra, Prentice Hall 1997
  14. Anne Greenbaum & Timothy P. Chartier: Numerical Methods: Design, Analysis, and Computer Implementation of Algorithms, princeton U.P., 2012 Saatavana myös e-kirjana.
    Kattava ja ajantasainen numeriikan tietokonemenetelmäkirja (Matlab).
  15. 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

Matlabia hyödyntäviä kurssimateriaaleja

  1. Heikki Huttunen, Signaalinkäsittelyn perusteet, Tampereen TY

Löytöjä Mathworks’n sivuilta

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

Blogs (other than those on Matlab Central page)

University of Helsinki-blog by Samuli Siltanen "Sam's Applied Math Tips" (28.5.2014)