0% menganggap dokumen ini bermanfaat (0 suara)
73 tayangan3 halaman

Inversi Hiposenter Gempa dengan Simulated Annealing

Dokumen tersebut merangkum proses pembuatan model sintetik gempa bumi menggunakan algoritma simulated annealing untuk menentukan koordinat hiposenter dan kecepatan gelombang gempa berdasarkan data observasi waktu tiba gelombang di beberapa stasiun. Prosesnya meliputi pembuatan model awal, penambahan noise pada data observasi, iterasi pembuatan model baru dengan metode perturbasi dan perbandingan nilai misfit, hingga didapatkan model terbaik. Hasil a

Diunggah oleh

lia andri anggraeni
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
0% menganggap dokumen ini bermanfaat (0 suara)
73 tayangan3 halaman

Inversi Hiposenter Gempa dengan Simulated Annealing

Dokumen tersebut merangkum proses pembuatan model sintetik gempa bumi menggunakan algoritma simulated annealing untuk menentukan koordinat hiposenter dan kecepatan gelombang gempa berdasarkan data observasi waktu tiba gelombang di beberapa stasiun. Prosesnya meliputi pembuatan model awal, penambahan noise pada data observasi, iterasi pembuatan model baru dengan metode perturbasi dan perbandingan nilai misfit, hingga didapatkan model terbaik. Hasil a

Diunggah oleh

lia andri anggraeni
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.

SCRIPT PENJELASAN

clear,clc Pertama membuat model sintetik pada


close all hiposenter pada matlab. Model ini bukan
xh=1300 menentukan dimana titik hiposenter
yh=2050; berada namun, membuat model ruang
zh=-1000; titik hiposenter. Selanjutnya
vavg=5.1; menentukan kecepatan rata – rata
x=[700 1900 1200 1350]; gelombang gempa.
y=[2300 2000 3500 800]; Dan membuat koordinat stasiun
z=zeros(1,4); Titik z merupakan letak receiver,
sehingga titik z menggunakan zeros.
for i=1:length(x) Karena letak receiver yang berada tepat
tsint(i)=sqrt(((xh- diatas permukaan.
x(i))^2)+((yh-y(i))^2)+((zh-
z(i))^2))/vavg; Selanjutnya adalah menghitung travel
end time dengan rumus :

Dari sini akan dihasilkan t observasi


noise=0.005; Selanjutnya adalah menambahkan nilai
tobs=tsint+normrnd(0,noise*tsint, noise pada t observasi agar lebih sesuai
size(tsint)) dengan keadaan yang sebenarnya.
Dimana tiap travel time yang diterima
akan mengandung noise karena
disebabkan oleh delay, perbedaan
medium dsb.

%INVERSI NON LINIER


%Simulated Annealing Inversion
Xmin=0; Xmax=3000; Setelah itu masuk ke simulated anneling
Ymin=0; Ymax=3000; diamana simulated annealling
Zmin=-1500; Zmax=0; merupakan guide random search. Maka
dari itu perlu ditambahkan apriori agar
sample yang digunakan mengarah ke
hasil yang diinginkan. Masing – masing
titik koordinat stasiun diberikan apriori
dari nilai minimal hingga nilai maksimal
agar kita mengetahui dimana letak
koordinat yang sebenarnya.

X=Xmin+rand*(Xmax-Xmin); Setelah itu akan membentuk perturbasi


Y=Ymin+rand*(Ymax-Ymin); model koordinat masing stasiun yang
Z=Zmin+rand*(Zmax-Zmin); dirumuskan seperti disamping. Rumus
tersebut diperoleh darirumus dasar :
for i=1:length(x)
tcal(i)=sqrt(((X- Dari model perturbasi tersebut
x(i))^2)+((Y-y(i))^2)+((Z- didapatkan t kalkulasi
z(i))^2))/vavg;
end

dt=tobs-tcal;
Karena telah didapatkan t observasi dan
t kalkulasi dapat dihitung nilai misfitnya
dengan mengurangi t observasi dengan t
kalkulasi

E=dt*dt'; E merupakan perubahan nilai misfit


akibat adanya perturbasi model.
dt harus diinverskan agar dimensinya
sama – sama 4 x 3 sehingga dapat
dikalikan.
T=E;
k=0; T merupakan suhu yang merupakan
U=0; variabel pengontrol. Dalam kasus ini
Umax=100; variabel pengontrol adalah E
Lmax=100; K adalah konstanta Boltzman
Amin=100; U adalah kriteria pemberhentian iterasi
Lk adalah banyaknya perturbasi model
yang dihasilkan
Ak adalah banyaknya model baru yang
dihasilkan

h = waitbar(0,'Please wait...');
while U<=Umax Proses ini memasuki proses iterasi
Lk=0; Ketika u kurang dari nilai umax maka Lk
Ak=0; dan Ak akan bernilai nol dan akan
waitbar(U/Umax) menghasilkan perturbasi model.
while Lk<Lmax && Ak<Amin
X1=Xmin+rand*(Xmax-Xmin);
Y1=Ymin+rand*(Ymax-Ymin);
Z1=Zmin+rand*(Zmax-Zmin);

for i=1:length(x)
tcal(i)=sqrt(((X1-
x(i))^2)+((Y1-y(i))^2)...
+((Z1-
z(i))^2))/vavg;
end

dt=tobs-tcal;
E1=dt*dt';
dE=E1-E;
Lk=Lk+1;
Jika nilai E kurang dari nol maka, akan
if dE<=0
mengahsilkan model baru. Maka akan
HypoX=X1;
menghasilkan model baru ketika nilainya
HypoY=Y1; kurang dari Ak dan Lk maka model akan
HypoZ=Z1; kembali ke model perturbasi awal. Jika
E=E1; nilai model lebih dari Lk dan Ak = nol
Ak=Ak+1; maka model akan lanjut ke kriteria
else pemberhentian ketika model bernilai
P=exp(-dE/T);
R=rand; kurang dari sama dengan Umax maka
if R<P model akan kembali ke model perturbasi
HypoX=X1; awal. Ketika nilai model lebih dari sama
HypoY=Y1; dengan Umax maka akan menghasilkan
HypoZ=Z1; solusi.
HypoE=E1; Jika nilai E lebih dari nol akan masuk
Ak=Ak+1; ke rumus
end
end
end
if Ak==0 Dengan menambahkan nilai probabilitas
U=U+1; (R) antara 0-1. Pada proses ini akan
else terjadi 2 kemungkinan. Jika nilai R kurang
U=0; dari P maka, akan mumbentuk model
end baru. Jika nilai R lebih dari p mka akan
T=T*0.99; kembali ke model awal dan akan di
k=k+1; iterasi kembali. Apabila nilai model baru
end yang terbentuk kurang dari Lk maka akan
close(h) kembali ke model perturbasi awal. Jika
nilai model lebih dari Lk dan Ak = nol
maka model akan lanjut ke kriteria
pemberhentian ketika model bernilai
kurang dari sama dengan Umax maka
model akan kembali ke model perturbasi
awal. Ketika nilai model lebih dari sama
dengan Umax maka akan menghasilkan
solusi.

%plot kontur dari missfit


figure Plot hasil
plot3(HypoX,HypoY,HypoZ,'ko',...

'MarkerFaceColor','g','MarkerSize
',10)
hold on
plot3(x,y,z,'v','MarkerFaceColor'
,'k');
title('\fontsize{13}Map of Event
Distribution')
xlabel('West - East (m)')
ylabel('North - South (m)')
zlabel('Depth (m)')
grid on
hold off

Anda mungkin juga menyukai