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

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

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

Matriiseista. Emmi Koljonen

BL40A0000 Säätötekniikan ja signaalinkäsittelyn

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

Matemaattiset ohjelmistot A. Osa 2: MATLAB

Mat-1.C Matemaattiset ohjelmistot

Insinöörimatematiikka D

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

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

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

Ohjelman käynnistäminen

Insinöörimatematiikka D

8. Yhtälöiden ratkaisuja Newtonilla, animaatioita

Matlabin perusteita Grafiikka

matlabteht/mlperusteet, Matlab-perusteita 1. mlp001.tex

Harjoitus 10: Mathematica

Lineaarialgebra ja matriisilaskenta I

Valitse ruudun yläosassa oleva painike Download Scilab.

Muuttujan sisällön näet kirjoittamalla sen nimen ilman puolipistettä

MATLABin alkeita J.Merikoski JYFL 2009 fysp120

1 Matriisit ja lineaariset yhtälöryhmät

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

Insinöörimatematiikka D

Muuttujan sisällön näet kirjoittamalla sen nimen ilman puolipistettä

1.1. Määritelmiä ja nimityksiä

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

Ortogonaalinen ja ortonormaali kanta

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

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

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

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

Insinöörimatematiikka D

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

Matlab- ja Maple- ohjelmointi

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

BM20A0700, Matematiikka KoTiB2

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Matematiikka B2 - Avoin yliopisto

ELEC-C5210 Satunnaisprosessit tietoliikenteessä Harjoitus M1,

9 Matriisit. 9.1 Matriisien laskutoimituksia

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

Harjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab)

Scilab ohjelman alkeisohjeet

Harjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab)

(1.1) Ae j = a k,j e k.

Matemaattiset ohjelmistot 1-2 ov, 2-3 op

Johdatus tekoälyn taustalla olevaan matematiikkaan

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

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

T Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

Numeerinen analyysi Harjoitus 3 / Kevät 2017

Lineaarialgebra ja matriisilaskenta I

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

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

Matematiikka B2 - TUDI

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

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

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

mlgrafiikka 1. Piirrä samaan kuvaan funktioiden cos ja sin kuvaajat välillä [ 2π, 2π] Aloita tyyliin: 2. Piirrä

y = k 1 x + b 1, x < s y = k 2 x + b 2, x > s

3x + y + 2z = 5 e) 2x + 3y 2z = 3 x 2y + 4z = 1. x + y 2z + u + 3v = 1 b) 2x y + 2z + 2u + 6v = 2 3x + 2y 4z 3u 9v = 3. { 2x y = k 4x + 2y = h

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

Laskennallinen lineaarinen algebra ja geometria

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

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

Tyyppi metalli puu lasi työ I II III

Kuvaus. Määritelmä. LM2, Kesä /160

Pienimmän neliösumman menetelmä

Matriisilaskenta Laskuharjoitus 5 - Ratkaisut / vko 41

mlteht/mlbasic, Matlab-perusteita

Aalto-yliopisto, Matematiikan ja Systeemianalyysin laitos Mat-1.C Matemaattiset ohjelmistot

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto

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

Ennakkotehtävän ratkaisu

2 / :03

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

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

Matlabin perusteet. 1. Käyttöliittymä:

Numeeriset menetelmät

Harjoitus 1 -- Ratkaisut

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

Harjoitus 3 -- Ratkaisut

MATLAB 7.1 Komentoikkunaharjoitus. Matti Lähteenmäki

Kevään 2011 pitkän matematiikan ylioppilastehtävien ratkaisut Mathematicalla Simo K. Kivelä /

Laskuharjoitus 9, tehtävä 6

Kaikkien paikallisten ääriarvojen haku

Tieto- ja tallennusrakenteet

Käänteismatriisi 1 / 14

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

Neliömatriisin adjungaatti, L24

Mat-C.1 harj2. Alustuksia f d 1 C sin x 1 C x 2 f := 1 C sin x

Inversio-ongelmien laskennallinen peruskurssi Luento 3

HY / Avoin yliopisto Lineaarialgebra ja matriisilaskenta II, kesä 2015 Harjoitus 1 Ratkaisut palautettava viimeistään maanantaina klo

DIFFERENTIAALI- JA INTEGRAALILASKENTA

Yleistä vektoreista GeoGebralla

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Liittomatriisi. Liittomatriisi. Määritelmä 16 Olkoon A 2 M(n, n). Matriisin A liittomatriisi on cof A 2 M(n, n), missä. 1) i+j det A ij.

