L9: Rayleigh testi. Laskuharjoitus

Samankaltaiset tiedostot
L9: Rayleigh testi. Laskuharjoitus

linux: koneelta toiselle

Pienimmän Neliösumman Sovitus (PNS)

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

Pienimmän Neliösumman Sovitus (PNS)

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

linux: arkistointi jjj

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

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

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

Tilastotieteessä aikasarja tarkoittaa yleensä sarjaa, jossa peräkkäisten havaintojen aikaväli on aina sama.

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

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

Laskuharjoitus 9, tehtävä 6

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

Juuri 10 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

linux: Ympäristömuuttujat

Ohjelmoinnin peruskurssi Y1


Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

8. Yhtälöiden ratkaisuja Newtonilla, animaatioita

= 6, Nm 2 /kg kg 71kg (1, m) N. = 6, Nm 2 /kg 2 7, kg 71kg (3, m) N

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Rautaisannos. Simo K. Kivelä

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Python-ohjelmointi Harjoitus 2

Ohjelmoinnin perusteet Y Python

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

2. a- ja b-kohdat selviä, kunhan kutakuinkin tarkka, niin a-kohta 1 p b-kohta 1 p

Tieteellinen laskenta I (Scientific Computing I)

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Kokeellista matematiikkaa SAGE:lla

Ohjelmoinnin peruskurssi Y1

Harjoitus 5 (viikko 48)

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Kynä-paperi -harjoitukset. Taina Lehtinen Taina I Lehtinen Helsingin yliopisto

Algoritmit 1. Demot Timo Männikkö

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Java-kielen perusteita

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

Kertausosa. 5. Merkitään sädettä kirjaimella r. Kaaren pituus on tällöin r a) sin = 0, , c) tan = 0,

Ohjelmoinnin perusteet Y Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Datatähti 2019 loppu

1 Johdanto 2. 2 Työkansion asettaminen 3. 3 Aineistojen lukeminen DAT-tiedosto SPSS-tiedosto Excel... 3

Ohjelmoinnin peruskurssi Y1

S Laskennallinen Neurotiede

2.7.4 Numeerinen esimerkki

Tehtävänanto oli ratkaista seuraavat määrätyt integraalit: b) 0 e x + 1

Tietoliikenteen harjoitustyö, ohjeistus

Ohjelmoinnin perusteet Y Python

Differentiaali- ja integraalilaskenta 2 Ratkaisut: loppuviikko 2

Algoritmit 1. Demot Timo Männikkö

Ohje Viestit Kansalainen

MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

Mat Lineaarinen ohjelmointi

SAS-ohjelmiston perusteet 2010

Ohjelmoinnin perusteet Y Python

Tieteellinen laskenta 2 Törmäykset

Ohjelmoinnin perusteet Y Python

12. Javan toistorakenteet 12.1

Algoritmit 2. Luento 7 Ti Timo Männikkö

Ohjelmoinnin peruskurssi Y1

Harjoitus 2 (viikko 45)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Sisältö. 2. Taulukot. Yleistä. Yleistä

Ohjelmoinnin perusteet Y Python

4. Tietokoneharjoitukset

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Matlab-tietokoneharjoitus

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

TUTKIMUSAINEISTON ANALYYSI. LTKY012 Timo Törmäkangas

Sisältö. 22. Taulukot. Yleistä. Yleistä

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

linux: Ympäristömuuttujat

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

L2: linux linux: Komentotulkki

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

Vektoreiden A = (A1, A 2, A 3 ) ja B = (B1, B 2, B 3 ) pistetulo on. Edellisestä seuraa

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

VALTIOTIETEELLINEN TIEDEKUNTA TILASTOTIETEEN VALINTAKOE Ratkaisut ja arvostelu < X 170

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

Tekijä MAA2 Polynomifunktiot ja -yhtälöt = Vastaus a)

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

Tässä harjoituksessa käydään läpi R-ohjelman käyttöä esimerkkidatan avulla. eli matriisissa on 200 riviä (havainnot) ja 7 saraketta (mittaus-arvot)

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 4: Derivaatta

Harjoitus 6 -- Ratkaisut

Ohjelmoinnin perusteet Y Python

Seuraavassa taulukossa on annettu mittojen määritelmät ja sijoitettu luvut. = 40% = 67% 6 = 0.06% = 99.92% 6+2 = 0.

Transkriptio:

