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



Samankaltaiset tiedostot
Ohjelman käynnistäminen

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

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

Valitse ruudun yläosassa oleva painike Download Scilab.

Zeon PDF Driver Trial

Matriiseista. Emmi Koljonen

BM20A0700, Matematiikka KoTiB2

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

BL40A0000 Säätötekniikan ja signaalinkäsittelyn

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

Matlab-perusteet Harjoitustehtävien ratkaisut

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

1.1. Määritelmiä ja nimityksiä

Matemaattiset ohjelmistot A. Osa 2: MATLAB

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

Lineaarialgebra ja matriisilaskenta I

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

Johdatus tekoälyn taustalla olevaan matematiikkaan

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

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Heikki Apiola, Juha Kuortti, Miika Oksman. 5. lokakuuta Matlabperusteita, osa 1

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

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

Käänteismatriisin ominaisuuksia

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

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

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

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

Ortogonaalinen ja ortonormaali kanta

Matlab- ja Maple- ohjelmointi

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

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

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

T Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

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

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

1.1 Vektorit. MS-A0007 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n. 1. Vektorit ja kompleksiluvut

Ohjelmoinnin jatkokurssi, kurssikoe

Insinöörimatematiikka D

Harjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab)

1. Lineaarialgebraa A := Matriisin osia voidaan muutella päivittämällä riviä, saraketta tai osamatriisia (Matlabmaisesti): B :=

Johdatus Ohjelmointiin

Harjoitus 10: Mathematica

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

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

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

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

Ville Turunen: Mat Matematiikan peruskurssi P1 1. välikokeen alueen teoriatiivistelmä 2007

1 Matriisit ja lineaariset yhtälöryhmät

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

KOMPLEKSILUVUT C. Rationaaliluvut Q. Irrationaaliluvut

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

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Matematiikka B2 - Avoin yliopisto

Insinöörimatematiikka D

9 Matriisit. 9.1 Matriisien laskutoimituksia

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

MEM-O-MATIC järjestelmä

Insinöörimatematiikka D

Matriisipotenssi. Koska matriisikertolasku on liitännäinen (sulkuja ei tarvita; ks. lause 2), voidaan asettaa seuraava määritelmä: ja A 0 = I n.

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

Luento 4. Timo Savola. 21. huhtikuuta 2006

1.1 Vektorit. MS-A0004/A0006 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n.

Ohjelmoinnin perusteet Y Python

Scilab ohjelman alkeisohjeet

Demo 1: Simplex-menetelmä

Matriisilaskenta Laskuharjoitus 5 - Ratkaisut / vko 41

Talousmatematiikan perusteet: Luento 10. Matriisien peruskäsitteet Yksinkertaiset laskutoimitukset Matriisitulo Determinantti

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Matriisilaskenta Luento 10: Polaarimuoto ja kompleksilukujen geometriaa

811120P Diskreetit rakenteet

Matematiikan tukikurssi, kurssikerta 3

MS-A0102 Differentiaali- ja integraalilaskenta 1

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

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

Python-ohjelmointi Harjoitus 2

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

PERUSLASKUJA. Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +5^2

Matematiikan tukikurssi

Harjoitus 1 -- Ratkaisut

Differentiaali- ja integraalilaskenta 1. Tietokoneharjoitus: ratkaisut

Matematiikka B2 - TUDI

c) 22a 21b x + a 2 3a x 1 = a,

1. Mikä on lukujen 10, 9, 8,..., 9, 10 summa? 2. Mikä on lukujen 10, 9, 8,..., 9, 10 tulo? =?

Laskuharjoitus 9, tehtävä 6

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

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

1 Tivax siirto uuteen koneeseen

Oppimistavoitematriisi

Kompleksiluvut., 15. kesäkuuta /57

1 Ominaisarvot ja ominaisvektorit

2.8. Kannanvaihto R n :ssä

Kuinka määritellään 2 3?

Talousmatematiikan perusteet

802118P Lineaarialgebra I (4 op)

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

Tieto- ja tallennusrakenteet

MS-A0004/MS-A0006 Matriisilaskenta Laskuharjoitus 6 / vko 42

Transkriptio:

Matlab-perusteet Jukka Jauhiainen OAMK / Tekniikan yksikkö Hyvinvointiteknologian koulutusohjelma Tämän materiaalin tarkoitus on antaa opiskelijalle lyhyehkö johdanto Matlabohjelmiston perusteisiin. Matlabin opiskeluun käytössä oleva tuntimäärä on hyvin rajallinen, joten tästä materiaalista on pyritty tekemään sellainen, että perusteet voi opiskella itsenäisestikin. Tarkoitus on keskittyä sellaisiin asioihin, joihin opiskelujen varrella monesti törmää. Moniin matemaattisiin ongelmiin Matlab on varsin hyödyllinen työkalu. Sen takia sen käyttöä opiskellaan Signaaliteorian kurssilla. Ohjelman käynnistäminen Nämä ohjeet pätevät Tekniikan yksikön verkosta käynnistyvään Matlab6p5-versioon. Ohjelmaa voi ajaa suoraan verkosta ilman minkäänlaisia asennuksia paikallisille koneille, joten se toimii (ainakin periaatteessa) missä tahansa Tekniikan yksikön verkkoon kytketystä koneesta. Verkosta saattaa löytyä vanhempiakin versioita (kuten esim. Matlab6p), mutta ne eivät toimi! Todennäköistä on, että Matlab ei löydy Windowsin START-valikosta tai työpöydältä. Yleensä se on käynnistettävä Windows Explorerin kautta klikkaamalla Tools -> Map Network Drive. Folderiksi valitaan \\s\apps\kotka\matlab6p5

