Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Samankaltaiset tiedostot
Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Matriisilaskenta Laskuharjoitus 5 - Ratkaisut / vko 41

Valitse ruudun yläosassa oleva painike Download Scilab.

Matlab-perusteet. Jukka Jauhiainen. OAMK / Tekniikan yksikkö. Hyvinvointiteknologian koulutusohjelma

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Matriiseista. Emmi Koljonen

Harjoitus 3 -- Ratkaisut

Lineaariset kongruenssiyhtälöryhmät

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.

Johdatus tekoälyn taustalla olevaan matematiikkaan

Lineaarialgebra ja matriisilaskenta I

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Matemaattiset ohjelmistot 1-2 ov, 2-3 op

plot(f(x), x=-5..5, y= )

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Matemaattiset ohjelmistot A. Osa 2: MATLAB

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Matriisilaskenta (TFM) MS-A0001 Hakula/Vuojamo Ratkaisut, Viikko 47, 2017

Matriisit ja vektorit Matriisin käsite Matriisialgebra. Olkoon A = , B = Laske A + B, , 1 3 3

Tehtäväsarja I Kertaa tarvittaessa materiaalin lukuja 1 3 ja 9. Tarvitset myös luvusta 4 määritelmän 4.1.

BM20A0700, Matematiikka KoTiB2

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Matlab- ja Maple- ohjelmointi

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151

Zeon PDF Driver Trial

Kohdeyleisö: toisen vuoden teekkari

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa.

Fx-CP400 -laskimella voit ratkaista yhtälöitä ja yhtälöryhmiä eri tavoin.

FUNKTION KUVAAJAN PIIRTÄMINEN

Matlabperusteita, osa 1. Heikki Apiola Matlab-perusteita, osa 1. Heikki Apiola. 12. maaliskuuta 2012

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Käänteismatriisin ominaisuuksia

Matriisilaskenta. Harjoitusten 3 ratkaisut (Kevät 2019) 1. Olkoot AB = ja 2. Osoitetaan, että matriisi B on matriisin A käänteismatriisi.

Matematiikka B2 - TUDI

Oppimistavoitematriisi

Matematiikan tukikurssi, kurssikerta 3

Harjoitus 7 -- Ratkaisut

Insinöörimatematiikka D

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

= 2 L L. f (x)dx. coshx dx = 1 L. sinhx nπ. sin. sin L + 2 L. a n. L 2 + n 2 cos. tehdään approksimoinnissa virhe, jota voidaan arvioida integraalin

Lineaarialgebra II, MATH.1240 Matti laaksonen, Lassi Lilleberg

Numeeriset menetelmät

Matriisilaskenta Luento 8: LU-hajotelma

Ohjelmoinnin perusteet Y Python

Ohjelman käynnistäminen

Casion fx-cg20 ylioppilaskirjoituksissa apuna

MATP153 Approbatur 1B Ohjaus 2 Keskiviikko torstai

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Excel syventävät harjoitukset

Octave-opas. Mikä on Octave ja miksi? Asennus

Insinöörimatematiikka D

Matlab-perusteet Harjoitustehtävien ratkaisut

Matriisien tulo. Matriisit ja lineaarinen yhtälöryhmä

Matematiikka B2 - Avoin yliopisto

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Inversio-ongelmien laskennallinen peruskurssi Luento 3

Harjoitus 10: Mathematica

Oppimistavoitematriisi

1.1. Määritelmiä ja nimityksiä

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

Käänteismatriisin. Aiheet. Käänteismatriisin ominaisuuksia. Rivioperaatiot matriisitulona. Matriisin kääntäminen rivioperaatioiden avulla

Kokonaislukuaritmetiikka vs. logiikkaluupit

Kaksirivisen matriisin determinantille käytämme myös merkintää. a 11 a 12 a 21 a 22. = a 11a 22 a 12 a 21. (5.1) kaksirivine

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Tieteellinen laskenta 2 Törmäykset

9 Matriisit. 9.1 Matriisien laskutoimituksia

1 Matriisit ja lineaariset yhtälöryhmät

2.8. Kannanvaihto R n :ssä

FUNKTION KUVAAJAN PIIRTÄMINEN

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

MS-C1340 Lineaarialgebra ja

Insinöörimatematiikka D

Neliömatriisin adjungaatti, L24

Insinöörimatematiikka D

Pienimmän neliösumman menetelmä (PNS)

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 4 / vko 47

Ratkaisuehdotukset LH 3 / alkuvko 45

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

Python-ohjelmointi Harjoitus 2

Ennakkotehtävän ratkaisu

Harjoitus 4 -- Ratkaisut

Ohjelmoinnin peruskurssi Y1

LU-hajotelma. Esimerkki 1 Matriisi on yläkolmiomatriisi ja matriisi. on alakolmiomatriisi. 3 / 24

Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi. Esimerkit laskettu JMP:llä

Opiskelun ja työelämän tietotekniikka (DTEK1043)

Numeeriset menetelmät

Talousmatematiikan perusteet: Luento 9. Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Transponointi Matriisitulo

