You are on page 1of 11

APLIKASI MATLAB UNTUK METEOROLOGI

Posted by kadarsah pada April 2, 2008 Aplikasi FFT Untuk Menghitung Periodisitas Curah Hujan Berikut contoh data curah hujan bulanan Stasiun Denpasar.

Grafik di atas dinamakan denpasar.txt, sehingga untuk menampilkan ketik Load denpasar.dat Ch=denpasar(:,1) Plot(ch) Selanjutnya kita ingin mengetahui berapa periode siklus curah hujan di Denpasar tersebut. Untuk mengetahui hal tersebut digunakan FFT yang terdapat di MATLAB. Tahapann penulisan di Matlab sebagai berikut: Y = fft(ch);

Y(1)=[]; plot(Y,ro) title(Fourier Coefficients in the Complex Plane); xlabel(Real Axis); ylabel(Imaginary Axis); Hasilnya seperti Gambar (a).

Besarnya magnitude dari Y disebut power. Selanjutnya kita memplot power ini dengan frekuensi dan hasilnya disebut periodogram. n=length(Y); power = abs(Y(1:floor(n/2))).^2; nyquist = 1/2; freq = (1:n/2)/(n/2)*nyquist; plot(freq,power) xlabel(siklus/bulan) title(Periodogram) Hasilnya seperti Gambar (b). Untuk lebih memfokuskan analisi maka perlu di potong rentang yang memuat power yang besar (mencuat).Dalam hal ini rentangnya 0-0.2. plot(freq(1:50),power(1:50)) xlabel(siklus/bulan) Hasilnya seperti Gambar (c). Selanjutnya untuk mempermudah analisis, kita memplot dalam satu siklus memerlukan waktu berapa bulan. period=1./freq; plot(period,power); ylabel(Power); xlabel(Period (bulan/siklus)); Hasilnya seperti Gambar (d). Gambar diatas terlalu lebar sehingga kita persempit menjadi. axis([0 50 0 4e+8]); Hasilnya seperti Gambar (e).