Transkriptio:

Matlab-perusteita, 5. lokakuuta 2015 Matlab-perusteita,

Mikä on Matlab Matriisilaboratorio [Cleve Moler, Mathworks inc.] Numeerisen laskennan työskentely-ympäristö Suuri joukko matemaattisia ja muita funktioita, joita käyttäjä voi määritellä (ohjelmoida) lisää. Funktionaalinen ohjelmointikieli Sovellusalakohtaisia työkalupakkeja, "toolbox". Mathworks n oppimateriaaleja http://math.aalto.fi/ apiola/matlab/opas/lyhyt/ http://math.aalto.fi/opetus/mattie/mattieo/matlab.html Matlab-perusteita,

help,doc help >> help funnimi antaa käyttöohjeen ja doc-linkin Kokeile >> help sin, doc sin >> doc funnimi antaa kauniimman ja täydellisemmän tekstin, help on puolestaan nopeampi. >> doc + "Search tab " = hakutoiminto Esim: >> doc fmin, poly, ode >> lookfor : Sama kuin yllä suoraan komentoikkunassa. Kokeile: >> lookfor sum Liian väljä haku tuottaa paljon tulostusta kokeile (tai sitten ei) vaikka >> lookfor min Matlab-perusteita,

Alkutoimet Työtila, komentoikkuna Matriisit ja muut tietoalkiot tallettuvat muistiin työtilaan. who, whos Komentoja (funktioita) sovelletaan työtilan muuttujiin. Matlab tulkkaa ja palauttaa tuloksen (tai virheilmon) työtilaan. Matlab-perusteita,

Alkutoimet Työtila, komentoikkuna Matriisit ja muut tietoalkiot tallettuvat muistiin työtilaan. who, whos Komentoja (funktioita) sovelletaan työtilan muuttujiin. Matlab tulkkaa ja palauttaa tuloksen (tai virheilmon) työtilaan. 1 Käynnistä Matlab 2 Luo työhakemisto (joko File-valikko tai komento mkdir a ) 3 Aseta nykyhakemisto työhakmistoksesi. 4 Luo muuttuja: >> x=5 5 Suorita: >> y=exp(x) 6 Kokeile: >> who, whos a Jotkut Unix-komennot voidaan antaa Matlab-komentoikkunasta Matlab-perusteita,

Mathworks n "Getting started tutorials" Desktop Käynnistä Matlab, komentoikkuna isommaksi (tai "undoc") >> doc Matlab -> Getting started -> Tutorials Examples : videoita (kotona!) Valintoja: Desktop Basics, Matr and arrays Array indexing, Workspace vars Myöhemmin, omatoimisesti: Char strings, Calling fns, 2d and 3d plots, Progr. and scripts, Help and doc Matlab-perusteita,

Aritmetiikkaa Matlab Laskimena Kirjoita Matlablauseke komentoikkunan kehotteeseen >> Tulos lasketaan ja sijoitetaan muuttujaan ans Lauseke koostuu luvuista, muuttujista, funktioista, kuten +,-,*,/,^,(), sin, cos, exp, abs,... help elfun, doc elfun -> laaja luettelo Matlabin funktioista Lisää aiheesta: http://math.aalto.fi/ apiola/matlab/opas/mini/laskin.html http://math.aalto.fi/~apiola/matlab/opas/mini/laskin.html Matlab-perusteita,

