Harjoitus 3: Matlab - Matemaattinen mallintaminen
|
|
- Merja Jääskeläinen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Harjoitus 3: Matlab - Matemaattinen mallintaminen Mat Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat Sovelletun matematiikan tietokonetyöt 1
2 Harjoituksen aiheita Tutustuminen matemaattiseen mallinnukseen Ohjelmointi Matlabissa Funktiot ja komentojonotiedostot Matlabissa Mat Sovelletun matematiikan tietokonetyöt 2
3 Matemaattinen mallintaminen Malli = Todellisuuden jäljitelmä. Fysikaaliset lait, tilastollinen päättely, simulointi... Hyvä malli on yksinkertainen mahdollinen (käyttötarkoitukseensa nähden) Mallin avulla systeemiä voidaan tarkastella ilman kokeiden tekemistä. - Kokeiden tekeminen systeemistä voi olla liian vaikeaa tai kallista. Mat Sovelletun matematiikan tietokonetyöt 3
4 White Box - Black Box White box malli: Systeemin riippuvuussuhteet tunnetaan. - Luonnonlait - Fysikaalinen mallintaminen - Esim. sähköpiirin mallintaminen Black box malli: Systeemin riippuvuussuhteita ei tunneta, vaan sovitetaan malli mittausdataan. - Identifiointi - Esim. kansantalouden mallintaminen Välimaastossa Gray Box mallintamin - Systeemin rakenne osittain tunnettu, mittausdataa käytetään parametrien määrittämiseen. Mat Sovelletun matematiikan tietokonetyöt 4
5 Mallien käyttötarkoituksia 1/2 Ennustaminen - Esim. Kuinka suuri sähkön kulutus tulee olemaan ensi vuonna? Optimointi - Esim. Mikä on paras mahdollinen tuotannon määrä yritykselle? Säätö - Esim. Kuinka paperikonetta tulisi ohjata, jotta lopputulos olisi tasalaatuista? Mat Sovelletun matematiikan tietokonetyöt 5
6 Mallien käyttötarkoituksia 2/2 Päätöksenteko - Esim. Pitäisikö Suomeen rakentaa lisää ydinvoimaa? Maailmankuvan muodostaminen - Esim. Mitkä tekijät vaikuttavat Suomen kansantalouden kehittymiseen? Mat Sovelletun matematiikan tietokonetyöt 6
7 Mallien luokittelu 1/2 Deterministinen - Stokastinen Dynaaminen - Staattinen Jatkuva-aikainen - diskreettiaikainen Keskitetyt parametrit - Jakautuneet parametrit Jatkuva-aikainen - Tapahtumaorientoitunut Parametrinen - Ei-parametrinen Single-input-single-output (SISO) - Multi-input-multi-output (MIMO) Lineaarinen - Epälineaarinen Aikavariantti - Aikainvariantti Aikatasomalli - Taajuustasomalli Mat Sovelletun matematiikan tietokonetyöt 7
8 Mallien luokittelu 2/2 Mallit voidaan myös jaotella aiheen mukaan: - Matemaattiset mallit esim. Fysiikassa Lääketieteessä Psykologiassa Taloustieteessä TAI ratkaisutekniikan mukaan: - Matemaattinen mallintaminen esim. Differentiaaliyhtälöillä Graafeilla Matemaattisella ohjelmoinnilla Neuroverkoilla Mat Sovelletun matematiikan tietokonetyöt 8
9 Mallinrakennuksen vaiheet (1) Tehtävän määrittely (2) Mallin muodostaminen - Puetaan kohdan (1) tehtävä matemaattiselle kielelle. (3) Mallin ratkaiseminen - Suoraviivaisin osuus, perustuu yleensä hyvin määriteltyyn matemaattiseen teoriaan. (4) Validointi - Vastaako malli niihin kysymyksiin, johon sen piti vastata? (5) Ratkaisun käyttöönotto - Toimintaohjeita mallin käyttäjälle. Mat Sovelletun matematiikan tietokonetyöt 9
10 Ohjelmointi Matlabissa Relaatio-operaattorit < Pienempi kuin <= Pienempi tai yhtä suuri kuin > Suurempi kuin >= Suurempi tai yhtäsuuri kuin == Yhtä suuri kuin ~= Eri suuri kuin Huom! = on sijoitusoperaattori. Mat Sovelletun matematiikan tietokonetyöt 10
11 Loogiset operaattorit 1/2 && Palauttaa arvon true jos molemmat tarkasteltavat lausekkeet saavat arvon true, muussa tapauksessa palauttaa arvon false. Palauttaa arvon true jos jompikumpi inputeista (tai molemmat) saavat arvon true, muussa tapauksessa palautetaan false. Matlabissa on myös loogisia operaattoreita, jotka tarkastelevat vektoreita tai matriiseja alkioittain. - &,, xor Mat Sovelletun matematiikan tietokonetyöt 11
12 Loogiset operaattorit 2/2 && operaattoria käytettäessä toista lauseketta ei evaluoida mikäli ensimmäinen saa arvon false. Esim. Nollalla jakaminen voidaan estää seuraavasti: - x = (b ~= 0) && (a/b > 18.5) Mat Sovelletun matematiikan tietokonetyöt 12
13 Ohjelman kontrollirakenteet - if, else, elseif Haarautuminen: Ohjelmakoodissa voidaan edetä eri tavoin riippuen ohjelman tilasta. - if, else, elseif if x < 0 disp( Negatiivinen luku ); elseif rem(x,2) == 0 % Tarkastellaan jakojäännöstä disp( Parillinen luku ); else disp( Pariton luku ); end Mat Sovelletun matematiikan tietokonetyöt 13
14 Ohjelman kontrollirakenteet - switch, case, otherwise Jos haarautumisvaihtoehtojen määrä on suuri, on helpompaa käyttää switch - rakennetta. - switch, case, otherwise switch x case 1 disp( Tulos on yksi. ) case 2 disp( Tulos on kaksi. ) case 3 disp( Tulos on kolme. ) otherwise disp( Jokin muu luku. ) end Mat Sovelletun matematiikan tietokonetyöt 14
15 Ohjelman kontrollirakenteet - for Silmukoiden avulla joukko komentoja voidaan ajaa useamman kerran peräkkäin. for - silmukka - Käytetään kun silmukan toistojen lukumäärä on ennaltamäärätty. - Esim. Käydään läpi kaikki matriisin rivit. Mat Sovelletun matematiikan tietokonetyöt 15
16 Ohjelman kontrollirakenteet - while while - silmukka - Käytetään kun toistojen lukumäärä ei ole ennaltamäärätty. - Esim. Haetaan ratkaisua iteratiivisesti kunnes tietty toleranssiehto täyttyy. % Lasketaan ns. kone-epsilonin arvo eli luvun 1.0 % ja sitä seuraavan liukuluvun välinen ero. eps = 1; while (1+eps) > 1 eps = eps/2; end eps = eps*2 Mat Sovelletun matematiikan tietokonetyöt 16
17 continue, break, return Silmukoissa käytettäviä komentoja: - continue: Siirrytään silmukan alkuun seuraavalle iteraatiokierrokselle. - break: Siirrytään ulos silmukasta. - return: Lopetetaan koodin suoritus. Mat Sovelletun matematiikan tietokonetyöt 17
18 Silmukoita ei aina tarvitse käyttää... Matlab on sunniteltu vektori- ja matriisioperaatioita varten. Vektorization: for ja while -silmukoiden korvaaminen vektoritai matriisioperaatioilla. - Laskennallisesti tehokkaampaa kuin silmukoiden käyttäminen. % Sinifunktion arvojen % laskenta for-silmukassa % Vastaava operaatio % vektorimuodossa i = 0; for t = 0:.01:10 i = i + 1; y(i) = sin(t); end t = 0:.01:10; y = sin(t); Mat Sovelletun matematiikan tietokonetyöt 18
19 Funktiot ja komentojonotiedostot M-tiedostot voidaan jakaa funktioihin ja komentojonotiedostoihin (skripteihin). Funktiot: - Ottavat sisään argumentteja ja palauttavat myös arvoja. - Muuttujat tallennetaan funktion omaan sisäiseen työtilaan. - Matlabin työtilassa olevia muuttujia ei voida suoraan käyttää funktion sisällä, eikä funktion sisäisiä muuttujia voida käyttää sen ulkopuolella. Mat Sovelletun matematiikan tietokonetyöt 19
20 Funktioiden syntaksi function [x, y] = myfun(a, b, c) % Function definition line x = prod(a, b); % Start of Function code Yo. esimerkissä: - myfun : funktion nimi. - a, b, c : funktion input-argumentit. - x, y : funktion palauttamat arvot. - Funktio tallennetaan saman nimiseen m-tiedostoon. - Esim. funktio myfun() tallennettaisiin tiedostoon myfun.m. - Funktion 1. rivi alkaa avainsanalla function: Kertoo Matlabille, että ko. tiedosto on funktio eikä komentojonotiedosto. Mat Sovelletun matematiikan tietokonetyöt 20
21 Komentojonotiedostot Hyödyllisiä automatisoimaan peräkkäisiä komentoja, joita joudutaan ajamaan monta kertaa. Eivät hyväksy argumenttejä inputina eivätkä palauta argumenttejä. Muuttujat tallennetaan samaan työtilaan kuin Matlabin komentoriviltä ja muista skripteistä luodut muuttujat. - Käytettävissä myös skriptin suorittamisen päätyttyä. - Myös työtilassa olevia muuttujia voidaan hyödyntää skriptissä. - Skriptiä ajettaessa työtilassa olevien muuttujien päälle voi myös vahingossa tallentua uusia arvoja. Mat Sovelletun matematiikan tietokonetyöt 21
22 Ohjelman kehittäminen Monesti ongelma kannattaa pilkkoa itsenäisiin osiin. - Oma funktio erikseen eri osille. Pseudo-koodi-luonnos ennen varsinaista koodia. - Pääpaino ohjelman rakenteessa eikä syntaksissa. - Helppo muuttaa tämän jälkeen varsinaiseksi ohjelmaksi. Ohjelmointityyli - Käytä selkeitä funktioiden ja muuttujien nimiä. - Kommentoi koodiasi. - Käytä sisennyksiä ja tyhjää tilaa. Virheiden etsintä selkeästä koodista on helpompaa. Mat Sovelletun matematiikan tietokonetyöt 22
23 Satunnaislukujen generointi - Käänteisfunktiomenetelmä Simuloitavan suureen (satunnaismuuttujan) x kertymäfunktio F(x) tunnetaan. Käytössä on satunnaislukugeneraattori, josta saatavat satunnaisluvut y Tas[0, 1]. - rand-funktio Matlabissa. F 1 jakautunut kuten x. 1 Eksponentiaalijakauman kertymäfunktio: F(x)=1 e λ x F(x) 0 x Mat Sovelletun matematiikan tietokonetyöt 23
24 Kysymyksiä 1. Mitä eroa on white-box ja black-box mallintamisella? 2. Mihin eri tarkoituksiin matemaattista mallintamista voidaan käyttää? 3. Mitä eroa on for- ja while-silmukoilla? 4. Mitä haittoja liian monimutkaisessa mallissa on? 5. Mitä eroja on Matlabin komentojonotiedostoilla ja funktioilla? 6. Mistä lausekkeesta saat laskettua eksponentiaalijakautuneen satunnaismuuttujan arvon, kun olet soveltanut käänteisfunktiolauseketta eksponentiaalijakauman kertymäfunktioon? Mat Sovelletun matematiikan tietokonetyöt 24
Mat-2.129 Systeemien identifiointi
Luennot: TkT, erik. op. to 16-18 U261 Harjoitukset tekn.yo Ville Koskinen pe 10-12 joko mikroluokka U352 tai U261 Kurssikirja Ljung & Glad: Modeling of Dynamic Systems, Prentice-Hall, 1994 TAI Ibid.: Modelbygge
LisätiedotHarjoitus 2: Ohjelmointi (Matlab)
Harjoitus 2: Ohjelmointi (Matlab) SCI-C0200 Fysiikan ja matematiikan menetelmien studio SCI-C0200 Fysiikan ja matematiikan menetelmien studio 1 2. Harjoituskerta Aiheet: - Matlabin kontrollirakenteet -
LisätiedotHarjoitus 2: Ohjelmointi (Matlab)
Harjoitus 2: Ohjelmointi (Matlab) MS-C2107 Sovelletun matematiikan tietokonetyöt MS-C2107 Sovelletun matematiikan tietokonetyöt 1 2. Harjoituskerta Aiheet: - Matlabin kontrollirakenteet - Funktiot ja komentojonotiedostot
LisätiedotHarjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab)
Harjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab) MS-C2107 Sovelletun matematiikan tietokonetyöt MS-C2107 Sovelletun matematiikan tietokonetyöt 1 Ensimmäinen harjoituskierros Aiheet Tutustuminen
LisätiedotMat Systeemien identifiointi, aihepiirit 1/4
, aihepiirit 1/4 Dynaamisten systeemien matemaattinen mallintaminen ja analyysi Matlab (System Identification Toolbox), Simulink 1. Matemaattinen mallintaminen: Mallintamisen ja mallin määritelmät Fysikaalinen
LisätiedotEhto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
LisätiedotHarjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006
Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten
LisätiedotKoottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
LisätiedotZeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
LisätiedotHarjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab)
Harjoitus 1: Johdatus matemaattiseen mallintamiseen (Matlab) SCI-C0200 Fysiikan ja matematiikan menetelmien studio SCI-C0200 Fysiikan ja matematiikan menetelmien studio 1 MyCourses Kurssilla käytetään
LisätiedotLuento 5. Timo Savola. 28. huhtikuuta 2006
UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke
LisätiedotIDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotMatlabin perusteita Grafiikka
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ä,
LisätiedotJavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia)
JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) Esim 5.1 laskujärjestys operaattorit var tulos = 5 + 4 * 12 / 4; document.write("5 + 4 * 12 / 4 laskutoimituksen tulos
LisätiedotHarjoitus 9: Optimointi I (Matlab)
Harjoitus 9: Optimointi I (Matlab) MS-C2107 Sovelletun matematiikan tietokonetyöt MS-C2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Optimointimallin muodostaminen Optimointitehtävien
LisätiedotHarjoitus 4: Matlab - Optimization Toolbox
Harjoitus 4: Matlab - Optimization Toolbox Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Optimointimallin muodostaminen
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotHarjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)
Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla
LisätiedotOhjelmointiharjoituksia Arduino-ympäristössä
Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
Lisätiedot5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
LisätiedotOPPITUNTI 5 Ohjelman kulku
5. Ohjelman kulku 67 OPPITUNTI 5 Ohjelman kulku Viime tunnilla luomamme skriptit olivat suoraviivaisia. Ohjelmalauseet suoritettiin aina samassa järjestyksessä, joten ohjelmissamme ei ollut lainkaan joustavuutta.
LisätiedotLOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100
Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).
LisätiedotAluksi. 2.1. Kahden muuttujan lineaarinen epäyhtälö
Aluksi Matemaattisena käsitteenä lineaarinen optimointi sisältää juuri sen saman asian kuin mikä sen nimestä tulee mieleen. Lineaarisen optimoinnin avulla haetaan ihannearvoa eli optimia, joka on määritelty
LisätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin
LisätiedotSisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä
Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.
LisätiedotNumeeriset menetelmät
Numeeriset menetelmät Luento 1 Ti 6.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 1 Ti 6.9.2011 p. 1/28 p. 1/28 Numeriikan termejä Simulointi: Reaalimaailman ilmiöiden jäljitteleminen (yleensä)
LisätiedotTEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut
TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-2.139 Optimointioppi Kimmo Berg 9. harjoitus - ratkaisut 1. a) Viivahakutehtävä pisteessä x suuntaan d on missä min f(x + λd), λ f(x + λd) = (x
LisätiedotMATLAB 7.1 Ohjelmointiharjoitus. Matti Lähteenmäki 2005 www.tamk.fi/~mlahteen/
MATLAB 7.1 Ohjelmointiharjoitus 005 www.tamk.fi/~mlahteen/ MATLAB 7.1 Ohjelmointiharjoitus SISÄLLYSLUETTELO 1 Ohjelman kirjoittaminen editori/debuggerilla 3 Ohjelman ajaminen komentoikkunassa 4 3 Ohjausrakenteiden
LisätiedotOptimointi. Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa. Ongelman mallintaminen. Mallin ratkaiseminen. Ratkaisun analysointi
Optimointi Etsitään parasta mahdollista ratkaisua annetuissa olosuhteissa Ongelman mallintaminen Mallin ratkaiseminen Ratkaisun analysointi 1 Peruskäsitteitä Muuttujat: Sallittu alue: x = (x 1, x 2,...,
LisätiedotAlgoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava
LisätiedotSisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin
Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti
LisätiedotLuku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti
Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotJava-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
LisätiedotITKP102 Ohjelmointi 1 (6 op), arvosteluraportti
ITKP2 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 17. toukokuuta 219 Yleistä Tentti 1 oli pistekeskiarvon (14,6) perusteella hieman tavanomaista helpompi. Omasta tehtäväpaperista
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotSisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten
Sisällys 16. Ohjelmoinnin tekniikkaa Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti
LisätiedotMatriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.
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ä.
Lisätiedot16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti
LisätiedotHarjoitus 10: Mathematica
Harjoitus 10: Mathematica Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Mathematica-ohjelmistoon Mathematican
LisätiedotAlkuun HTML5 peliohjelmoinnissa
Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä
LisätiedotOHJ-1151 Ohjelmointi IIe
Tampereen teknillinen yliopisto Ohjelmistotekniikan laitos OHJ-1151 Ohjelmointi IIe Harjoitustyö Tomaattisota Välipalautus / Loppudokumentaatio Assistentin nimi Välipalautusaika (päivä ja kellonaika) ja
Lisätiedot16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2009 1 / 43 Funktiot Tähän asti esitetyt ohjelmat ovat oleet hyvin lyhyitä. Todellisessa elämässä tarvitaan kuitenkin
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n
LisätiedotMatlab- ja Maple- ohjelmointi
Perusasioita 2. helmikuuta 2005 Matlab- ja Maple- ohjelmointi Yleistä losoaa ja erityisesti Numsym05-kurssin tarpeita palvellee parhaiten, jos esitän asian rinnakkain Maple:n ja Matlab:n kannalta. Ohjelmien
LisätiedotHarjoitus 11: Mathematica - Differentiaaliyhtälöiden analysointi, lisäpaketit
Harjoitus 11: Mathematica - Differentiaaliyhtälöiden analysointi, lisäpaketit Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen
LisätiedotOhjelmointikieli TIE Principles of Programming Languages Syksy 2017 Ryhmä 19
Ohjelmointikieli TIE-20306 Principles of Programming Languages Syksy 2017 Ryhmä 19 Juho Kärnä Ville Mäntysaari 1. Johdanto D on yleiskäyttöinen, strukturoitu, staattisesti tyypitetty, käännettävä ohjelmointikieli
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotRacket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014
Racket ohjelmointia osa 2 Tiina Partanen Lielahden koulu 2014 Sisältö 1) Funktiot ja muuttujat (kertaus) 2) Animaatiot & pelit (big-bang) 3) Vertailuoperaattorit sekä boolean arvot 4) Tietorakenteet (struct)
LisätiedotTutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
LisätiedotPython-ohjelmointi Harjoitus 2
Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento
LisätiedotSIMULINK S-funktiot. SIMULINK S-funktiot
S-funktio on ohjelmointikielellä (Matlab, C, Fortran) laadittu oma algoritmi tai dynaamisen järjestelmän kuvaus, jota voidaan käyttää Simulink-malleissa kuin mitä tahansa valmista lohkoa. S-funktion rakenne
LisätiedotT211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet
Ohjelmointi Matlab-komentoja voidaan koota ns. M-tiedostoon. Nimi tulee tiedoston tarkentimesta.m. Matlabilla voidaan ohjelmoida kahdella eri tavalla: Skriptit eli komentojonot eli makrot Funktiot eli
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=
LisätiedotLisää segmenttipuusta
Luku 24 Lisää segmenttipuusta Segmenttipuu on monipuolinen tietorakenne, joka mahdollistaa monenlaisten kyselyiden toteuttamisen tehokkaasti. Tähän mennessä olemme käyttäneet kuitenkin segmenttipuuta melko
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
LisätiedotString-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1
String-vertailusta ja Scannerin käytöstä (1/2) Vertailuja tehdessä törmätään usein tilanteeseen, jossa merkkijonoa (esimerkiksi merkkijonomuuttujaa) pitää vertailla toiseen merkkijonoon. Tällöin tavanomainen
LisätiedotVertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
LisätiedotTietotyypit ja operaattorit
Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto
LisätiedotDynaamisen järjestelmän siirtofunktio
Dynaamisen järjestelmän siirtofunktio Nyt päästään soveltamaan matriisilaskentaa ja Laplace muunnosta. Tutkikaamme, miten lineaarista mallia voidaan käsitellä. Kuten edellä on jo nähty säätötekniikassa
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotJava-kielen perusteita
Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotTAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:
KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.2.2010 1 / 47 Sijoituksen arvokehitys, koodi def main(): print "Ohjelma laskee sijoituksen arvon kehittymisen."
LisätiedotNumeeriset menetelmät
Numeeriset menetelmät Luento 9 Ti 4.10.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 9 Ti 4.10.2011 p. 1/44 p. 1/44 Funktion approksimointi Etsitään p siten, että p f, mutta ei vaadita, että
LisätiedotUML -mallinnus Viestiyhteyskaavio EERO NOUSIAINEN
UML -mallinnus Viestiyhteyskaavio EERO NOUSIAINEN SISÄLLYS 4. Viestiyhteyskaavio suunnitteluvaiheessa 4.1 Suunnitteluvaiheen viestiyhteyskaavion osat 4.2 Aikajakson viestit ohjelmakoodissa 4.3 Ehdonesittäminenohjelmakoodissa
LisätiedotMuuttujien roolit Kiintoarvo cin >> r;
Muuttujien roolit Muuttujilla on ohjelmissa eräitä tyypillisiä käyttötapoja, joita kutsutaan muuttujien rooleiksi. Esimerkiksi muuttuja, jonka arvoa ei muuteta enää kertaakaan muuttujan alustamisen jälkeen,
LisätiedotEhto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
LisätiedotC-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys
Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,
LisätiedotAlgoritmit 2. Demot Timo Männikkö
Algoritmit 2 Demot 2 3.-4.4.2019 Timo Männikkö Tehtävä 1 Avoin osoitteenmuodostus: Hajautustaulukko t (koko m) Erikoisarvot VAPAA ja POISTETTU Hajautusfunktio h(k,i) Operaatiot: lisaa etsi poista Algoritmit
LisätiedotMatemaattiset ohjelmistot 1-2 ov, 2-3 op
Matemaattiset ohjelmistot 1-2 ov, 2-3 op Aloitustehtävät Perehdy netissä olevan oppaan http://mtl.uta.fi/opetus/matem_ohjelmistot/matlab lukuihin 0 Johdanto, 1 matriisit ja vektorit sekä 4 Ohjelmointi
LisätiedotRacket ohjelmointia II. Tiina Partanen 2015
Racket ohjelmointia II Tiina Partanen 2015 Sisältö Peruspeli 1 Yksinkertainen peli, jossa kerätään kohteita ja väistellään vaaroja Pitkälle viety koodi, johon täydennetään vain puuttuvat palat Ei tarvita
LisätiedotLuku 3. Listankäsittelyä. 3.1 Listat
Luku 3 Listankäsittelyä Funktio-ohjelmoinnin tärkein yksittäinen tietorakenne on lista. Listankäsittely on paitsi käytännöllisesti oleellinen aihe, se myös valaisee funktio-ohjelmoinnin ideaa. 3.1 Listat
LisätiedotMuuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)
VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,
LisätiedotAlgebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005
Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...
Lisätiedot5 Osa 5: Ohjelmointikielen perusteita
5 Osa 5: Ohjelmointikielen perusteita 5.1 Omat funktiot R on lausekekieli: Kaikki komennot kuten funktiokutsut ja sijoitusoperaatiot ovat lausekkeita. Lausekkeet palauttavat jonkin arvon. Lausekkeita voidaan
LisätiedotSisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.
Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotHarjoitus 6: Simulink - Säätöteoria. Syksy 2006. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1
Harjoitus 6: Simulink - Säätöteoria Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen säätötekniikkaan Takaisinkytkennän
LisätiedotSisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta
22. Taulukot 22.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.2 Yleistä
LisätiedotEsimerkkejä derivoinnin ketjusäännöstä
Esimerkkejä derivoinnin ketjusäännöstä (5.9.008 versio 1.0) Esimerkki 1 Määritä funktion f(x) = (x 5) derivaattafunktio. Funktio voidaan tulkita yhdistettynä funktiona, jonka ulko- ja sisäfunktiot ovat
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 31.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 31.1.2011 1 / 41 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
Lisätiedot11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
Lisätiedot11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet
LisätiedotELEC-C5210 Satunnaisprosessit tietoliikenteessä Harjoitus M1,
ELEC-C5210 Satunnaisprosessit tietoliikenteessä Harjoitus M1, 16.3.2017 1. Syntaksista, vektoreista ja matriiseista: Tehtävän eri kohdat on tehtävä järjestyksessä. Myöhemmissä kohdissa oletetaan, että
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
LisätiedotListarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä
LisätiedotEsimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005
Esimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005 Esimerkki: Laskin Liukulukulaskentaa Yhteen, vähennys, kerto ja jakolaskut Syötteenä laskutehtävä, tulosteena tulos tai virheilmoitus
LisätiedotVIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto
Osa VIII Liitteet Liitteet A B C Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII A. Liite Operaattoreiden suoritusjärjestys On tärkeää ymmärtää, että operaattoreilla on prioriteettinsa,
LisätiedotMat-2.091 Sovellettu todennäköisyyslasku 5. harjoitukset/ratkaisut. Jatkuvat jakaumat
Mat-2.09 Sovellettu todennäköisyyslasku /Ratkaisut Aiheet: Jatkuvat jakaumat Avainsanat: Binomijakauma, Eksponenttijakauma, Jatkuva tasainen jakauma, Kertymäfunktio, Mediaani, Normaaliapproksimaatio, Normaalijakauma,
LisätiedotRacket ohjelmointia I
Racket ohjelmointia I Tiina Partanen 2015 Sisältö 1) Racket-kieli ja DrRacket 1.1 DrRacket esivalmistelut 1.2 Peruslaskutoimitukset 2) Piirtotyökalut 2.1 Peruskuvioiden piirtäminen 2.2 Määrittelyt (define)
Lisätiedot