Matlabin perusteita Grafiikka



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

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

Zeon PDF Driver Trial

Matemaattiset ohjelmistot A. Osa 2: MATLAB

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

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

MATLAB 7.1 Ohjelmointiharjoitus. Matti Lähteenmäki

T Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

ATK tähtitieteessä. Osa 5 - IDL datan sovitusta ja muita ominaisuuksia. 25. syyskuuta 2014

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

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 5 - IDL datan sovitusta ja muita ominaisuuksia. 25. syyskuuta 2014

MATLABin alkeita J.Merikoski JYFL 2009 fysp120

IDL - datan sovitus. ATK tähtitieteessä. IDL - esimerkiksi linfit. IDL - esimerkiksi linfit

Matlab- ja Maple- ohjelmointi

Tieteellinen laskenta 2 Törmäykset

Valitse ruudun yläosassa oleva painike Download Scilab.

Luento 5. Timo Savola. 28. huhtikuuta 2006

Harjoitus 2: Ohjelmointi (Matlab)

Harjoitus 2: Ohjelmointi (Matlab)

Ehto- ja toistolauseet

Ohjelmoinnin peruskurssi Y1

Matemaattiset ohjelmistot 1-2 ov, 2-3 op

Harjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

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

Scilab ohjelman alkeisohjeet

Ohjelmoinnin perusteet Y Python

ELEC-C5210 Satunnaisprosessit tietoliikenteessä Harjoitus M1,

MATLAB 6.0 Käyttöliittymäopas. Matti Lähteenmäki

BL40A0000 Säätötekniikan ja signaalinkäsittelyn

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

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

Harjoitus 10: Mathematica

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

Johdatus L A TEXiin. 7. Taulukot ja kuvat. Dept. of Mathematical Sciences

Ohjeita. Datan lukeminen

8. Yhtälöiden ratkaisuja Newtonilla, animaatioita

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Harjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab)

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

Ohjelmoinnin perusteet Y Python

Mat-1.C Matemaattiset ohjelmistot

Ohjelmoinnin perusteet Y Python

JavaScript alkeet Esimerkkikoodeja moniste 2 ( Metropolia)

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

ATK tähtitieteessä. Osa 2 - IDL perusominaisuudet. 12. syyskuuta 2014

Ohjelmoinnin perusteet Y Python

wxmaxima-pikaopas Ari Lehtonen

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

1. HARJOITUS harjoitus3_korjaus.doc

Käyttäjän käsikirja. LIB 500 ja LIB 510 v Releasettelutyökalu Yleistä. ,NNXQDMRNDLOPRLWWDDHWWlNRKGHRQSlLYLWHWWlYl

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

SciPy OPAS. Matti Pastell. Maataloustieteiden laitos, Helsingin yliopisto. 12. tammikuuta 2010.

Aloitusohje versiolle 4.0

4. Lausekielinen ohjelmointi 4.1

LUMA Suomi kehittämisohjelma :53 Joustava yhtälönratkaisu Matemaattinen Ohjelmointi ja Yhtälönratkaisu

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

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

Ohjelmoinnin peruskurssi Y1

Harjoitus 3: Matlab - Matemaattinen mallintaminen

MATLAB 6.0 m-tiedoston ohjelmointiopas. lähteenmäki.m

SIMULINK S-funktiot. SIMULINK S-funktiot

MITEN TARKISTAT TIETOKONEESI VERKKOKORTTIASETUKSET


Käyttöliittymäohjelmointi

LABORAATIOSELOSTUSTEN OHJE H. Honkanen

etunimi, sukunimi ja opiskelijanumero ja näillä

Ohjelmoinnin perusteet Y Python

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Ohjelmoinnin peruskurssi Y1

0.08 bussimatkustajaa ei-bussimatkustajaa

Est.kand Kandidaatintyö ja seminaari: L A T E Xin käyttöönotto

TAITAJA 2007 ELEKTRONIIKKAFINAALI KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

Kaikkien paikallisten ääriarvojen haku

Python-ohjelmointi Harjoitus 2

Matemaattisia funktioita

Numeerinen analyysi Harjoitus 3 / Kevät 2017

Java-kielen perusteet

3. Laajakaistaliittymän asetukset / Windows XP

Harjoitus 3 -- Ratkaisut

Laskuharjoitus 9, tehtävä 6

Racket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager

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

FUNKTION KUVAAJAN PIIRTÄMINEN

MATLAB 7.1 Komentoikkunaharjoitus. Matti Lähteenmäki

Säätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia

805324A (805679S) Aikasarja-analyysi Harjoitus 5 (2016)

Derivaatta graafisesti, h- ja keskeisdifferenssimuodot GeoGebralla Valokuva-albumi

MATEMAATTISET OHJELMISTOT. Syksy 2012

Bootstrap / HTDP2 / Realm of Racket. Vertailu

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

Transkriptio:

