Harjoitus 3 -- Ratkaisut

Samankaltaiset tiedostot
Harjoitus 4 -- Ratkaisut

Harjoitus 2 -- Ratkaisut

Harjoitus 2 -- Ratkaisut

Harjoitus 5 -- Ratkaisut

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

Harjoitus 1 -- Ratkaisut

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

Java-kielen perusteita

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Zeon PDF Driver Trial

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

11. Javan toistorakenteet 11.1

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

16. Ohjelmoinnin tekniikkaa 16.1

Harjoitus 10: Mathematica

Luento 5. Timo Savola. 28. huhtikuuta 2006

Harjoitus 7 -- Ratkaisut

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

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

16. Ohjelmoinnin tekniikkaa 16.1

Harjoitus 1 -- Ratkaisut

Ohjausrakenteet. Valinta:

Mathematica Sekalaista asiaa

Esimerkki: Tietoliikennekytkin

Ehto- ja toistolauseet

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1

Tutoriaaliläsnäoloista

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

13. Loogiset operaatiot 13.1

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

13. Loogiset operaatiot 13.1

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

Harjoitus 6 -- Ratkaisut

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

Valitse ruudun yläosassa oleva painike Download Scilab.

FUNKTION KUVAAJAN PIIRTÄMINEN

Algoritmit 1. Demot Timo Männikkö

Kokeellista matematiikkaa SAGE:lla

Tenttiin valmentavia harjoituksia

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

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

Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet:

Python-ohjelmointi Harjoitus 5

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

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

FUNKTION KUVAAJAN PIIRTÄMINEN

Harjoitus 5: Symbolinen laskenta I (Mathematica)

Ohjelmoinnin perusteet Y Python

Matemaattinen Analyysi

Python-ohjelmointi Harjoitus 2

ITKP102 Ohjelmointi 1 (6 op)

Ehto- ja toistolauseet

Algoritmit 1. Demot Timo Männikkö

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

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

BM20A0700, Matematiikka KoTiB2

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

11. Javan valintarakenteet 11.1

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi

Ohjelmoinnin perusteet Y Python

Matriisiteoria Harjoitus 1, kevät Olkoon. cos α sin α A(α) = . sin α cos α. Osoita, että A(α + β) = A(α)A(β). Mikä matriisi A(α)A( α) on?

3. Kirjoita seuraavat joukot luettelemalla niiden alkiot, jos mahdollista. Onko jokin joukoista tyhjä joukko?

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Ohjelmoinnin peruskurssi Y1

dt 2. Nämä voimat siis kumoavat toisensa, jolloin saadaan differentiaaliyhtälö

= 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

Ohjelmoinnin perusteet Y Python

OPPITUNTI 5 Ohjelman kulku

wxmaxima-pikaopas Ari Lehtonen

JATKUVUUS. Funktio on jatkuva jos sen kuvaaja voidaan piirtää nostamatta kynää paperista.

Mitä symbolilaskentaohjelmalta voi odottaa ja mitä ei? Tapaus Mathematica

Värähtelevä jousisysteemi

Muistutus aikatauluista

Numeeriset menetelmät

Java-kielen perusteita

Ohjelmoinnin peruskurssi Y1

58131 Tietorakenteet ja algoritmit (syksy 2015)

sin(x2 + y 2 ) x 2 + y 2

Lineaariset yhtälöryhmät ja matriisit

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

Harjoitus 2: Ohjelmointi (Matlab)

Palvelinpuolen ohjelmointi

Harjoitus 2: Ohjelmointi (Matlab)

Kompleksiluvut., 15. kesäkuuta /57

YHTÄLÖ kahden lausekkeen merkitty yhtäsuuruus

811120P Diskreetit rakenteet

Matematiikan peruskurssi 2

Ohjelmoinnin perusteet Y Python

MATP153 Approbatur 1B Harjoitus 3, ratkaisut Maanantai

6. Toisen ja korkeamman kertaluvun lineaariset

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

Ohjelmoinnin perusteet Y Python

13. Ratkaisu. Kirjoitetaan tehtävän DY hieman eri muodossa: = 1 + y x + ( y ) 2 (y )

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

Analyysi 1. Harjoituksia lukuihin 1 3 / Syksy Osoita täsmällisesti perustellen, että joukko A = x 4 ei ole ylhäältä rajoitettu.

Transkriptio:

Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan <=, ' '-merkki >=, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos ehto on tosi, x tämä palautetaan, jos ehto on epätosi f f Π, 3 3 b Summan laskemisen periaate: alustetaan summaa kuvaava muuttuja nollaksi, ja lisätään siihen summan termit yksi kerrallaan. Vastaavasti tulon laskemisen periaate: alustetaan tuloa kuvaava muuttuja ykköseksi, ja kerrotaan sitä tulon tekijöillä, yksi kerrallaan. Summat ja tulot voidaan Mathematicassa laskea valmiillakin funktioilla, mutta on hyödyllistä opetella laskemaan ne monessa ohjelmointikielessä esiintyvillä toistorakenteilla, For, While,... Muista, että jos funktio koostuu useammasta kuin yhdestä käskystä, käskyt on kirjoitettava sulkujen sisään ja viimeisen käskyn palauttama arvo on funktion arvo. In[1]:= g x, n : For alustus i 0; summa 0, ehtolauseke i n, laskurin kasvatus i, x i 1 toistettavat lauseet summa 1 i ; summa N i 1 g, 6 0.90997 Laskuri ja summamuuttuja kannattaa määritellä paikallisiksi muuttujiksi. i.; summa.; h x, n : Module paikalliset muuttujat i, summa, funktion runko For i 0; summa 0, i n, i, summa 1 i ; summa N i 1 h, 6 0.90997 x i 1