Kyseisestä hakemistosta löytyy ikoni, jota tuplaklikkaamalla ohjelma käynnistyy. Joskus ohjelma ei käynnisty, vaan ruutuun ilmestyy "Licence Manager Error". Tässä tilanteessa ota yhteys ATK-tukeen (ensisijaisesti Pekka Hämäläinen). Käynnistyminen saattaa kestää verkon yli jonkin aikaa, joten ole kärsivällinen. Niin kauan kuin vasemmanpuoleisessa ikkunassa on teksti "initializing", on lataus käynnissä. Käyttöliittymä Käynnistyksen jälkeen käytössä on kolme ikkunaa, joihin osaan voi valita eri toimintoja. Tärkein ikkuna on komentoikkuna (Command Window). Sinne käyttäjä voi kirjoittaa haluamiaan komentoja. Oheisessa esimerkissä on lisäksi Workspaceikkuna, jossa näkyy sillä hetkellä käytössä olevat muuttujat. Muuttujaa tuplaklikkaamalla saa näyttöön Excel-tyylisen taulukon, jossa näkyy muuttujan arvot. Kolmas esimerkin ikkuna on Command History, jossa näkyy lista edellisistä komennoista. Ne voi toistaa tuplaklikillä. Myös unix-maailmasta tuttu nuoli ylös/alas toimii komentoikkunassa. Muitakin ikkunoita on, ne on valittavissa yläpalkin viewnapin takaa. Yksittäisten komentojen lisäksi on mahdollista kirjoittaa hyvinkin monimutkaisia komentosarjoja tiedostoihin (ns. M-tiedostot). Näin tehtyjä uusia funktioita voidaan käyttää kuin mitä tahansa Matlabin sisäänrakennettuja valmisfunktioita.

Yleistä Nimi "matlab" tulee sanoista Matrix Laboratory. Matlab on siis suunniteltu ensisijaisesti matriisilaskentaan. Tämän ei pidä antaa pelottaa vaikka matriisin käsite olisikin päässyt unohtumaan. Vektorihan on yksiulotteinen (eli 1xn tai nx1) matriisi. Yksittäinen luku (eli skalaari) voidaan ajatella 1x1-matriisiksi. Esimerkiksi 3x3- matriisi on joukko lukuja, jotka on järjestetty 3 riviksi ja 3 sarakkeeksi. Matlab on tulkkaava ohjelmointikieli, eli se lukee rivi riviltä käyttäjän antamat komennot ja suorittaa niitä sitä mukaa. Virhetilanteessa ohjelman suoritus keskeytyy virheilmoitukseen. Tulkkavuudesta johtuu, että ohjelmien suoritus on hidasta verrattuna "oikeisiin" kääntäviin ohjelmointikieliin (esim. C).. Matlabin suosio perustuu pitkälti siihen, että siihen on saatavissa lukuisa laajennusosia, Toolboxeja, joiden ansiosta kaikkea ei tarvitse koodata itse alusta asti. Toolboxeja on saatavissa mm. signaalinkäsittelyyn, kuvankäsittelyyn, optimointiin, systeemisuunnitteluun jne. Niitä tulee myös koko ajan lisää. Tehtävä: Käy ohjelman tekijän MathWorks Inc:n kotisivulla. Kokeile kirjoittaa komentoriville komentoja help, helpwin, info ja demo. Tehtävä: Mitä komennot whos, cd, pwd ja clear tekevät?

