Programming

Inversi 1D Magnetotelurrik menggunakan metode VFSA

6:24:00 AM Leo Cahya D 7 Comments

Hello Digital World,


First of all, nonlinearity is a b*tch.
Yap, fungsi-fungsi asumsi dalam metode-metode geofisika itu memang nonlinear, saya baru tau maksud dari bercandaan "kalau orang geofisika ditanya 1+1 pasti bakal dijawab, 'Anda maunya berapa?' " setelah saya membuat beberapa program inversi seperti gravitasi dan MT1D ini.  

Jadi ceritanya saya merampungkan project mt1d dengan teman saya theo yang sebenarnya untuk suatu lomba dua tahun silam (tapi karena ada kegiatan lapangan batal deh). Acuan yang saya pakai menggunakan metode forward yang sama dengan buatan Pak Hendra Grandis*, sedangkan untuk inversinya saya menggunakan metode Very Fast Simulated Annealing (VFSA) besutan Ingber (1989).

Kenapa saya menggunakan VFSA?
Ya menurut saya dalam menyelesaikan masalah inversi perlu dilihat dulu berapa jumlah parameter model yang diinversikan dan lama proses perhitungan forwardnya. Jika parameter < 200 jenis (dipost selanjutnya mungkin akan saya jelaskan kenapa saya berpendapat seperti ini melalui experimen dengan problem simpel) dan waktu untuk forward sebuah model kurang dari 30 detik metode random walk semacam monte carlo dan simulated annealing opsi yang baik, dimana anda tak perlu repot-repot menghitung matriks jacobi dan stress apabila terjadi singularitas.

Hasilnya?
Error kecil tapi model beda dari hasil forward awal. Yup, super ultimate mega nonlinear deh. Bisa dilihat hasil 3 kali running untuk suatu data sintetik dengan model yang sama tetapi hasilnya berbeda.
(Jumlah parameter = 21 (11 nilai rho dan 10 ketebalan lapisan) )

Test 1

Test 2

Test 3

Baru ini, belum seismik haha.. Man gotta dream like never seen obstacles~

Berikut program matlabnya jika ingin dipakai :
forward: mt1dfor2.p
inversi : MT_1D_Inversill.m

*Referensi : H. Grandis, M. Menvielle, M. Roussignol. Bayesian inversion with Markov chains—I. The magnetotelluricone‐dimensional case

see ya
- L

7 comments:

  1. Salam,
    Mas itu yang script forward modellingnya kok format .p(plot)? bukan script matlab biasa. Ga bisa makainya hhehe, masih belajar. Tolong penjelasannya.

    ReplyDelete
    Replies
    1. bukan Dek, .p itu juga program tapi pemanggilannya dari program MT_1D_Inversill.m

      Coba kedua programnya dimasukkan ke satu folder yang sama.

      Delete
  2. Mas,,kok error ya di line 32 ?
    data0=dlmread(namafile);

    ReplyDelete
  3. mohon bantuannya ya mas,,maklum lagi belajar hehe

    ReplyDelete
  4. mas, bentuk format data .txt-nya gmn ya?

    ReplyDelete
  5. Hallo kak, kak mohon maaf boleh saya minta akses untuk unduh scriptnya?. mohon bantuannya kak.
    terimakasih

    ReplyDelete
  6. mohon maaf kak boleh minta akses m.file nya kak? soalnya b
    uat tugas akhir kak

    ReplyDelete