L9: Rayleigh testi Laskuharjoitus Data on tiedoston H7binput.dat 1. sarake: t = t i Ajan hetket ovat t = t 1, t 2,..., t n, missä n n = 528 Laske ja plottaa välillä f min = 1/P max ja f max = 1/P min z(f j ) = {[ cos 2πf j (t i t 0 )] 2 + [ sin 2πf j (t i t 0 )] 2 }/n, missä f j testattu frekvenssi, P min = 1.5, P max = 90.0 ja t 0 = 0 Testattavien frekvenssien f j välinen etäisyys on f step = f 0 /OFAC, missä f 0 = 1/ T, T = t n t 1 ja OFAC = 10 Välille f min ja f max sopii testattavia f j frekvenssejä M = INT[(f max f min )/f step] kappaletta, missä INT poistaa argumentin desimaaliosan (Esim: INT[12.34] = 12). Testattavat frekvenssit ovat f j = f min + j f step, missä j = 0, 1, 2, 3,..., M Vihje: Luennon 6. ohjelmissa Psub2.py ja Osub2.m on laskettu z(f j ) yhdelle frekvenssin arvolle Ohjelman rakenne 1. Lue t 2. Kiinnitä pmin= 1.5, pmax= 90, ofac= 10 3. Laske fmin, fmax, fstep ja M 4. Luo M=M testattavaa frekvenssiä vektoriin f= f j 5. Luo tyhjä periodogrammi z=0.0*f= z(f j )) 6. Tee f looppi, joka laskee arvot z(f j ) arvoille f j ja tallentaa tuloksen vektoriin z 7. Plottaa z versus f 8. Tunnista ja merkitse korkein piikki zbest= z(f best ) kohdassa fbest= f best 9. Kirjoita kuvaan n = 528 ja P best = 1/f best = 2.85 tiedot

L9: Etsintä vektorista python valinta indeksien avulla import numpy ; a=numpy.arange(3) eli a on [0 1 2] i=(a==max(a)) ; print(i) tulostaa [False False True] ja print(a[i]) tulostaa [2] j=(a==max(a)).nonzero() ; print(j) tulostaa indeksin arvon (array([2]),) ja print(a[j]) tulostaa myös [2] k=((a>0) & (a<2)) ; print(k) tulostaa [False True False] Harjoituksen korkein piikki esim: j=(z==max(z)).nonzero() fbest=f[j] ; zbest=z[j] octave valinta indeksin avulla a=[0,1,2]; j=((a>0) & (a<2)); disp(j) tulostaa 0 1 0 ja disp(a(j)) antaa 1 j=find((a>0) & (a<2)); disp(j) tulostaa 2 ja disp(a(j)) antaa myös 1 Harjoituksen korkein piikki esimerkiksi j=find(z==max(z)) fbest=f(j); zbest=z(j)

Tehospektri Tehospektri (engl. Power spectrum: Scargle 1982, ApJ 263, 853: Eq. 10) Aikasarja: n = Havaintoa t i = t 1, t 2,..., t n = Havaintoajat y i = y(t i) = y 1, y 2,..., y n = Havainnot m y = [ y i]/n = Havaintojen keskiarvo y i = y i m y Ongelma: Onko aikasarjassa y i periodisuutta? Tehospektrin arvo testattavalla frekvensillä f on z(f ) = { n y i cos [2πf (ti τ)]}2 2 n {cos [2πf (ti + { n y i sin [2πf (ti τ)]}2 τ)]}2 2 n, {sin [2πf (ti τ)]}2 missä τ toteuttaa [ ] [ ] 1 tan (4πf τ) = sin (4πf t i) cos (4πf t i) Paras periodi P best = 1/f best, missä z max = z(f best) = periodogrammin korkein piikki Luonnollinen ensimmäinen reaktio: Onpas karmea risuaita

Testattavat frekvenssit Laskuharjoituksessa testattava periodiväli on P min = 1 ja P max = 10 Testattava frekvenssiväli on f min = 1/P max = 0.1 ja f max = 1/P min = 1. Kahden riippumattoman testattavan frekvenssin etäisyys on f 0 = 1/ T, missä T = t n t 1 eli havaintovälin koko pituus Jokaisella testattavalla f toteutuu T(f ± f 0) = f T ± T/ T = f T ± 1 Kun f muuttuu f 0 verran, tehdään kierros enemmän tai vähemmän koko T aikana Koko data sotkettu z(f ) ja z(f ± f 0) ovat toisistaan riippumattomat Testattavien frekvenssien välisen etäisyyden pitää olla tiheämpi Saadaan tarkka f best Valitaan askel (engl. step) f step = f 0/OFAC, missä OFAC = 10 (engl. Overfilling Factor) Testattavia frekvenssien määrä testattavalla frekvenssivälillä M = INT[(f max f min)/f step], missä INT poistaa argumentin desimaaliosan (Esim: INT[123.45] = 123). Tehospektri z(f j) lasketaan kaikille testattavien frekvenssien arvoille f j = f min + j f step, missä j = 0, 1, 2, 3,..., M

