Ymmärrän Fourier-muunnoksen perusperiaatteen, ja muistaakseni joskus tällaisia jatkuvia muunnoksia laskenutkin. Voisiko joku selventää minulle, että kuinka tämän funktion ( http://docs.scipy.org/doc/numpy/reference/generated/numpy.fft.fft.html ) palautetta tulisi käyttää kun haluan konstruktoida alkuperäisen funktion?
>>> np.fft.fft(np.exp(2j * np.pi * np.arange(8) / 8))
array([ -3.44505240e-16 1.14383329e-17j,
8.00000000e 00 -5.71092652e-15j,
2.33482938e-16 1.22460635e-16j,
1.64863782e-15 1.77635684e-15j,
9.95839695e-17 2.33482938e-16j,
0.00000000e 00 1.66837030e-15j,
1.14383329e-17 1.22460635e-16j,
-1.64863782e-15 1.77635684e-15j])
Eli jos haluaisin määrittää vaikkapa funktion (π-x)^2 0
Fourier-muunnos
3
357
Vastaukset
- Toinen nimimerkki
Pistät jonon takaisin fft-ohjelmaan ja pyöräytät uudestaan takaperin.
Tai sitten ihan käsipelillä lasket nuo kosini- ja sinitermit. - Fyrieer
Näemmä tällä suomi24-palstalla on joku merkistöongelma, koska keskustelut katkeavat hallitsemattomasti jonkinlaisesta erikoismerkistä. Alkuperäinen viestini jatkui vielä että jos haluaisin esimerkkinä määrittää funktion (pi-x)**2, kun 0 < x < 2*pi Fourier-sarjan, niin kuinka tuo tulisi tehdä. Kun lasketut kertoimet sijoitetaan Fourier-kehitelmään, saadaan S(x) = pi**2/3 sigma 4/k**2*cos(kx) josta riittävästi termejä ottamalla saadaan piirtämällä alkuperäisen näköinen kuvaaja, eli homma siis pelaa. Jos nyt sitten käytän tuota edellä mainittua diskreettiä algoritmiä, eli
>>> x = np.linspace(0,2*pi,10)
>>> np.fft.fft((pi-x)**2)
array([ 4.021e 01 0.000e 00j, 2.308e 01 7.500e 00j,
4.617e 00 3.354e 00j, 1.286e 00 1.771e 00j,
2.573e-01 7.918e-01j, 6.883e-15 6.661e-15j,
2.573e-01 -7.918e-01j, 1.286e 00 -1.771e 00j,
4.617e 00 -3.354e 00j, 2.308e 01 -7.500e 00j])
saan kyllä kertoimia, mutta tässä vaiheessa loppuu tietämys että kuinka ja millä kaikilla tavoilla voin näitä kertoimia käyttää. Kuten jo tulikin vastaus, näitä ja sini- ja kosinitermejä yhdistämällä pitäisi päästä approksimaatioon lähtötilanteesta mutta kaipaisin nyt hieman rautalankaisempaa vastausta koska aihealue on minulle melko vieras.
Se mitä minä nyt yritän oikeasti tehdä, on määrittää aaltoyhtälön ominaismuotojen kertoimia. Alkutila tulisi kehittää Fourier-sarjaksi ja kantafunktioina käyttää ominaismuotoja. Olen ilmeisesti aivan oikeilla jäljillä mutta koska Fourier-muunnokset eivät ole ennen tulleet vastaan niin olen rehellisesti sanottuna melko pihalla aiheesta. - Toinen nimimerkki
Käyttämääsi FFT-ohjelmaa en tunne, mutta minulla on omatekemä, joka laskee muunnoksen ja käänteismuunnoksen. Itse asiassa FFT:llä on semmoinen ominaisuus, että sama ohjelma pienellä säädöllä laskee molemmat muunnokset samallla algoritmillä. FFT:llä voi veivata edestakaisin aika- ja taajuusavaruuden välillä. Tietysti laskentatarkkuuden rajoissa.
Ei FFT-ohjelman teko kauan kestä, jos ei mitään hienouksia halua.Varmaankin löytyy valmiita listauksia, joista voi ottaa mallia.
Suosittelen jotain matikan oppikirjaa. Täällä on hiukan hankalaa lähteä paneutumaan FFT-ohjelmien yksityiskohtiin.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1077736
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?1085941- 835167
- 1394536
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan113210- 552967
- 582928
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102434- 612427
Hei........
Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.562046