Inversi Non-Linier Dengan Pendekatan Global: Systematic And Random Grid Search
1. SCRIPT MATLAB SYSTEMATIC GRID SEARCH
clc, clear all
%DEFINISI parameter PUSAT model hiposenter
xhipo=40; yhipo=30;
v_avg=4;
noise=random('Normal',2,0.2);
%tentukan koordinat stasiun pengukuran
x=[20 50 40 10];
y=[10 25 50 40];
%menghitung DATA t_obs
t_obs=zeros(length(x),1);
for i=1:length(x)
t_obs(i)=sqrt((xhipo-x(i))^2 + (yhipo-y(i))^2) / v_avg;
end
%Perhitungan SYSTEMATIC GRID SEARCH
p=1; L=1;
xo=[0:L:60]; yo=[0:L:60];
t_cal=zeros(length(x),1);
for j=1:length(xo)
for k=1:length(yo)
for i=1:length(x)
t_cal(i)=(sqrt((xo(j)-x(i))^2 + (yo(k)-y(i))^2) / v_avg) + ...
noise;
end
dt=t_obs - t_cal;
Erms(k,j)=sqrt(mean(dt.^2));
if Erms(k,j) < p
p=Erms(k,j);
end
end
end
[C,h]=contour(xo,yo,Erms,20);
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
clabel(C,h,'FontSize',8,'Color','k','Rotation',0);
colormap(bone);
hold on
plot(xhipo,yhipo,'p','MarkerSize',20,'MarkerFaceColor','r', ...
'MarkerEdgeColor','r')
hold on
plot(x,y,'v','MarkerSize',15,'MarkerFaceColor','b', ...
'MarkerEdgeColor','b')
xlim([0 60]); ylim([0 60]);
xlabel('Koord. X (m)'); ylabel('Koord. Y (m)');
title('Model Prediksi Posisi Hiposenter dengan Kontur Erms');
maka dari script MATLAb diatas jika di-run akan memberikan output berupa grafik sebagai berikut,
2. Gambar diatas memperlihatan hasil perhitungan obyektif yang dinyatakan oleh kesalahan
perhitungan rata-rata (Erms) pada setiap grid 1km x 1km. Terlihat bahwa posisi episenter
gempa yang sebenarnya tidak terlalu match dengan posisi pada model prediksi, ini mungkin
dikarenakan adanya fungsi noise yang ditambahkan pada data kalkulasi. Jika perhitungan
tidak melibatkan penambahan noise maka model yang dihasilkan adalah sebagai berikut,