h03ratk.nb Sama While-komennolla: j x, n : Module i, summa, nyt alustukset on kirjoitettava toistorakenteen ulkopuolelle i 0; summa 0; While ehto i n, toistettavat lauseet summa 1 i ; i ; N summa i 1 j, 6 0.90997 x i 1 Ja Do-komennolla. Tämä eroaa kahdesta edellisestä siinä, että varsinaista ehtolauseketta ei esiinny. k x, n : Module paikallisille muuttujille voi antaa alkuarvoja i, summa 0, Do toistettavat lauseet x i 1 summa 1 i, i:n vaihteluväli i, 0, n ; summa N i 1 k, 6 0.90997 Piirretään g[x,n]:n kuvaajat, kun n=...,10. Kun piirretään taulukollinen kuvaajia, kannattaa käyttää Evaluate-komentoa. Ilman sitä, piirtäminen kestää aivan tolkuttoman kauan, eikä Mathematica osaa piirtää eri käyriä eri väreillä. Plot Evaluate Table g x, n, n, 10, x, 3 Π, 3 Π 5 5 Plot Table g x, n, n, 10, x, 3 Π, 3 Π 5 5 Jos halutaan piirtää Sin[x] yhtä aikaa yo. funktiotaulukon kanssa, kannattaa käyttää Join-funktiota, joka liittää kaksi taulukkoa yhteen, tai Append-funktiota, joka lisää taulukkoon alkion. Muista: Painamalla funktion nimen kohdalla F1 saat lisäti-

h03ratk.nb 3 etoa. ImageSize-komento pakottaa piirrettävät kuvat normaalikokoisiksi (GraphicsArray tekisi niistä oletusarvoisesti pieniä). GraphicsArray-komennolla voi tulostaa kuvaajia taulukon muotooon järjestettynä. In[]:= g1 Plot Evaluate Join Table g x, n, n, 10, Sin x, x, Π, Π, PlotRange,, ImageSize Small ; g Plot Evaluate Append Table g x, n, n, 10, Sin x, x, Π, Π, PlotRange,, ImageSize Small ; GraphicsArray g g Out[]= 10 5 5 10 10 5 5 10 Tehtävänannossa esitetty summahan on tietysti sinifunktion Taylorin sarja. b-ekstra Otetaan esimerkki tulon laskemisesta: n:n kertoma on n n n 1 n 3 1. kertoma n : Module i, tulo, For i n; tulo i i, tulo i ; tulo kertoma 5 10 Kertolaskun järjestyksellä ei ole väliä: kertoma n : Module i, tulo, For i 1; tulo i n, i, tulo i ; tulo kertoma 5 10 c Halutaan, että A ij, kun i j, ja A ij kun i ± j, ja A ij 0 kaikissa muissa tapauksissa. Toisin sanoen, A ij, kun i j 0, ja A ij kun i j ± ja A ij 0 kaikille muille i j:n arvoille. Lauseke i j kelpaa Switch-komennon valintalausekkeeksi. Switch haluaa siis lausekkeen (joka on joidenkin muuttujien, esim. i ja j, funktio), joka saa tilanteesta riippuen eri vakioarvoja. Valintalausekkeen arvoa verrataan järjestyksessä jokaiseen vakioarvoon, ja kun yhtäsuuruus sattuu kohdalle, kyseistä arvoa vastaavat komennot suoritetaan. alkio i, j : Switch valintalauseke i j, 0 lausekkeen ensimmäinen mahdollinen arvo tähän verrataan ensin, komento, joka suoritetaan, kun valintalausekkeen arvo on 0, 1 toinen mahd. arvo jos valintalauseke ei täsmännyt 1. mahd. arvoon, sitä verrataan tähän, 1 mitä tällöin suoritetaan, jne valintalausekkeen "oletusarvo", vastaa mitä tahansa lauseketta, 0 tämä suoritetana, jos valintalausekkeen arvo ei ole mikään kolmesta ensimmäisestä vaihtoehdosta

h03ratk.nb alkio 1 alkio 3, alkio 5, 1 1 0 a Table alkio i, j, i, 10, j, 10 ; a MatrixForm 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 Kompaktimmin esitettynä: a Table Switch i j, 0,,, 0, i, 10, j, 10 ; a MatrixForm 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 Keinotekoinen esimerkki Switch-lauseen käytöstä (toimii paremmin If-lauseella): f x, y : Switch x y, True, y, False, x ; f, 1 c -- toinen tapa Matriisin luominen onnistuu myös Which-lauseella:

h03ratk.nb 5 In[11]:= a Table Which i j ehto 1, jos ehto 1 on tosi, i j 1 ehto, i j 1 1 loppuun pitää kirjoittaa jokin ehto, joka on aina tosi, 0, i, 10, j, 10 ; a MatrixForm Out[1]//MatrixForm= 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 3 Windowsiin löytyy Oulun yliopiston tietohallinnon ohjelmistojakelusta (www.oulu.fi/tietohallinto) SSH Secure Shell Client -ohjelma, jolla voi ottaa yhteyden yliopiston tuomi-, haapa-, paju-, jne. koneisiin. Tuomella ja haavalla on asennettu Mathematica. Se käynnistyy tekstipohjaisena komennolla math. Linux-käyttöjärjestelmissä SSH on valmiiksi asennettuna, ja yhteydenotto tapahtuu komentoriviltä komennolla ssh omatunnus@tuomi.oulu.fi. Voit kokeilla myös graafista käyttöliittymää komennolla ssh -X omatunnus@tuomi.oulu.fi (tässä on joitain fonttiongelmia). Huom. jos askelpalautin (backspace) ei toimi, komentokehotteen asetuksista pääsee säätämään, mitä backspace- ja deletenäppäimet tekevät. Ei kommenttia.