BL40A0000 SSKMO KH 1 Seuraavassa esityksessä oletuksena on, että Matlabia käytetään jossakin ikkunoivassa käyttöjärjestelmässä (PC/Win, Mac, X-Window System). Käytettäessä Matlabia verkon yli joko tekstipäätteeltä, joka emuloi jotain grafiikkapäätettä tai X-Window ympäristössä ongelmia voi esiintyä. Periaateena on siis, että graafiset esitykset saadaan erillisiin ikkunoihin. Oletusarvona on, että perättäiset grafiikkaesitykset piirretään samaan ikkunaan, jolloin edellinen katoaa uuden tieltä. Edellisen esityksen saa säilymään komennolla hold on. Uusi grafiikkaikkuna luodaan puolestaan komennolla figure. komennot kohdistuvat aina aktiivisena olevaan ikkunaan. Ikkunan saa aktiiviseksi näpäyttämällä sitä hiirellä tai antamalla ikkunan numero figurekomennon argumenttina esim. figure(2). Kuvat voidaan numeroida jo ikkunan luomisvaiheessa. BL40A0000 SSKMO KH 2 1

Samaan ikkunaan voidaan luoda useita graafisiä esityksiä (=akselistot ja kuvaaja) subplot komennolla. 2D kuvaajien piirtämisen peruskomento on plot. Komennolle annetaan normaalisti argumentteina kaksi samankokoista vektoria, joista ensimmäinen tulkitaan piirrettävän käyrän x-koordinaateiksi ja jälkimmäinen y- koordinaateiksi. Komennolla voi olla myös kolmas argumentti, jolla voidaan määrittää viivatyyppi tai symboli sekä väri. Samalla komennolla voidaan piirtää myös useampia kuvaajia antamalla tarvittavat argumentit peräkkäin. ESIMERKKEJÄ: plot(y) plot(x,y) plot(x1,y1, b,x2,y2, r ) plot(x,[y1 y2]) plot(x1,y1, g-,x2,y2, ko ) BL40A0000 SSKMO KH 3 Aktiivinen grafiikkaikkuna tyhjennetään komennolla clf ja suljetaan komennolla close. Komento close all sulkee kaikki grafiikkaikkunat. Yleensä kaikki Matlabin piirtokomennot toimivat samalla periaatteella kuin plot. Kannattaa siis opetella käyttämään plot-komentoa hyvin, jolloin muiden piirtokomentojen soveltaminen help komento toiminnon avulla on helppoa. Muita Matlabista löytyviä 2D piirtokomentoja ovat loglog, semilogx, semilogy logaritmiset asteikot plotyy kaksi y-akselia, toinen oikeassa toinen vas. reunassa polar napakoordinaattiesitys Katso lisää muista 2D kuvaajien komennoista help graph2d. BL40A0000 SSKMO KH 4 2

Graafisten esitysten muokkaamisen voi yksittäisen kuvan osalta tehdä ikkunan valikoista käsin. Apua löytyy valikosta Help -> Editing Plots. Jos aikomuksena on piirtää useita samankaltaisia graafisia esityksiä tai automatisoida kuvien piirto, on komentojen käyttäminen parempi vaihtoehto. Myös grafiikkatoimintojen oletusasetusten vaihtamista halutuiksi istunnon ajaksi kannattaa käyttää. Kuvien muokkaamiseen liittyyvät seuraavat periaatteet: 1. Jokaiseen kuvaan liittyy yksilöllinen tunniste (eng. handle). 2. Piirtokomennot palauttavat yleensä tunnisteen arvon, jolloin sen voi sijoittaa johonkin muuttujaan. Aktiivisen ikkunan tunnisteen saa komennolla gcf. BL40A0000 SSKMO KH 5 3. esityksiin liittyy suuri joukko aseteltavia ominaisuuksia (eng. properties), jotka saa näkyviin komennolla get(h). 4. Ominaisuuden arvo muutetaan komennolla set, jonka syntaksi on set(h, PropertyName, PropertyValue ). 3D grafiikan suhteen suosittelen lämpimästi kääntymään tapauskohtaisesti help graph3d komennon ja On-line manuaalin puoleen. Yleisimmin i i käytettäviä ä 3D piirtokomentoja ovat: plot3 piste- ja viivagrafiikkaa 3D avaruudessa mesh pinnat verkkoina surf pinnat väritettyinä BL40A0000 SSKMO KH 6 3

Yleisimmin käytettyjä grafiikkatoimintoja varten on luotu joitakin suoria komentoja. Esim. grid lisää kuvaan taustaruudukon axis([xmin xmax ymin ymax]) koordinaatiakselien rajat xlabel( teksti ), ylabel( teksti ) koord.akselitekstit title( Otsikko ) otsikkotekstin lisääminen legend( data1, data2, ) useamman käyrän nimeäminen BL40A0000 SSKMO KH 7 Alla olevassa kuvassa on esitetty yhteenvetona Matlabin puurakenteinen grafiikkaobjektien hierarkia. Lisää aiheesta Matlabin manuaalista kohdasta Using MATLAB Graphics -> Handle Graphics (Objects) BL40A0000 SSKMO KH 8 4

