Kurs Matlab cz 2.pdf

(633 KB) Pobierz
Microsoft Word - Tematy Matlab II.doc
KURS
MATLAB II
Rok 2005/2006, semestr zimowy
Uniwersytet Warszawski
Wydzia! Fizyki
Ryszard Buczy%ski, Rafa! Kasztelanic
1
5061592.002.png 5061592.003.png
Spis Tre)ci
Fourierowska analiza danych ............................................................................................... 4
Przetwarzanie dwików ..................................................................................................... 6
Przetwarzanie obrazów – toolbox Image Processing ............................................................ 8
Ca!kowanie numeryczne .................................................................................................... 11
Numeryczne ró$niczkowanie funkcji ................................................................................. 13
Równania ró$niczkowe i ca!kowe ...................................................................................... 14
Obs!uga b!dów ................................................................................................................. 18
Grafika uchwytów ............................................................................................................. 20
Graficzny interfejs u$ytkownika (GUI)............................................................................... 22
Z!o$one struktury danych .................................................................................................. 27
Programowanie zorientowane obiektowo ........................................................................... 29
Obliczenia symboliczne w Matlabie – toolbox Symbolic Math ............................................ 32
Wspó!praca Matlaba z innymi 7rodowiskami programistycznymi ...................................... 36
2
KURS MATLAB II
Rok 2005/2006 semestr zimowy, wymiar 15h
Prowadz-cy :
dr Ryszard Buczy:ski, ryszard.buczynski@mimuw.edu.pl ,
dr Rafa! Kasztelanic, kasztel@mimuw.edu.pl
Zak!ad Optyki Informacyjnej, Instytut Geofizyki, Wydz. Fizyki UW
Zajcia odbywaj> si w Instytucie Geofizyki, ul. Pasteura 7, V pitro, pok. 508. (lub pok. 106)
Oprogramowanie :
Matlab, The MathWorks, Inc.; wersja 7.0; platforma UNIX/LINUX.
Krótki opis kursu:
G!ównym celem kursu jest nauka pos!ugiwania si Matlabem jako narzdziem programistycznym na poziomie
7rednio zaawansowanym. Kurs MATLAB II jest kontynuacj> kursu MATLAB I skoncentrowany na
zagadnieniach zwi>zanych z programowaniem. W programie kursu przewidziane s> równie$ tematy wymagaj>ce
korzystania z dodatkowych modu!ów pakietu Matlab oraz dodatkowych narzdzi programistycznych.
Kurs sk!ada si z 15 godzin zajG komputerowych. Ka$dy student pracuje indywidualnie przy osobnym
terminalu. Wszystkie spotkania rozpoczynaj> si od wprowadzenia merytorycznego do poruszanych zagadnie:.
Dalsza cz7G zajG po7wicona jest na indywidualn> prac z komputerem nad seri> zada:.
Kurs odbywaG si bdzie zarówno w jzyku polskim jak i angielskim.
Forma zaliczenia:
Do zaliczenia Kursu na ocen dostateczn> lub zal. wymagane jest zaliczenie wszystkich Gwicze:-laboratoriów.
Ocena ko:cowa wystawiana jest przez prowadz>cego na podstawie osi>gnitej sprawno7ci i postpów w
pos!ugiwaniu si MATLABem, oraz kreatywno7ci studenta.
Obecno7G na wszystkich zajciach jest obowi>zkowa, dopuszczamy jedna nieobecno7G, przy wikszej ilo7ci
wymagane jest zwolnienie lekarskie. Nieobecno7G nie zwalnia studenta z zaliczenia poszczególnych zada:.
Ostatnia godzina 15-ta jest przeznaczona na wystawianie ocen i ewentualne poprawki.
Wymagania:
MATLAB I, znajomo7G algebry, analizy matematycznej i programowania.
Zagadnienia poruszane w ramach kursu MATLAB II:
Kurs MATLAB II bazuje na wiedzy zdobytej w trakcie kursu MATLAB I. DO g!ównych zagadnie:
poruszanych w trakcie trwania kursu nale$>:
1. Fourierowska analiza danych
2. Przetwarzanie obrazów – toolbox Image Processing
3. Ca!kowanie numeryczne
4. Numeryczne ró$niczkowanie funkcji
5. Równania ró$niczkowe i ca!kowe
6. Obs!uga b!dów
7. Grafika uchwytów
8. Graficzny interfejs u$ytkownika
9. Z!o$one struktury danych
10. Programowanie zorientowane obiektowo
11. Obliczenia symboliczne w Matlabie
12. Wspó!praca Matlaba z innymi 7rodowiskami programistycznymi
Literatura:
1. A. Zalewski, R. Cegie!a, Matlab - obliczenia numeryczne i ich zastosowania.
2. B. Mrozek, Z. Mrozek, Matlab 6 - poradnik u$ytkownika.
3. D. Higham, N. Higham: Matlab guide.
4. The MathWorks, Inc: Numerical Computing with MATLAB.
5. http://www.mathworks.com/
3
TEMATY
FOURIEROWSKA ANALIZA DANYCH
Analiza widma funkcji otrzymywanej za pomoc> transformaty Fouriera stanowi podstawi
wikszo7ci algorytmów przetwarzania sygna!ów.
Matlab dostarcza wygodnych narzdzi do takiej analizy.
Temat 1
Jedno wymiarowa transformata Fouriera
Definicja fft(x) gdzie x jest wektorem próbek sygna!u. ifft(x) – oznacza odwrotn>
transformat Fouriera.
Wszystkie pochodne funkcji transformaty Fouriera znajduj> si w grupie datafun .
UWAGA: Funkcja fft i jej pochodne najszybciej wykonywana jest dla danych o rozmiarze
bd>cym potg> dwójki, np. 16, 32, 64, itd. Troch wolniej trwaj> obliczenia dla danych o
rozmiarze bd>cym liczb> pierwsz>. Obliczenia dla danych o innych rozmiarach s>
zdecydowanie wolniejsze.
Temat 2
Inne pomocne funkcje
fftshift przesunicie odpowiednich elementów sk!adowych sygna!u
real cz7G rzeczywista liczby zespolonej
imag cz7G urojona liczby zespolonej
conj sprz$enie zespolone
angle cz7G fazowa sygna!u
abs modu! sygna!u
conv splot dwóch wektorów
deconv dekonvolucja dwóch wektorów
cov kowariancja
decimate przetworzenie wektora – rzadsze próbkowanie
interp przetworzenie wektora – gstsze próbkowanie
unwrap Uci>glenie fazy
UWAGA: Aby obliczyG warto7G nat$enia sygna!u nale$y skorzystaG z nastpuj>cego
przekszta!cenia:
>> nat = abs(sygnal).^2;
4
5061592.004.png
Temat 3
Dwu wymiarowa transformata Fouriera Transformata
Z przypadkiem dwu wymiarowej transformaty Fouriera najcz7ciej mamy do czynienia przy
przetwarzaniu zdjG.
Dwu wymiarowa transformata Fouriera – fft2 .
Funkcje odwrotne: ifft2, ifftshift.
Przyk!ad:
>> s = rand(128); % stworzenie 2 wymiarowego zbioru danych
>> fs = fftshift(fft2(s)); % 2 wymiarowa transformata Fouriera wraz z przesuni4ciem danych
Temat 4
Wielowymiarowa transformata Fouriera Transformata
Matlab oferuje mo$liwo7G obliczenia wielowymiarowej transformaty Fouriera przy
wykorzystaniu funkcji fftn .
Przyk!ad:
>> s4 = rand(32,32,32,32); % stworzenie 4 wymiarowego zbioru danych
>> fs4 = fftshift(fftn(s4));
Temat 5
Filtry analogowe i cyfrowe
Signal Processing Toolbox udostpnia wiele funkcji zwi>zanych z przetwarzaniem sygna!ów
za pomoc> filtrów. Filtr analogowy, odpowied czstotliwo7ciowa, realizowany jest przy
wykorzystaniu funkcji freqs ( a, b, w ). Gdzie a i b s> wspó!czynnikami wielomianów a w jest
wektorem z czsto7ciami, dla których prowadzimy analiz.
Filtracj cyfrow>, FIR (sko:czona odpowied impulsowe) lub IIR (niesko:czona odpowied
impulsowa), wykonuje si za pomoc> funkcji filter ( b, a, x ). Gdzie b i a s> wspó!czynnikami
odpowiednich wielomianów a w jest wektorem dyskretnych warto7ci sygna!u na wej7ciu
filtra.
Przyk!ad:
>> data = [1:0.2:4]';
>> filter(ones(1,5)/5,1,data); % filtr cyfrowy tyu FIR (u-redniaj/cy)
>> a = [1 0.4 1]; b = [0.2 0.3 1]; w = logspace(-1,1);
>> freqs(b,a,w) % filtr analogowy
5
5061592.005.png 5061592.001.png
Zgłoś jeśli naruszono regulamin