Esimerkkejä lausekkeista Kirjoita tai copy/paste Matlab/Octave-komentoikkunaan. >> yksi=sin(pi/3)^2 + cos(pi/3)^2 % Sijoitus muuttujaa >> 5 + pi >> 6*sqrt(2)^4-12 >> 1==sin(pi/3)^2 + cos(pi/3)^2 % Ovatko samat >> exp(i*pi) % Ei e^x!! >> 1.0/0.0 >> -4/inf >> 0/0 >> format long % Tulostustarkkuus maksimiin >> [1+eps 2+eps 3+eps] % help eps, doc eps >> 1+(1:3)*eps % More about : Fl. pt. nrs. >> format short % Paluu oletusasuun >> clc % Puhdista näyttö vanhasta roju Matlab-perusteita,

Muuttujien nimet ja tyypit Muuttujia ei tarvitse alustaa eikä tyyppiä määritellä. Lukujen oletustyyppi on 64:n bitin liukuluku ( double ), n. 16 desimaalinumeroa. >> 2.345 Merkkien tyyppi on 16 bitin char >> a Useimmat kohtaamamme muuttujat ovat edellisistä koostuvia matriiseja. Luvun muuttaminen merkiksi: >> num2str(2.3) >> str2num(ans) % ja takaisin. Muita tyyppejä: logical, single,int-tyypit, help datatypes Matlab-perusteita,

Matriisit,vektorit, skalaarit Perustietorakenne: Matriisi, alkiot kompleksi(liuku)lukuja. Sarakevektori: (m,1)-matriisi Rivivektori: (1,n)-matriisi Skalaari: (1,1)-matriisi Tyhjä: (0,0)-matriisi Matriisin määritteleminen ja koko (size) Kokeile: >> A=[1 2 3 4 ;5 6 7 8; 9 10 11 12] >> [m,n]=size(a) >> v=-[1 2 3 4 ] >> length(v) >> 1:10 >> size(ans) % ans viittaa aina edelliseen, >> % jota ei sijoitettu muuttujaan. >> who Matlab-perusteita,

Vektorien muodostusfunktioita http://math.aalto.fi/ apiola/matlab/opas/mini/vektgraf.html Esim: v=a:h:b; v=linspace(a,b,n); (Oletusarvo: N=100) v=logspace(a,b,n); 10 a,..., 10 b, N pistettä >> logspace(0,1,4) ans = 1.0000 2.1544 4.6416 10.0000 >> 10.^linspace(0,1,4) ans = 1.0000 2.1544 4.6416 10.0000 http://math.aalto.fi/ apiola/matlab/opas/lyhyt/grafiikka.html Matlab-perusteita,

Perusgrafiikka, plot http://math.aalto.fi/ apiola/matlab/opas/mini/vektgraf.html Esim 1, yksi kuvaaja: >> x=linspace(0,3*pi); % Oletus siis 100 osaa. >> y=sqrt(x).*sin(x); >> plot(x,y) Esim 2, kaksi+ kuvaajaa: >> x1=linspace(0,pi,1000); % Lisätää pisteitä. >> y1=cos(4*x1).*sin(x1); >> x2=[0 1 3 3.5]; >> plot(x1,y1,x2,sqrt(x2), r-- ) % "red" katko http://math.aalto.fi/ apiola/matlab/opas/lyhyt/grafiikka.html Matlab-perusteita,

Matriisi- ja taulukkoalgebraa A, B matriiseja, koot yhteensopivat, c skalaari. Matriisialgebraa A + B, A+c A*B matriisitulo A konjugoitu transpoosi A. transpoosi (ilman konjug.) A^p Matriisipotenssi (A neliömatr.) A\b Ax = b x = A\b (jos A kääntyvä) Taulukkoalgebraa A + B, A+c A.*B Pisteittäinen tulo A.^p, A.^B Pisteittäinen potenssi, mielivalt. (samankokoiset) matriisit. A./B, c./a Pisteittäinen jako. Huom:sudenkuopat! Huom: c/a on yleensä aivan muuta kuin käyttäjä tarkoittaa! Miksihän? Matlab-perusteita,