mplperusteet 1. Tiedosto: mplp001.tex Ohjelmat: Maple, [Mathematica] Sievennä lauseke x 1 ( mplp002.tex (PA P1 s.2011)

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä

2 Yhtälöitä ja epäyhtälöitä

Transkriptio:

Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> 9.81 9.8100 Nyt meillä on käytössämme muuttuja a, jota voimme käyttää tulevaisuudessa laskuissamme. Esimerkiksi: >> a*10^2 981 Koska 1x1 vektorit ovat hieman tylsiä on syytä tutustua kuinka voimme kirjoittaa vaakavektoreita: >> [1,2,3] 1 2 3 (Myös [1 2 3] toimii samalla tavalla.) Vastaavasti pystyvektorit onnistuvat puolipisteillä: >> [1;2;3] 1 2 3 Yhdistämällä nämä, eli tekemällä pystyvektori jonka elementteinä on vaakavektoreita, saadaan matriiseja:

>> [1,2,3;2,3,4;4,5,6] 1 2 3 2 3 4 4 5 6 Matlabiin voi syöttää tietoa myös käyttäen graafista käyttöliittymää tai ladaten tietoja esimerkiksi excel-tiedostosta. Perusoperaatiot Meillä on matriiseille käytössä triviaalit perusoperaatiot +,-, ja *. Sen lisäksi matriisin kääntäminen onnistuu komennolla: >> [2,3;1,6] >> inv(a) 2 3 1 6 0.6667-0.3333-0.1111 0.2222 vaihtoehtoisesti voidaan käyttää myös merkintää: >> a^(-1) 0.6667-0.3333-0.1111 0.2222 vastaavasti voimme myös korottaa matrsiiseja potensseihin. Hyödyllinen on myös matriisin transpoosi, joka voidaan ilmaista seuraavasti: >> a'

2 1 3 6 Voimme myös operoida yksittäisiä matriisin alkioita: >> a.^(-1) 0.5000 0.3333 1.0000 0.1667 Nyt tässä. ennen operaattoria kertoo Matlabille, että suoritammekin operaation kaikkiin matriisin alkioihin emmekä laske käänteismatriisia. Sama toimii myös esimerkiksi kertolaskulla. Näppäriä komentoja Voimme luoda vektorin (1,2,3,...,n) seuraavalla komennolla: >> 1:10 1 2 3 4 5 6 7 8 9 10 Vastaavasti voimme luoda tietyllä lisäyksellä, tässä vaikkapa 0.1, vektorit jostain alkuarvosta lopetusarvoon: >> 1:0.1:2 Columns 1 through 7 1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 Columns 8 through 11 1.7000 1.8000 1.9000 2.0000 Tämä on erittäin näppärää esimerkiksi funktioita piirrettäessä. Toinen hyvin hyödyllinen matlabtoiminto on puolipiste: >> 1:0.1:2; >>

Puolipiste estää matlabia tulostamasta operaatioiden vastauksia. Tämä on esimerkiksi erityisen hyödyllistä silloin kun meillä on suuri joukko operaatiota suoritettavanamme ja olemme kiinnostuneet vain viimeisen lausekkeen tuloksesta. Matriisin a arvo kohdassa (5,6) voidaan laskea komennolla: >> a(5,6) Vastaavasti voimme päivittää matriisiin arvon kohdassa (5,6): >> a(5,6) = 10 Graafien piirtäminen Matlabilla piirtäminen: >> -pi:0.1:pi; Nyt vektorissa a on tallennettu arvot (-3.14..;-3,04..;...3.04..;3.14). Sijoitetaan tämä funktioon: >> b = sin(a); eli laskemme sinin kaikille a vektorissa oleville arvoille ja tallennamme sen muuttujaan b. Nyt voimme piirtää tämän sinifunktion approksimaation: >> plot(a,b) Harjoitustehtäviä 1 5 1. Laske matlabilla 3+ 4 5 4 7 666 2. Tallenna luku 578 muuttujaan b. Laske b 2 b. 3. Luo matriisi A=[ 1 2 3 4]. Laske A+ A, A 2, det A, A 1 4. Luo funktio f ( x )=2 x 2 5. Laske f(2). [luo komennolla inline] 5. Piirrä edellisen tehtävän funktion kuvaaja välillä [-2, 3]. versio 1: laske funktion arvot vain kokonaislukujen kohdalla versio 2: laske funktion arvot 0,1 välein.

M-filen kirjoittaminen Usein joudumme laskemaan samoja laskuja toistuvasti. Laskumme toki tallentuvat komentohistoriaan, mutta komentohistorian käyttö on epäkäytännöllistä. Lisäksi komentohistoriaan ei voi lisätä ajatuksia kommenttimuodossa. Näiden ongelmien ratkaisemiseksi matlabissa on m-file, joihin voi tallentaa komentoja myöhemmin suoritettavaksi. Komento: >> edit omalasku.m avaa editoriin tiedoston omalasku.m, jos tiedostoa ei ole olemassa matlab luo sen. Komentojen kirjoittaminen etenee tutulla tavalla, missä yksi rivi vastaa yhtä matlab-komentoa. Ainoa merkittävä ero lienee mahdollisuus lisätä komentojen sekaan kommentteja. Kommentit aloitetaan %-merkillä. Hyvään tapaan kuuluu, että jokaisen tiedoston alkuun tarinoidaan kommenteilla tiedoston toiminta ja ominaisuudet. Kun olemme valmiita komennot voidaan ajaa komennolla: >> omalasku Oman funktion tekeminen m-tiedostona. Kirjoita m-tiedoston omalasku.m ensimmäiselle riville function tulos = omalasku(a, b, c) Tämä antaa käyttäjälle mahdollisuuden syöttää luvut a, b ja c, jotka ovat käytössä funktion sisäisinä muuttujina. (Eli niihin tallennetut arvot eivät ole käytössä funktion ulkopuolella.) Ohjelma palauttaa vastaukseksi muuttujan tulos arvon, joka lasketaan funktion sisällä. Se tallentuu muuttujaksi ans. Esimerkkiohjelma (tämän voi kopioida suoraan omaan m-tiedostoon pohjaksi): function tulos = omalasku(a, b, c) % Tämä ohjelma laskee käyttäjän syöttämien lukujen a, b ja c summan. tulos = a + b + c; Käyttö näyttää tältä: >> omalasku(3, 4, 5) 12

Suositus: tee kaikista m-tiedostoistasi funktioita, jollei ole hyvää syytä tehdä toisin. Harjoitustehtäviä 2 1. Kirjoita m-tiedosto, joka luo vektorin (5,2,3) ja tallentaa a:n ensimmäisen ja viimeisen alkion tulon muuttujaksi b. 2. Kirjoita m-tiedostona funktio, jonka syötteenä on kolme kokonaislukua ja tulosteena niiden käänteislukujen summa. 3. Kirjoita m-tiedosto, joka piirtää funktion f(x) = 1-x^2 välillä [-2,3], ja antaa kuvaajalle otsikon. 4. Kirjoita funktio, jonka syötteenä on kaksi lukua ja tulosteena luvuista suurempi. [if] 5. Kirjoita funktio, joka laskee summan 1 1 1 + +... + 2 2 2 1 2 n. [for] 6. Kirjoita funktio, joka etsii pienimmän kokonaisluvun n, jolle n 5 9 + n + 14 > 10 [while] 7. Kirjoita funktio, joka laske n. Fibonaccin luvun (n siis käyttäjän syöttämä). Harjoitustehtäviä 3 1. Selvitä tapa kirjoittaa matriisi, jonka diagonaalilla on ykkösiä ja mutu alkiot ovat nollia. (Vinkki: Katso komennot diag ja ones matlabin help -komennolla) 2. Laske lukujen 3 ja 5 monikertojen summa tuhanteen asti. Eli laske summa 3+5+6+9+10+12+15+ +1000. 3. Tutustu plot komentoon tarkemmin jollain itse valitsemallasi funktiolla. Kirjoita käyttämäsi komennot m-fileen. Tutustu komentoon hold 4. Kirjoita m-file, joka ratkaisee toisen asteen yhtälön tutulla ratkaisukaavalla. 5. Kirjoita m-file, joka ratkaisee toisen asteen yhtälön numeerisesti järkevällä tavalla. Kokeile arvoilla: a=1, b=2000000 ja c = -0,000015. 6. Kirjoita matriisilaskennan kurssilta tuttu pseudoinverssin kaava matlabilla. 7. Tutustu excel-tiedostoon kansiosta löytyvään excel-tiedostoon ja lataa se matlabiin 8. Sovita jokin lineaarinen malli ennustamaan ylläolevassa datassa onnettomuuksien määrää. Kaikkia data-sarakkeita ei tarvita. Kokeile ensin vaikka kahdella muuttujalla. 9. Project Euler tehtävä n

Vinkkejä harjoitustehtäviin 3: 2. Summafunktio. Laske erikseen 3 ja 5. Muista poistaa mahdolliset yhteiset monikerrat! 3. help -komento 4. 5. Funktio sign(x) antaa luvun x merkin. Ts. voit ratkaista: x0 = -0,5/a*(b+sign(b)*sqrt(d)). Mieti miksi! Kirjoita nyt ratkaisu siten, että ratkaisukaavan osoittajassa olevat summattavat ovat merkiltään samoja. Ratkaise nyt toinen juuri tiedoista: a*(x0+x1) = -b ja c=a*x0*x1 välttäen vähennyslaskuja (kahden erimerkkisen summaa). 6. Wikipedia tai matriisilaskennan pruju 7. Muuttujaikkunasta löytyy import toiminto. Voit myös käyttää a(2,:) komentoa poimimaan tietyn rivin. 8. Ks. matriisilaskennan pruju Matlab-klooneja Parhaiten tunnettu matlab klooni on ehdottomasti Octave, johon löytyy runsaasti laajennusosia. Graafisesta ympäristöä ja helppokäyttöisyyttä arvostaville Octave voi olla hieman haastava. Olen käyttänyt FreeMAT nimistä ohjelmaa, jonka graafinen käyttöliittymä on varsin mukava ja yhteensopivuus matlabin kanssa hyvä.