Makrot Makrot ovat merkkijonoja, jotka muodostuvat Matlabin komennoista. Makrolle annetaan nimi ja ne talletetaan työtilaan aivan kuin muutkin muutujat. Makro suoritetaan komennolla eval(makron_nimi). ESIMERKKI:» makro1='t=0:0.001:100e-3; z=exp(-10*t).*exp (j*100*pi*t); figure; subplot(2,1,1); plot(real(z),imag(z)); grid on; axis square; subplot(2,1,2); polar(angle(z),abs(z))';» eval(makro1) Tuloksena saadaan mitä? Makrot soveltuvat lyhyehkojen komentojonojen tallettamiseen, joiden kutsuminen on usein helpompaa kuin komentohistorian selaaminen. BL40A0000 SSKMO KH 9 Makrot 1 0.5 0-0.5-1 -1 0 1 150 120 90 1 60 05 0.5 30 180 0 210 240 270 300 330 BL40A0000 SSKMO KH 10 5

Ohjelmointi: m-filet ja funktiot Matlabissa on oma ohjelmointikieli Matlab, joka muodostuu itseasiassa kaikista ohjelman komennoista ja funktioista. Myös normaalit ohjelmoinnin ohjausrakenteet ovat käytettävissä: for toistolauseke, käsky1; käsky2; ; end while ehtolauseke, käsky1; käsky2; ; end if ehtolauseke, käsky; elseif ehtolauseke, käsky; else käsky; end Vertailuoperaattorit ovat: >, <, >=, <= sekä == (yhtäsuuruus) ja ~= erisuuruus. Vertailtaitavat muutujat voivat olla myös vektoreita ja matriiseja, jolloin vertailu suoritetaan alkioittain. Vertailuun voidaan käyttää myös operaattoreita all ja any. Ehtojen yhdistämiseen voidaan käyttää vaihtoehtoisesti joko funktioita and, or ja not tai vastaavia symboleja &, ja ~. BL40A0000 SSKMO KH 11 Ohjelmointi: komentojono- ja funktiotiedostot eli m-filet Ohjelmointikielellä voidaan luoda ohjelmatiedostoja, j m-tiedostoja, j,jotka ovat jollakin editorilla luotuja tavallisia tekstitiedostoja. Tiedoston nimen loppuosa on kuitenkin.m. Tiedosto voi olla komentojonotiedosto tai funktiotiedosto. Komentojonotiedosto sisältää Matlabin käskyjä samaan tapaan kuin makrot. Tiedosto suoritetaan kirjoittamalla tiedoston nimi (ilman.m laajennusta) Matlabin kehotteeseen. Mtlbi Matlabin funktiotiedosto t on vastaava muiden ohjelmointikielien li funktioille: ill funktiolla voi olla nolla, yksi tai useampia syöte- ja tulosparametreja, jotka välitetään funktiota kutsuttaessa tai palautettaan funktion suorituksen tuloksena. Parametrit voivat olla mitä tahansa Matlabin muuttujia. BL40A0000 SSKMO KH 12 6

Ohjelmointi: komentojono- ja funktiotiedostot eli m-filet Funktiotiedoston ensimmäisellä rivillä määritellään parametrit: function [y1,y2, ym]=fnimi(u1,u2, un) u1,u2, un ovat syöteparametreja ja y1,y2, ym ovat tulosparametreja. Jos tulosparametreja on vain yksi hakasulkuja ei tarvita. Funktion nimi on fnimi ja sen on talletettava tiedostonimellä fnimi.m. Funktiota kutsutaan komentoikkunassa, makrossa tai toisessa komentojono- tai funktiotiedostossa komennolla joka on muotoa [t1,t2, tm] t2 tm]=fnimi(s1,s2, sn) s2 sn) %-merkillä erotetaan kommenttirivit varsinaisesta ohjelmakoodista. Määrittelyrivin jälkeiset perättäiset kommenttirivit tulostuvat komennolla help fnimi käyttäjälle ohjeeksi. BL40A0000 SSKMO KH 13 Ohjelmointi: komentojono- ja funktiotiedostot eli m-filet Esimerkkinä olkoon Matlabin cot-funktio: function y = cot(z) %COT Cotangent. % COT(X) is the cotangent of the elements of X. % Copyright (c) 1984-98 by The MathWorks, Inc. % $Revision: 5.3 $ $Date: 1997/11/21 23:28:15 $ y = 1./tan(z); BL40A0000 SSKMO KH 14 7

Ohjelmointi: komentojono- ja funktiotiedostot eli m-filet Komentojono- ja funktiotiedostot luodaan siis tavallisella tekstieditorilla. Matlabissa on versiosta 5 (Win) lähtien ollut oma editori joka käynnistyy automaattisesti kun avataan tai luodaan uusi m-tiedosto. Olemassa olevaa m- tiedostoa pääsee editoimaan myös komennolla edit tiedosto.m. BL40A0000 SSKMO KH 15 8