Anda di halaman 1dari 5

Script Pembahasan

clc, clear all, close all Blok ini berfungsi untuk mendefinisikan
tic parameter model, dimana pertama
%---Input Parameter Model--- dilakukan input parameter model yang
v_cr = 3; %Velocity of country rock terdiri dari rock velocity dari batuan
v_an = 5; %Velocity of anomaly lingkungan (rock country), velocity dari
n_grid = 21; %Jumlah grid sumbu x batuan yang menyebabkan anomali
dan z nanti dibuat sama sebanyak (anomaly rock), ukuran grid model, ukuran
n_grid batuan anomali dalam grid.
dx = 1; %Ukuran grid (meter)
sz_an = 5; %Size Anomaly, yaitu
dibuat berukuran 5 x 5 grid. Dibuat
tepat di tengah model

%--Pembuatan matriks velocity


model--
v = v_cr*ones(n_grid);
v(8:13, 8:13) = v_an; Kemudian dilakukan plot matriks slowness
p = 1./v; model berdasarkan nilai velocity
subplot(3,3,5)
imagesc(p)
title('Slowness Model')

xx = size(p,2);
zz = size(p,1);

p_sel = zeros(zz,xx);
jumlah_tembak = 0;

%---tembak ke kiri-- Blok ini mengkomputasikan perhitungan


t_kiri = zeros(zz,xx); tomografi untuk penembakan ke arah kiri
L_kiri = zeros(zz,xx); %L adalah (blok atas) dan ke arah kanan (blok
matriks yang berisi jarak yang bawah).
ditempuh raypath
siji = ones(1,xx); Matriks “t_kiri” dan “t_kanan” pada
for i = 1:zz awalnya memiliki matrik nol dengan
satu = zeros(zz,xx); ukuran 21x21. Matriks “L_kiri” dan
satu(i,:) = siji; “L_kanan” juga awalnya memiliki matriks
TT = sum(sum(p.*satu.*dx)); nol. Sedangkan matriks siji merupakan 1
tt = satu.*TT; baris dengan 21 kolom bernilai 1.
t_kiri = t_kiri+tt; Kemudian dilakukan perhitungan “for”
yang digunakan untuk menghitung nilai
ll = sum(sum(dx.*satu)); travel time dan slowness setiap baris.
LL = satu.*ll; Inisiasi baris ke-i ditunjukkan dengan
L_kiri = L_kiri+LL; matriks “satu” kemudian perhitungan “TT”
p_avg_kiri = t_kiri./L_kiri; untuk mendapatkan nilai travel time pada
baris tersebut dengan menjumlahkan nilai
p_sel_kiri = travel time pada setiap kolom pada baris
ll.*p_avg_kiri./L_kiri; ke-i. matriks “t_kiri” dan “t_kanan”
end merupakan matriks terbaru yang sudah
p_sel = p_sel+p_sel_kiri; ditambahkan dengan matriks baris bernilai
jumlah_tembak = jumlah_tembak+1; traveltime total baris tersebut.
subplot(3,3,4)
imagesc(t_kiri) Setelah itu dilakukan perhitungan jarak
total pada setiap baris, dimana di baris
%---tembak ke kanan-- tersebut, nilai jarak kolom sama.
t_kanan = zeros(zz,xx);
L_kanan = zeros(zz,xx); Setelah mendapatkan nilai traveltime dan
siji = ones(1,xx); jarak total maka dilakukan perhitungan
for i = 1:zz slowness rata-rata (p) dengan membagi
satu = zeros(zz,xx); matriks “t_kiri” dengan “L_kiri”dan
satu(i,:) = siji; “t_kanan” dengan “L_kanan” kemudian
TT=sum(sum(p.*satu.*dx)); melakukan perhitungan matriks slowness
tt=satu.*TT; pada setiap sel.
t_kanan = t_kanan+tt;
Perhitungan ini dilakukan sampai baris
ll = sum(sum(dx.*satu)); terakhir. Setelah iterasi, nilai p yang
LL = satu.*ll; dihasilkan kemudian dimasukkan ke
L_kanan = L_kanan+LL; matriks p_sel.
p_avg_kanan = t_kanan./L_kanan;
p_sel_kanan = nilai traveltime kemudian diplotkan.
ll.*p_avg_kanan./L_kanan;
end
p_sel = p_sel+p_sel_kanan;
jumlah_tembak = jumlah_tembak+1;
subplot(3,3,6)
imagesc(t_kanan)

