Anda di halaman 1dari 5

SIMULASI INVERSI

Oleh

Eko Rananda
1615051025

JURUSAN TEKNIK GEOFISIKA


FAKULTAS TEKNIK
UNIVERSITAS LAMPUNG
2019
Inversi non-linier / Jacobian untuk pemodelan gaya berat Model
Sintetik
Pemodelan inversi non-linier untuk data gravity / gaya berat menggunakan model "bola".

Model Sintetik

%Menentukan parameter model sintetik


G=6.67*10^(-11);
r=150;
noise=0.03;
rho=2500;
xbola=400;
zbola=650;

%Menentukan titik pengukuran


x=linspace(0,1000,21);
z=zeros(1,21);

%Menghitung nilai g sintetik di setiap titik pengukuran


for i=1:21
a=((x(i)-xbola)^2+(z(i)-zbola)^2)^(3/2);
g(i)=G*(4/3)*pi*(r^3)*zbola*rho/a;
end

%Membuat g sintetik dalam mgal


gsint=10^5*g';

%Membuat plot dari data g sintetik


h=figure(1);
set(h,'Position', [600 200 1500 1100])
subplot(2,3,1)
plot(x,gsint,'.')
title('Data Sintetik')
xlabel('Jarak')
ylabel('Gaya berat (mgal)')

%Membuat plot model sintetik dari bola


z1bola=-zbola;t=linspace(0,2*pi,200);
xh=r*cos(t)+xbola;zh=r*sin(t)+z1bola;
subplot(2,3,4)
plot(xh,zh,'-b')
title('Model Sintentik')
xlabel('Jarak');ylabel('Kedalaman')
axis ([0 1000 -1000 0])
grid on
axis equal

%Membuat g observasi dengan menambahkan noise thd model sintetik


gobs=gsint+normrnd(0,noise*gsint,size(gsint));

%Membuat plot dari data g observasi


subplot(2,3,2)
plot(x,gobs,'r.')
title('Data Sintetik + noise')
xlabel('Jarak')
ylabel('Gaya berat (mgal)')
Inversi Non-Linear

%Menentukan parameter awal


x0=150;
z0=150;

%Iterasi untuk forward modeling sebanyak 20 kali


for j=1:20

%Membuat plot model bola dari forward modeling


z01=-z0;t0=linspace(0,2*pi,200);
xh0=r*cos(t)+x0;zh0=r*sin(t)+z01;
subplot(2,3,5)
plot(xh0,zh0,'-')
title('Model per Iterasi')
xlabel('Jarak');ylabel('Kedalaman')
hold on
grid on
axis ([0 1000 -1000 0])

%Menghitung g forward modeling


for i=1:21
a=((x(i)-x0)^2+(z(i)-z0)^2)^(3/2);
g1(i)=G*(4/3)*pi*(r^3)*z0*rho/a;
end

%Membuat g forward modeling dalam mgal


gfm=10^5*g1';

d=gobs-gfm; %selisih g observasi dengan g kalkulasi

%Membuat matriks jacobbi


for i=1:21
a=((x(i)-x0)^2+(z(i)-z0)^2)^(5/2);
jx0(i)=G*(4/3)*pi*(r^3)*z0*rho*2*(x(i)-x0)/a;
jz0(i)=G*(4/3)*pi*(r^3)*z0*rho*2*(z(i)-z0)/a;
end
J(:,1)=jx0';
J(:,2)=jz0';

%Inversi non linier


dm=inv(J'*J)*J'*d;

%Membuat matriks dari parameter model awal


m=[x0 z0]'; %Rexha Verdhora Ry

%Menghitung parameter model baru hasil inversi


%10^-5 sebagai konversi ke meter
m=m+(dm*10^(-5));
x0=m(1);
z0=m(2);

missfit(j)=sqrt((gfm-gobs)'*(gfm-gobs));
end

%Membuat plot model bola dari forward modeling


subplot(2,3,5)
plot(xh0,zh0,'r-')
title('Model per Iterasi')
xlabel('Jarak')
ylabel('Kedalaman')
hold on
grid on
axis ([0 1000 -1000 0])
axis equal

for i=1:21
a=((x(i)-x0)^2+(z(i)-z0)^2)^(3/2);
g1(i)=G*(4/3)*pi*(r^3)*z0*rho/a;
end
gfm=10^5*g1';
%Membuat plot dari fit g observasi dengan g forward modeling
subplot(2,3,3)
plot(x,gobs,'r.')
hold on
plot(x,gfm,'-k')
title('Data Sintetik + Fit Forward Modeling')
xlabel('Jarak')
ylabel('Gaya berat (mgal)')

%Membuat plot model bola yang paling fit dari forward modeling
subplot(2,3,6)
plot(xh0,zh0,'r-')
title('Model hasil inversi')
xlabel('Jarak')
ylabel('Kedalaman')
grid on
axis ([0 1000 -1000 0])
axis equal

%Membuat plot missfit


figure(2)
plot(missfit)
title('Missfit tiap iterasi')
xlabel('Iterasi ke-')
ylabel('Missfit')

Hasil

Anda mungkin juga menyukai