MN08LAB: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Przykry (dyskusja | edycje)
mNie podano opisu zmian
 
Przykry (dyskusja | edycje)
mNie podano opisu zmian
Linia 81: Linia 81:
</math></center>
</math></center>


to stąd algorytm w Octave (przypomnijmy, że w Octave operator <code>'</code> oznacza
to stąd implementacja w Octave (przypomnijmy, że w Octave operator <code>'</code> oznacza
hermitowskie sprzężenie) mógłby wyglądać tak:
hermitowskie sprzężenie) mógłby wyglądać tak:


{{algorytm|||
<div class="code" style="background-color:#e8e8e8; padding:1em"><pre>
<pre>
f <nowiki>=</nowiki> (fft(c'))'/N;
f <nowiki>=</nowiki> (fft(c'))'/N;
</pre>}}
</pre></div>
 
</div></div></div>
</div></div></div>



Wersja z 19:23, 29 sie 2006

Ćwiczenia: FFT

Ćwiczenie

Udowodnij, że faktycznie macierz UN=1NFN jest macierzą unitarną, to znaczy UN*=UN1.

Rozwiązanie

Ćwiczenie

Jak zastosować FFT do szybkiego wymnożenia dwóch, rzeczywistych wektorów długości N przez macierz DFT?

Rozwiązanie

Ćwiczenie

Jak zastosować FFT do szybkiego wymnożenia jednego rzeczywistego wektora długości 2N przez macierz F2N?

Wskazówka

Ćwiczenie

Podaj algorytm wyznaczania f=FN1c, gdzie cCN jest zadanym wektorem, a FN jest macierzą DFT.

Wskazówka
Rozwiązanie

Ćwiczenie

Sprawdź eksperymentalnie, że mnożenie przez cykliczną macierz Toeplitza rzeczywiście daje się wykonać przy użyciu FFT. Czy przy okazji można coś powiedzieć o wartościach własnych i wektorach własnych takiej macierzy?

Ćwiczenie

Zaimplementuj FFT i porównaj wyniki (zwłaszcza: czas wykonania) z wynikami procedury z Octave oraz z FFTW, a także z procedurą opartą na mnożeniu wprost przez macierz FN.