%---tembak ke atas--
t_atas = zeros(zz,xx); Blok ini mengkomputasikan perhitungan
L_atas = zeros(zz,xx); tomografi untuk penembakan dari arah ke
siji = ones(1,zz); atas (blok atas) dan arah ke bawah (blok
for i = 1:xx bawah).
satu = zeros(zz,xx);
satu(:,i) = siji; Perhitungan pada blok ini mirip dengan
TT = sum(sum(p.*satu.*dx)); perhitungan tembakan arah ke kiri. Pada
tt = satu.*TT; arah ke atas, perhitungan “for” di sini
t_atas = t_atas+tt; menghitung total travel time pada setiap
kolom. Matriks “satu(:,i)” merupakan
ll = sum(sum(dx.*satu)); matriks kolom yang bernilai 1. matriks
LL = satu.*ll; “t_atas” dan matriks “t_bawah” terbaru
L_atas = L_atas+LL; merupakan matriks kolom yang sudah
p_avg_atas = t_kiri./L_atas; ditambahkan dengan matriks “tt”.
p_sel_atas = Kemudian dilakukan perhitungan jarak
ll.*p_avg_kiri./L_atas; total (L_atas dan L_bawah) pada setiap
end kolom yang digunakan untuk melakukan
p_sel = p_sel+p_sel_atas; perhitungan slowness (p_sel atas dan
jumlah_tembak = jumlah_tembak+1; p_sel_bawah) pada setiap kolom.
subplot(3,3,2) Perhitungan ini dilakukan sampai kolom
imagesc(t_atas) terakhir.

%---tembak ke bawah-- Nilai traveltime pada masing-masing arah


t_bawah = zeros(zz,xx); kemudian diplotkan.
L_bawah = zeros(zz,xx);
siji = ones(1,zz);
for i = 1:xx
satu = zeros(zz,xx);
satu(:,i) = siji;
TT=sum(sum(p.*satu.*dx));
tt=satu.*TT;
t_bawah=t_bawah+tt;

ll = sum(sum(dx.*satu));
LL = satu.*ll;
L_bawah = L_bawah+LL;
p_avg_bawah = t_bawah./L_bawah;
p_sel_bawah =
ll.*p_avg_bawah./L_bawah;
end
p_sel = p_sel+p_sel_bawah;
jumlah_tembak = jumlah_tembak+1;
subplot(3,3,8)
imagesc(t_bawah)

%--------tembak ke kiri atas-------


------ Bagian ini digunakan untuk
t_kiriatas = zeros(zz,xx); mengkomputasikan penembakan diagonal
L_kiriatas = zeros(zz,xx); (arah kiri atas dan kanan atas) berdasarkan
siji = ones(1,n_grid); nilai slowness nya.
for i = -n_grid+1:n_grid-1
satu=diag(siji,i); Perhitungan “for” di bagian ini buak untuk
satu=satu(1:n_grid,1:n_grid); menghitung pada setiap baris maupun
kolom, namun pada setiap arah diagonal.
TT=sum(sum(p.*satu.*dx*sqrt(2))); Iterasi dimulai dengan mendefinisikan
tt=satu.*TT; matriks “satu” untuk membuat matriks
t_kiriatas=t_kiriatas+tt; diagonal. Matriks diagonal ini bergerak dari
bawah ke atas pada setiap iterasi.
ll = Kemudian dilakukan perhitungan
sum(sum(dx*sqrt(2).*satu));
LL = satu.*ll; traveltime dengan menambahkan matriks
L_kiriatas = L_kiriatas+LL; “TT” dengan matriks “satu” tersebut.
p_avg_kiriatas =
t_kiriatas./L_kiriatas; Setelah dilakukan perhitungan traveltime,
p_sel_kiriatas = dilakukan perhitungan jarak total
ll.*p_avg_kiriatas./L_kiriatas; penembakan diagonal pada setiap iterasi
end diagonal dan nilai slownessnya.
p_sel = p_sel+p_sel_kiriatas; Perhitungan ini hampir sama dengan
jumlah_tembak = jumlah_tembak+1; bagian sebelumnya.
subplot(3,3,1)
imagesc(t_kiriatas) Setelah itu dilakukan plotting nilai
slowness tersebut.
%--------tembak ke kanan atas------
-------
t_kananatas = zeros(zz,xx);
L_kananatas = zeros(zz,xx);
siji = ones(1,n_grid);
for i=-n_grid+1:n_grid-1
satu=diag(siji,i);

satu=flip(satu(1:n_grid,1:n_grid));

TT=sum(sum(p.*satu.*dx*sqrt(2)));
tt=satu.*TT;
t_kananatas=t_kananatas+tt;

ll =
sum(sum(dx*sqrt(2).*satu));
LL = satu.*ll;
L_kananatas = L_kananatas+LL;
p_avg_kananatas =
t_kananatas./L_kananatas;
p_sel_kananatas =
ll.*p_avg_kananatas./L_kananatas;
end
p_sel = p_sel+p_sel_kananatas;
jumlah_tembak = jumlah_tembak+1;
subplot(3,3,3)
imagesc(t_kananatas)

%----Jumlah---- Hasil dari slowness masing-masing arah


p_avg_sel = p_sel./jumlah_tembak; yang tergabung dalam matriks “p_sel”
figure(2) kemudian dicari slowness rata-rata dengan
subplot(1,2,1) membagi “p_sel” dengan jumlah tembak.
imagesc(p) Slowness rata-rata tersebut yang diplotkan
title('True Model (Slowness)'), untuk menjadi model tomografi.
colorbar
subplot(1,2,2)
imagesc(p_avg_sel)
title('Hasil BPT (Slowness)'),
colorbar
toc

Anda mungkin juga menyukai