Funktioita matriisien muodostamiseen eye,vander,hilb,zeros,ones,diag,rand,reshape,magic Tehtävä: Suorita komennot >> A = zeros(2,5) >> B = ones(3) % tai ones(3,3) >> R = rand(3,2) >> N = randn(3,2) >> D=diag(-2:2) Miten eroavat rand ja randn? Mitä tapahtuu, jos toistat: >> R = rand(3,2) ( ) komentoikkunassa tai CTR-ENTER editorissa Toista : >> rng( default ); R = rand(3,2) Matlab-perusteita,

Matriisin muodostaminen, osat ja kokoaminen >> A=[1:3;4:6] % Perustapa reshape Esim: Muotoilee annetun datan annetun kokoiseksi matriisiksi. Data sijoitetaan annetunkokoiseen kehykseen sarakejärjestyksessä. (Matlab on sarakeorientoitunut.) Dataa on oltava täsmälleen yhtä paljon kuin dimensioiden tulo. >> A=reshape(1:6,2,3) >> B=reshape(1:6,3,2) % Kun halutaan rivijärj. >> C=reshape(B,1,6) Matlab-perusteita,

Matriisin osat, indeksointi A=reshape(1:6,2,3); B=ones(2,2),C=diag(1:3) >> [A B] % Vierekkain ans = 1 3 5 1 1 2 4 6 1 1 >> [A;C] % Allekkain ans = 1 3 5 2 4 6 1 0 0 0 2 0 0 0 3 TÄHÄN MIT-kuva s. 25 Matlab-perusteita,

MIT:n värikuva, open courseware Matlab-perusteita,

Skalaarifunktiot, alkioittain toimivat Funktiot, jotka skalaariin sovellettuna antavat skaalaarituloksen, toimivat vektoreille ja matriiseille alkioittain ("pisteittäin"). Näin toimivat yleensä kaikki matemaattiset funktiot. >> t = [1 2 3]; >> y = exp(t) on sama kuin y = [exp(1) exp(2) exp(3)] Maple:ssa pitää vastaavassa tilanteessa käyttää map-operaattoria: > map(f,t); Versiosta 14 alkaen myös : > t := [a,b,c]; > f~(t); [f(a), f(b), f( c)] f on funktio (tai määrittelemäytön symboli), ei lauseke Matlab-perusteita,

Matriisien visualisointia Huvittele komentamalla tyyliin: >> mesh(ones(30));hold on;mesh(zeros(30)); >> mesh(eye(30));shg; hold off >> surf(diag(-5:5)) >> surf(magic(10));colorbar;shg >> surfc(vander(0:.1:1));colorbar;shg >> mesh(reshape(0:24,5,5)) Voit vaihdella esim. mesh surf ja lukua 30 sekä figure, hold off, ja voit keksiä muita visualisoitavia matriiseja. Näppää rotate -nuolta ja kääntele. Mieti samalla, miten ko. matriisi rakentuu. Matlab-perusteita,

Erikoismuuttujia, laskenta/näyttötarkkuus ans Edellisen komennon tulosmuuttuja, ellei tulosta ole sijoitettu nimettyyn muuttujaan. pi π, Huom: e ei ole erikoismuuttuja i,j Imaginaariyksikkö (kumpikin)» 3+i*4, 3+4i, 3+i4 Käytä kertomerkkiä silloinkin, kun ei pakko! eps Suhteellisen virheen tarkkuusraja realmin,realmax NaN,Inf "Not a Number", "ääretön"» 0/0, 1/0,-1/0 Muista:» help/doc Matlab-perusteita,