hold on; index=find(power==max(power)); mainPeriodStr=num2str(period(index)); plot(period(index),power(index),r., MarkerSize,25); text(period(index)+2,power(index),['Period = ',mainPeriodStr]); hold off; Hasilnya seperti Gambar (f). Sehingga dapat disimpulkan bahwa periode curah hujan di Stasiun Denpasar memiliki periode 12 bulan .Tapi hasil ini masih memiliki kelemahan, sehingga digunakan wavelet.
Transformasi wavelet memiliki kelebihan 1. mendeteksi fluktuasi-fluktuasi periodik yang bersifat transient beserta parameternya. 2. Mampu memusatkan perhatian pada suatu rentang waktu terbatas dari data yang ada. 3. menggambarkan proses dinamik nonlinear komplek yang diperlihatkan oleh interaksi gangguan dalam skala ruang dan waktu. Transformasi Fourier 1. Sinyal yang diukur berupa fungsi waktu (independent) dan dependen (biasanya amplitudo). 2. Informasi penting biasanya tersembunyi dalam konten frekuensi sinyal tersebut. 3. Spektrum frekuensi suatu sinyal merupakan komponen frekuensi (komponen spektral( dari sinyaltersebut. 4. Spektrum frekuensi suatu sinyal menunjukan frekuensi apa yang ada di sinyal tersebut. 5. Transformasi fourier memberi konten spektral sinyal, tetapi tidak memberi informasi kapan waktu komponen spektral itu muncul. 6. Transformasi Fourier hanya sesuai untuk sinyal stasioner. 7. Dapat digunakan untuk non stasioner jika kita tidak memerlukan informasi waktu dari suatu frekuensi. 8. Sinyal hujan merupakan contoh sinyal yang dipengaruhi banyak komponen diantaranyaQBO,EL Nino, Dipole Mode dlln. Dengan transformasi fourier kita dapat mengetahui informasi frekuensi sinyal hujan tersebut dan seberapa kuat amplitudonya. 9. Untuk masing-masing frekuensi memiliki satu nilai amplitufo 10. sumbu frekuensi dari nol sampai tak terhingga 11. Sinyal non stasioner memiliki fase yang stasioner pada rentang waktu yang sempit/kecil dan hal tersebut bisa dilihat dengan fungsi jendela atau short term fourier transform (STFT) 12. STFT memiliki kelemahan nyaitu penggunaan jendela yang tetap (padahal segmen stasioner tidak selalu sama. Resolusi frekuensi yang didapat hanya konten dari sinyal pada jendela tersebut bukan frekuensi secara utuh. 13. Dennis Gabor (1946) melakukan teknik STFT seperti Gambar (g).

Suatu sinyal yang tidak stasioner dianalisis dengan menggunakan jendela sehingga didapatkan sinyal yang stasioner. Tetapi terdapat kelemahan, sehingga muncul ide untuk menggunakan transform wavelet seperti yang di tunjukan Gambar (h) Sehingga kalau dirangkum analisis sinyal setidaknya bisa di lakukan dengan empat cara (time domain oleh Shannon;frekuensi domain oleh fourier;STFT (Gabor) dan analisis wavelet (Gambar i) Supaya lebih mudah dipahami bisa terlihat dari perbandingan hasil transform suatu sinyal dengan menggunakan fourier transform dan wavelet transform,seperti yang ditunjukan Gambar (j) Untuk lebih detail waktu terjadinya periode tersebut maka digunakan wavelet sebab Fourier hanya menunjukan besarnya frekuensi dan tidak waktu terjadinya.

http://kadarsah.wordpress.com/2008/04/02/aplikasi-matlab-untuk-meteorologi/ MATLAB merupakan sistem interaktif dan sebuah program bahasa. Elemen data dasar merupakan sebuah matriks yang tidak membutuhkan deklarasi ukuran atau jenis data, sehingga banyak masalah perhitungan dapat diselesaikan pada waktu singkat dan perhitungan diambil untuk dituliskan ke dalam bahasa FORTRAN atau C.

Desktop MATLAB
Jalankan program MATLAB pada sistem operasi windows, maka layar akan menampilkan seperti yang ditunjukkan pada Gambar dibawah ini

Layar tampilan program MATLAB

MATLAB mengingatkan perintah-perintah ketikan yang dimasukkan pada jendela perintah (command windows). Perintah-perintah ini dapat digambarkan pada history command yang dapat dicopy dan menjalankan perintah-perintah yang telah dipilih. MATLAB mengingatkan variabel-variabel yang dibuat dan dapat dilihat pada workspace windows, seperti yang ditunjukkan pada Gambar dibawah ini

Workspace windows MATLAB untuk daftar variabel dan informasi tentang setiap variabel

http://www.elektronikabersama.web.id/2011/09/program-aplikasi-matlab.html

aplikasi Rotasi Image dengan matlab 7


Posted by Aritha H on Wednesday, November 9, 2011 Labels: PC

untuk membuat alpikasi pengolahan citra rotasi kita menggunakan matlab 7 karena pada matlab 7 sudah menyediakan fasilitas GUI. langusng saja buka matlab 7 anda, kemudian pilih file> new> GUI pertama kita akan membuat menu dengan menu editor. pada tampilan GUI klik icon menu editor. setelah keluar jendela menu editor buat sebuah menu dengan label "open". Accelerator nya Ctrl + O ganti tag nya menjadi "buka" buat menu baru label "save". Accelerator nya Ctrl + S ganti tag nya menjadi "simpan" buat 1 menu lagi dengan label "exit" tag "keluar", klik ok jika anda sudah selesai membuat menu. langkah selanjutnya adalah membuat static text dan ubah property nya dengan melakukan double click. text1 ubah string : "Program Aplikasi untuk Merotasi Citra" text2 ubah string : "Citra Asli" text3 ubah string : "Citra Hasil Rotasi" text4 ubah string : "Derajat Rotasi" untuk tag nya biarkan saja default text1, text2 dll. guna tag yaitu untuk di function nya nanti. jadi ketika kita ingin memberi aksi pada text1 kita tinggal menambahkan kode pada function text1 Kemudian buat 2 axes. buat 1 edit text terakhir buat slider ubah propery min nya 1.0 dan max 360.0 susun sehingga seperti ini

simpan file anda dan secara otomatis anda akan mendapatkan file dengan extensi .m selesai untuk GUI sekarang kita ke programming, bukalah file .m anda. cari function slider1_Callback(hObject, eventdata, handles) tambahkan koding berikut % get(hObject,'Min') and get(hObject,'Max') to determine range of slider nilai_slider = get(handles.slider1,'Value'); handles.nilai_slider=round(nilai_slider); guidata(hObject,handles); set(handles.edit1,'String',handles.nilai_slider); hasil = imrotate(handles.data1,handles.nilai_slider,'bilinear','crop'); handles.hasil=hasil; guidata(hObject,handles); axes(handles.axes2); imshow(hasil); kemudian cari function buka_Callback(hObject, eventdata, handles) tambahkan [nama_file1, nama_path1]=uigetfile(... {'*.bmp;*.jpg','File Citra (*.bmp,*.jpg)'; '*.bmp','File Bitmap (*.bmp)';... '*.jpg','File jpeg (*.jpg)'; '*.*','Semua File (*.*)'},... 'Buka File Citra Host/Asli'); if ~isequal(nama_file1, 0) handles.data1=imread(fullfile(nama_path1,nama_file1)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes1); imshow(handles.current_data1); axes(handles.axes2);

imshow(handles.current_data1); else return; end selanjutnya pada bagian function simpan_Callback(hObject, eventdata, handles) [nama_file_simpan, path_simpan]=uiputfile(... {'*.bmp','file citra (*.bmp)'; '*.bmp','citra bmp (*.bmp)';... '*.*','Semua File (*.*)'},... 'Menyimpan Citra Hasil Rotasi'); imwrite(handles.hasil,fullfile(path_simpan,nama_file_simpan),'BMP'); function keluar_Callback(hObject, eventdata, handles) selection = questdlg(['Tutup ' get(handles.figure1,'Name') '?'],... ['Tutup ' get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1) selesai jalankan aplikasi dengan mengklik Run. source : http://kuliahkusayang.blogspot.com/2011/11/rotasi-image-dengan-matlab7.html#ixzz1gl8yvURC
http://kuliahkusayang.blogspot.com/2011/11/rotasi-image-dengan-matlab-7.html http://kuliahkusayang.blogspot.com/2011/11/rotasi-image-dengan-matlab-7.html

You might also like