Muutamia perusjuttuja Muuttujat ja peruslaskutoimitukset Määrittele muuttujat a ja b, anna niille vaikkapa arvot 1 ja 2 ja kokeile peruslaskutoimituksia niillä: >>a+b >>a-b >>a*b >>a/b >>a\b >>a^b Rivin lopussa oleva puolipiste (;) estää tulostuksen näytölle. Tämä voi olla tarpeen jos tulostusta on paljon. Huomaa, että koska Matlab on suunniteltu matriisilaskentaan, on jakolasku hieman mutkikkaampi kuin tavallisissa ohjelmointikielissä. Miten edellä operaatioiden a/b ja a\b tulos on selitettävissä? Kompleksiluvut Sitten hieman kompleksilukuja. Määrittele luku z=1-2i ja selvitä, miten saat kompleksiluvun reaali- ja imaginääriosan, itseisarvon ja vaihekulman. Yksiulotteiset vektorit Vektori on taulukko, jossa on lukuja peräkkäin. Matlabissa taulukkojen indeksointi alkaa aina YKKÖSESTÄ, ei nollasta kuten esimerkiksi C:ssä. Vektori voidaan määritellä komennolla: >>x=[eka:askel:vika]; missä eka on vektorin ensimmäinen alkio, askel sanoo paljonko arvoa kasvatetaan ja vika on viimeinen alkio. Askeleen voi jättää pois, jolloin oletus on 1. Vektorin tiettyyn alkioon viitataan antamalla vektorin nimi ja sen perään suluissa numero, joka kertoo, monenteenko alkioon viitataan. Siis >>x(n) Tulostaa vektorin x n:nnen alkion. Kaksoispisteen avulla voidaan määritellä tulostettavaksi joukko peräkkäisiä alkioita: >>x(n1:n2) Tulostaa vektorin sisällön alkaen indeksistä n1 ja päättyen indeksiin n2. Esimerkki: Tehdään vektori x, joka saa arvot 0:sta 10:een 0.1 välein. >>x=[0:0.1:10]; x:n sisäl lön voi tarkistaa kirjoittamalla komentoikkunaan x, tai tuplaklikkaamalla sitä Workspacessa (sen pitäisi ilmestyä sinne tuon komennon jälkeen). Tulostetaan seuraavaksi x:n 1. alkio:

>>x(1) 0 Ellei jonkin operaation tulosta sijoiteta johonkin muuttujaan, Matlab sijoittaa sen automaattisesti muuttujaan ans. Se siis sisältää aina viimeisimmän laskutoimituksen tuloksen. Vastaavasti komento >>a=x(1) sijoittaa x:n ensimmäisen alkion arvon muuttujaan a (joka ilmestyy Workspaceen). Katsotaan seuraavaksi, mitä x:n 10 ensimmäistä alkiota ovat: >>x(1:10) Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 10 0.7000 0.8000 0.9000 Vektorin alkioihin voidaan myös sijoittaa arvoja. Esimerkiksi tässä asetetaan vektorin x 10 ensimmäiseen alkioon 0: >>x(1:10)=0; Pysty- ja vaakavektorit Matlabissa vektori voidaan esittää joko pysty- tai vaakavektorina. Oletusarvona Matlab tekee vaakavektorin. Sen voi muuttaa pystyvektoriksi eli transponoida komennolla x : >> x=[1:3] x = 1 2 3 >> x' 1 2 3 Tehtävä: Tee vektori x, joka sisältää kokonaisluvut 1-5 ja vektori y, joka sisältää luvut 6 10. Kokeile yhteen-, vähennys, kerto- ja jakolaskuja. Mitä tapahtui?

Summa ja erotus on määritelty matemaattisesti vektoreille siten, että operaatio kohdistuu vektorien vastinalkioihin. Sen sijaan tulon ja osamäärän tapauksessa Matlab pyrkii laskemaan aina matriisitulon. Tehtävä: Selitä, mitä seuraavat operaatiot tekevät: x*y x *y Vastinalkioiden kerto- ja jakolasku on toki myös mahdollista. Se määritellään laittamalla operaattorin eteen PISTE. Siis esumerkiksi x.*y. Tehtävä: Laske vektorien x ja y alkioittainen tulo ja osamäärä. Matriisit Matriisi on kaksiulotteinen taulukko (vektori). Matriisin alkiot annetaan hakasulkujen sisällä rivi kerrallaan puolipisteillä erotettuna. Esimerkki: a=[1 2 3; 4 5 6; 7 8 9] a = 1 2 3 4 5 6 7 8 9 >> a' 1 4 7 2 5 8 3 6 9 Matriisin transponointi siis kääntää rivit sarakkeiksi ja päinvastoin. Peruslaskutoimituksiin matriiseilla pätee samat periaatteet kuin edellä vektoreihin. Summa ja erotus on siten määritelty vain kahden samankokoisen matriisin kesken. Matriisin a käänteismatriisi voidaan laskea komennolla inv(a). Tehtävä: Käytä edellä määriteltyä matriisia a. Tee myös vaakavektori b, joka sisältää luvut 1, 2 ja 3. Mitä laskutoimituksia a:n ja b:n välillä voi tehdä? Tehtävä: Matlabissa on valmiina joukko komentoja, joilla voidaan tehdä tiettyjä erikoismatriiseja. Tällaisia on esimerkiksi ones(n), zeros(n), eye(n), magic(n) jne. Mitä nämä komennot tekevät? Kirjaimen n tilalla on oltava positiivinen kokonaisluku.

Tehtävä: TST:ssä käytettiin tasavirtapiirien yhteydessä paljon silmukkamenetelmää, jossa tuntemattomat silmukkavirrat saatiin matriisiyhtälöstä 1 I = R ε. Ratkaise oheisen kytkennän silmukkavirrat Matlabia käyttäen: 10Ω A 20Ω 100V 10Ω 40V B