Testattavat frekvenssit Tunnista yksittäisten pallojen liikkeet Punaiset datan alussa Siirtyvät hitaimmin, kun f muuttuu Siniset datan keskellä Siirtyvät nopeammin, kun f muuttuu Vihreät datan lopussa Siirtyvät nopeimmin, kun f muuttuu KAIKKI sotkettu, kun f muuttunut arvoon f + f 0 Alun ja lopun pallot takaisin lähes omille paikoilleen arvolla f + f 0 Usein z(f ) piikkejä arvoilla arvoilla f = f ± f 0 P = 5.85, f = 0.171 0 10 20 30 40 50 60 70 f +0.0 f 0 = 0.171 f +0.2 f 0 = 0.168 f +0.4 f 0 = 0.165 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 f +0.6 f 0 = 0.162 f +0.8 f 0 = 0.159 f +1.0 f 0 = 0.156 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

Testattavat frekvenssit Suurennos laskuharjoituksen tehospektristä f j = monikerta f 0 = vihreät pallot f j = monikerta f step = punaiset pallot Huippu kohdassa fbest = sininen ruksi Riittävän lyhyt testattavien frekvensssien f j askel f step antaa tarkan arvon pbest=1/fbest Matka f yksiköissä huipulta perustasoon noin kahden vihreän pallon väli f 0 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0.00 0.49 0.50 0.51 0.52 0.53 0.54 0.55 0.56 0.57

Laskuharjoitus: Tehospektrin ohjelmointi Ennen looppia: t= t i ja y= y i luettu, ydot= y i = y i m y ja f= f j luotu Luo tyhjä periodiogrammi z=0*f For loopissa: f= f j frekvenssi muuttuu f j muuttuu t i ja y i ei muutu f j muuttuu τ muuttuu z(f j ) muuttuu 1. Valitse testattava f j = f(j) 2. Laske tau (loopissa x=4*pi*f*t) τ = 1 [ n atan sin (4πf ] jt i ) 4πf n j cos (4πf jt i ) 3. Laske osoittajat ( x=2*pi*f*(t-tau)) z 1 (f j ) = { y i cos [2πf j(t i τ)]} 2 z 2 (f j ) = { y i sin [2πf j(t i τ)]} 2 4. Laske nimittäjät ( x=2*pi*f*(t-tau)) z 3 (f j ) = 2 {cos [2πf j (t i τ)]} 2 z 4 (f j ) = 2 {sin [2πf j (t i τ)]} 2 5. Laske z(j)= z(f j ) = z 1(f j ) z 3 (f j ) + z 2(f j ) z 4 (f j ) 6. Palaa kohtaan 1. ja valitse seuraava testattava frekvenssi f j For looppi loppuu kohtaan Muita tapoja: koko kaava kerralla, s.o. 3., 4. ja 5. samalla rivillä Muita tapoja: for korvattu while

Ohjelmointi 7. Plottaa z(f j ) 8. Tunnista korkein piikki z max = z(f j = f best ) 9. Anna pyydetty informaatio n = 100 ja P = 1.91 Harjoitustyön kuvassa on pyydetty plottaamaan myös havainnot kuvan yläosaan python ja octave voivat antaa eri tuloksen, esim. P = 1.91 ja P = 1.92 Kuvassa havaittu yöllä eli P 1 ikkuna Tehospektrin P varmasti oikea, jos sinikäyrä on oikea malli havainnoille 7.80 7.75 7.70 7.65 Vihje: Laskuharjoituksessa H6b laskettiin aiemmin τ, z 1 (f j ) ja z 2 (f j ) arvot yhden testattavan frekvenssin f tapaukselle 7.60 0 10 20 30 40 0.07 n = 100, P = 1.91 0.06 0.05 0.04 0.03 0.02 0.01 0.00 0.2 0.4 0.6 0.8 1.0