SlideShare a Scribd company logo
1 of 5
SCRIPT/SYNTAX DALAM MATLAB

clc, clear all
%DEFINISIKAN SEMUA PARAMETER DAN VARIABEL YANG KITA PUNYA
receiver_x=2000; receiver_y=1000;
source_x1=0; source_y1=250;
source_x2=0; source_y2=633;
source_x3=1000; source_y3=0;
dt_obs11=3.018; dt_obs21=2.894; dt_obs31=1.141;
n_ray=3;
%membuat koordinat kedalam bentuk matriks yang lebih "mudah" diolah
Rx=2000; Ry=1000;
Sx=[source_x1 source_x2 source_x3]; Sy=[source_y1 source_y2 source_y3];
dt_obs=[dt_obs11 dt_obs21 dt_obs31];
grid_x=0:1:2000;
grid_y=0:1:1000;

%HITUNG KECEPATAN AWAL MODEL (LINIER)
%menghitung panjang ray linier dari source ke receiver
ray_total=zeros(n_ray,1);
for i=1:n_ray
    ray_total(i)=((Rx-Sx(i)).^2 + (Ry-Sy(i)).^2).^0.5;
end
%membuat kecepatan awal model linier
vsem=zeros(n_ray,1);
for i=1:n_ray
    vsem(i)=ray_total(i) / dt_obs(i);
end
v0_linier=sum(vsem) / n_ray;
%menghitung dt kalkulasi linier
dt_cal_linier=zeros(n_ray,1);
for i=1:n_ray
    dt_cal_linier(i)=ray_total(i) / v0_linier;
end
%menghitung delta waktu (observasi - kalkulasi)
dt_linier=zeros(n_ray,1);
for i=1:n_ray
    dt_linier(i)=dt_obs(i) - dt_cal_linier(i);
end
%membuat matriks kernel
G_linier=[ray_total(1)/2 ray_total(1)/2; ...
            ray_total(2)/2 ray_total(2)/2;0 ray_total(3)];
%melakukan inversi untuk mendapatkan delta S
m_linier=(inv(G_linier'*G_linier))*G_linier'*dt_linier;
%mencari kecepatan tiap blok dengan asumsi delta V >>
dv_linier=zeros(length(m_linier),1);
v_linier=zeros(length(m_linier),1);
for i=1:length(m_linier)
    dv_linier(i)= (-1*m_linier(i)*v0_linier^2) / (1 +
m_linier(i)*v0_linier);
    v_linier(i)=v0_linier + dv_linier(i);
end


%SHOOTING METHOD DENGAN HK. SNELL
%mendefinikan variabel yang digunakan untuk iterasi shooting
i=1; j=1; k=1; %variabel nilai awal pertambahan iterasi
sudut(1)=11; %sudut tembakan dari sorce ke-1
sudut2(1)=5.7; %sudut tembakan dari sorce ke-2
while k <= 5
%mendefinisikan kondisi kecepatan tiap blok untuk tiap iterasi
if k==1 %iterasi pertama memakai kecepatan linier terlebih dahulu
   v_snell=v_linier;
else
   v_snell=v_nonlin;
end

b1=1000; b2=1000; %mendefinisikan panjang horizontal tiap kotak
sel_1=1; sel_2=1; %mendefinisikan nilai syarat awal iterasi
while sel_1 > 0.005
    %menghitung ray tracing pada SHOOT SOURCE ke-1 (Prinsip Phytagoras)
    %menghitung ray shooting pada kotak pertama
    c1=b1 / cosd(sudut(i));
    a1=c1 * sind(sudut(i));
    T1x(i)=Sx(1) + b1;
    T1y(i)=Sy(1) + a1;
    grad(i)=(T1y(i) - Sy(1)) / (T1x(i) - Sx(1));
    %menghitung sudut pergi/sudut datang ray pada kotak 2 dengan Hk.
        Snell
    sudut3(i)=abs(asind((v_snell(2) * sind(sudut(i))) / v_snell(1)));
    %menghitung ray shooting pada kotak kedua
    c2=abs(b2 / cosd(sudut3(i)));
    a2=abs(c2 * sind(sudut3(i)));
    T2x(i)=T1x(i) + b2;
    T2y(i)=T1y(i) + a2;
    grad2(i)=(T2y(i) - T1y(i)) / (T2x(i) - T1x(i));
    ray_shoot1(i,1)=(((T1x(i)-Sx(1)).^2 + (T1y(i)-Sy(1)).^2).^0.5);
    ray_shoot1(i,2)=(((T2x(i)-T1x(i)).^2 + (T2y(i)-T1y(i)).^2).^0.5);
    %menghitung SELISIH nilai koordinat y antara receiver dan kalkulasi
        tembak
    sel_1=abs(T2y(i)-Ry);
    if sel_1 < 0.005
        min_1=sel_1;
        sudut(i);
        sh_1=i;
    end
    i=i+1; %penambahan nilai iterasi shoot ke-1
    sudut(i)=11 + (i-1)*0.0001; %sudut tembakan dari sorce ke-1
end


while sel_2 > 0.005
    %menghitung ray tracing pada SHOOT SOURCE ke-2 (Prinsip Phytagoras)
    %menghitung ray shooting pada kotak pertama
    c3=b1 / cosd(sudut2(j));
    a3=c3 * sind(sudut2(j));
    T3x(j)=Sx(2) + b1;
    T3y(j)=Sy(2) + a3;
    grad3(j)=(T3y(j) - Sy(2)) / (T3x(j) - Sx(2));
    %menghitung sudut pergi/sudut datang ray pada kotak 2 dengan Hk.
        Snell
    sudut4(j)=abs(asind((v_snell(2) * sind(sudut2(j))) / v_snell(1)));
    %menghitung ray shooting pada kotak kedua
    c4=abs(b2 / cosd(sudut4(j)));
    a4=abs(c4 * sind(sudut4(j)));
    T4x(j)=T3x(j) + b2;
    T4y(j)=T3y(j) + a4;
    grad4(j)=(T4y(j) - T3y(j)) / (T4x(j) - T3x(j));
    ray_shoot2(j,1)=(((T3x(j)-Sx(2)).^2 + (T3y(j)-Sy(2)).^2).^0.5);
    ray_shoot2(j,2)=(((T4x(j)-T3x(j)).^2 + (T4y(j)-T3y(j)).^2).^0.5);
    %menghitung SELISIH nilai koordinat y antara receiver dan kalkulasi
tembak
          sel_2=abs(T4y(j)-Ry);
          if sel_2 < 0.005
              min_2=sel_2;
              sudut2(j);
              sh_2=j;
          end
          j=j+1; %penambahan nilai iterasi shoot ke-2
          sudut2(j)=5.7 + (j-1)*0.0001; %sudut tembakan dari sorce ke-2
    end


    %HITUNG KECEPATAN dengan prinsip tomografi persamaan yang NON-LINIER
    G_nonlin=[ray_shoot1(sh_1,1) ray_shoot1(sh_1,2); ...
                ray_shoot2(sh_2,1) ray_shoot2(sh_2,2)];
    dt_cal_nonlin=G_nonlin*(1./v_snell);
    dt_nonlin=zeros(2,1);
    for i=1:2
        dt_nonlin(i)=dt_obs(i) - dt_cal_nonlin(i);
    end
    dt_rms(k)=sqrt(sum(dt_nonlin.^2)./2);
    w=(dt_nonlin.^2).^-1;
    %melakukan inversi untuk mendapatkan delta S
    m_nonlin=(inv(G_nonlin'*diag(w)*G_nonlin))*G_nonlin'*diag(w)*dt_nonlin;
    %mencari kecepatan tiap blok dengan asumsi delta V >>
    dv_nonlin=zeros(length(m_nonlin),1);
    v_nonlin=zeros(length(m_nonlin),1);
    for i=1:length(m_nonlin)
        dv_nonlin(i)= (-1*m_nonlin(i)*v_snell(i).^2) / (1 +
            m_nonlin(i)*v_snell(i));
        v_nonlin(i)=v_snell(i) + dv_nonlin(i);
    end
k=k+1;
end


%PLOT GRAFIK 2D KECEPATAN BLOK
figure(1)
[X Y]=meshgrid(0:1:2000, 0:1:1000);
Z=zeros(1001,2001);
Z(:,1:1000)=v_nonlin(1); Z(:,1001:2001)=v_nonlin(2);
plot(grid_x(1001),grid_y,'-r')
hold on
contourf(X,Y,Z,1)
colormap(jet); colorbar;
colorbar('YTickLabel',{'','','','','',''})
xlim([0 2000]); ylim([0 1000])
set(gca,'ydir','reverse')
xlabel('Jarak (m)'); ylabel('Kedalaman (m)'); title('Ray Tracing
Tomography')

##OUTPUT:
%PLOT GRAFIK RMS
figure(2)
iter=1:1:k-1;
plot(iter,dt_rms,'-b')
xlim([1 k-1]); ylim([0 0.025])
xlabel('Iterasi ke-x'); ylabel('rms (s)'); title('Grafik RMS Waktu')

##OUTPUT:




%PLOT GRAFIK 2D DENGAN RAY SHOOTING
figure(3)
plot(grid_x(1001),grid_y,'-r')
q=length(T2y);
r=length(T4y);
for i=1:length(T2y)
    hold on
    line([Sx(1) T1x(i)],[Sy(1) T1y(i)],'LineStyle','-')
    hold on
    line([T1x(i) T2x(i)],[T1y(i) T2y(i)],'LineStyle','-')
    hold on
line([Sx(1) T1x(q)],[Sy(1) T1y(q)],'Color','r','LineStyle','-
','LineWidth',2)
    hold on
    line([T1x(q) T2x(q)],[T1y(q) T2y(q)],'Color','r','LineStyle','-
','LineWidth',2)
end
for i=1:length(T4y)
    hold on
    line([Sx(2) T3x(i)],[Sy(2) T3y(i)],'LineStyle','-')
    hold on
    line([T3x(i) T4x(i)],[T3y(i) T4y(i)],'LineStyle','-')
    hold on
    line([Sx(2) T3x(r)],[Sy(2) T3y(r)],'Color','r','LineStyle','-
','LineWidth',2)
    hold on
    line([T3x(r) T4x(r)],[T3y(r) T4y(r)],'Color','r','LineStyle','-
','LineWidth',2)
end
xlim([0 2000]); ylim([0 1000]); set(gca,'ydir','reverse')
xlabel('Jarak (m)'); ylabel('Kedalaman (m)'); title('Ray Tracing
Tomography')

##OUTPUT:

More Related Content

What's hot

Observasi geologi Karsam
Observasi geologi KarsamObservasi geologi Karsam
Observasi geologi KarsamFajar Perdana
 
materi-kuliah-geolog14. kedalamam dan ketebalan
materi-kuliah-geolog14. kedalamam dan ketebalanmateri-kuliah-geolog14. kedalamam dan ketebalan
materi-kuliah-geolog14. kedalamam dan ketebalanMario Yuven
 
Materi Kuliah Teknik Pertambangan ; Geologi Struktur Semester III STTNAS Yogy...
Materi Kuliah Teknik Pertambangan ; Geologi Struktur Semester III STTNAS Yogy...Materi Kuliah Teknik Pertambangan ; Geologi Struktur Semester III STTNAS Yogy...
Materi Kuliah Teknik Pertambangan ; Geologi Struktur Semester III STTNAS Yogy...Mario Yuven
 
Bab 6 karakteristik Event Seismik
Bab 6 karakteristik Event SeismikBab 6 karakteristik Event Seismik
Bab 6 karakteristik Event SeismikAlexander Elake
 
Geodinamika - 1: Tujuan & Ruang Lingkup serta Teori Dinamika Bumi Dampak terh...
Geodinamika - 1: Tujuan & Ruang Lingkup serta Teori Dinamika Bumi Dampak terh...Geodinamika - 1: Tujuan & Ruang Lingkup serta Teori Dinamika Bumi Dampak terh...
Geodinamika - 1: Tujuan & Ruang Lingkup serta Teori Dinamika Bumi Dampak terh...Wildan Maulana
 
Band Limited Impedance Inversion (BLIMP)
Band Limited Impedance Inversion (BLIMP)Band Limited Impedance Inversion (BLIMP)
Band Limited Impedance Inversion (BLIMP)Fajar Perdana
 
Analisis data geofisika
Analisis data geofisikaAnalisis data geofisika
Analisis data geofisikavidya amalia
 
Analisis VES Resistivity dengan IP2WIN
Analisis VES Resistivity dengan IP2WINAnalisis VES Resistivity dengan IP2WIN
Analisis VES Resistivity dengan IP2WINDery Marsan
 
MATERI 5 HIDROGEOLOGI (Manajemen Pertambangan & Energi) STEM Akamigas
MATERI 5 HIDROGEOLOGI (Manajemen Pertambangan & Energi) STEM AkamigasMATERI 5 HIDROGEOLOGI (Manajemen Pertambangan & Energi) STEM Akamigas
MATERI 5 HIDROGEOLOGI (Manajemen Pertambangan & Energi) STEM AkamigasYOHANIS SAHABAT
 
Pengolahan Data Gaya Berat KARSAM 2012
Pengolahan Data Gaya Berat KARSAM 2012Pengolahan Data Gaya Berat KARSAM 2012
Pengolahan Data Gaya Berat KARSAM 2012Fajar Perdana
 
Pengolahan data Gravity
Pengolahan data GravityPengolahan data Gravity
Pengolahan data GravityKevin Pratama
 
177548695 bab-1-geofisika-umum
177548695 bab-1-geofisika-umum177548695 bab-1-geofisika-umum
177548695 bab-1-geofisika-umumfazar muslim
 
Metode gaya berat
Metode gaya beratMetode gaya berat
Metode gaya beratM Rifa'i
 
127679922 penentuan-lokasi-gempa-baru
127679922 penentuan-lokasi-gempa-baru127679922 penentuan-lokasi-gempa-baru
127679922 penentuan-lokasi-gempa-baruNora Abner
 

What's hot (20)

Observasi geologi Karsam
Observasi geologi KarsamObservasi geologi Karsam
Observasi geologi Karsam
 
materi-kuliah-geolog14. kedalamam dan ketebalan
materi-kuliah-geolog14. kedalamam dan ketebalanmateri-kuliah-geolog14. kedalamam dan ketebalan
materi-kuliah-geolog14. kedalamam dan ketebalan
 
Materi Kuliah Teknik Pertambangan ; Geologi Struktur Semester III STTNAS Yogy...
Materi Kuliah Teknik Pertambangan ; Geologi Struktur Semester III STTNAS Yogy...Materi Kuliah Teknik Pertambangan ; Geologi Struktur Semester III STTNAS Yogy...
Materi Kuliah Teknik Pertambangan ; Geologi Struktur Semester III STTNAS Yogy...
 
Fisika komputasi
Fisika komputasiFisika komputasi
Fisika komputasi
 
Bab 6 karakteristik Event Seismik
Bab 6 karakteristik Event SeismikBab 6 karakteristik Event Seismik
Bab 6 karakteristik Event Seismik
 
Geolistrik 2
Geolistrik 2Geolistrik 2
Geolistrik 2
 
Metode gravity
Metode gravityMetode gravity
Metode gravity
 
Geodinamika - 1: Tujuan & Ruang Lingkup serta Teori Dinamika Bumi Dampak terh...
Geodinamika - 1: Tujuan & Ruang Lingkup serta Teori Dinamika Bumi Dampak terh...Geodinamika - 1: Tujuan & Ruang Lingkup serta Teori Dinamika Bumi Dampak terh...
Geodinamika - 1: Tujuan & Ruang Lingkup serta Teori Dinamika Bumi Dampak terh...
 
Band Limited Impedance Inversion (BLIMP)
Band Limited Impedance Inversion (BLIMP)Band Limited Impedance Inversion (BLIMP)
Band Limited Impedance Inversion (BLIMP)
 
Analisis data geofisika
Analisis data geofisikaAnalisis data geofisika
Analisis data geofisika
 
Analisis VES Resistivity dengan IP2WIN
Analisis VES Resistivity dengan IP2WINAnalisis VES Resistivity dengan IP2WIN
Analisis VES Resistivity dengan IP2WIN
 
MATERI 5 HIDROGEOLOGI (Manajemen Pertambangan & Energi) STEM Akamigas
MATERI 5 HIDROGEOLOGI (Manajemen Pertambangan & Energi) STEM AkamigasMATERI 5 HIDROGEOLOGI (Manajemen Pertambangan & Energi) STEM Akamigas
MATERI 5 HIDROGEOLOGI (Manajemen Pertambangan & Energi) STEM Akamigas
 
Geolistrik 1
Geolistrik 1Geolistrik 1
Geolistrik 1
 
Pengolahan Data Gaya Berat KARSAM 2012
Pengolahan Data Gaya Berat KARSAM 2012Pengolahan Data Gaya Berat KARSAM 2012
Pengolahan Data Gaya Berat KARSAM 2012
 
Pengolahan data Gravity
Pengolahan data GravityPengolahan data Gravity
Pengolahan data Gravity
 
177548695 bab-1-geofisika-umum
177548695 bab-1-geofisika-umum177548695 bab-1-geofisika-umum
177548695 bab-1-geofisika-umum
 
2.morfometri das
2.morfometri das2.morfometri das
2.morfometri das
 
Metode gaya berat
Metode gaya beratMetode gaya berat
Metode gaya berat
 
Endapan Placer
Endapan PlacerEndapan Placer
Endapan Placer
 
127679922 penentuan-lokasi-gempa-baru
127679922 penentuan-lokasi-gempa-baru127679922 penentuan-lokasi-gempa-baru
127679922 penentuan-lokasi-gempa-baru
 

Viewers also liked

Modul Karsam 2013: Instruksi Penggunaan Ministing
Modul Karsam  2013: Instruksi Penggunaan MinistingModul Karsam  2013: Instruksi Penggunaan Ministing
Modul Karsam 2013: Instruksi Penggunaan MinistingFajar Perdana
 
Pengolahan Data Refraksi KARSAM 2012
Pengolahan Data Refraksi KARSAM 2012Pengolahan Data Refraksi KARSAM 2012
Pengolahan Data Refraksi KARSAM 2012Fajar Perdana
 
Pengolahan Data GPR KARSAM 2012
Pengolahan Data GPR KARSAM 2012Pengolahan Data GPR KARSAM 2012
Pengolahan Data GPR KARSAM 2012Fajar Perdana
 
Pengolahan Data Geolistrik KARSAM 2012
Pengolahan Data Geolistrik KARSAM 2012Pengolahan Data Geolistrik KARSAM 2012
Pengolahan Data Geolistrik KARSAM 2012Fajar Perdana
 
Metode eksplorasi dengan gravitasi
Metode eksplorasi dengan gravitasiMetode eksplorasi dengan gravitasi
Metode eksplorasi dengan gravitasiRidwan Tedjokusumo
 
Eliptic Partial DIfferential Equation
Eliptic Partial DIfferential EquationEliptic Partial DIfferential Equation
Eliptic Partial DIfferential EquationFajar Perdana
 
Gravity, Expl.ravity
 Gravity, Expl.ravity Gravity, Expl.ravity
Gravity, Expl.ravityahmadraza05
 

Viewers also liked (8)

Modul Karsam 2013: Instruksi Penggunaan Ministing
Modul Karsam  2013: Instruksi Penggunaan MinistingModul Karsam  2013: Instruksi Penggunaan Ministing
Modul Karsam 2013: Instruksi Penggunaan Ministing
 
1960 parasnis-1-28
1960 parasnis-1-281960 parasnis-1-28
1960 parasnis-1-28
 
Pengolahan Data Refraksi KARSAM 2012
Pengolahan Data Refraksi KARSAM 2012Pengolahan Data Refraksi KARSAM 2012
Pengolahan Data Refraksi KARSAM 2012
 
Pengolahan Data GPR KARSAM 2012
Pengolahan Data GPR KARSAM 2012Pengolahan Data GPR KARSAM 2012
Pengolahan Data GPR KARSAM 2012
 
Pengolahan Data Geolistrik KARSAM 2012
Pengolahan Data Geolistrik KARSAM 2012Pengolahan Data Geolistrik KARSAM 2012
Pengolahan Data Geolistrik KARSAM 2012
 
Metode eksplorasi dengan gravitasi
Metode eksplorasi dengan gravitasiMetode eksplorasi dengan gravitasi
Metode eksplorasi dengan gravitasi
 
Eliptic Partial DIfferential Equation
Eliptic Partial DIfferential EquationEliptic Partial DIfferential Equation
Eliptic Partial DIfferential Equation
 
Gravity, Expl.ravity
 Gravity, Expl.ravity Gravity, Expl.ravity
Gravity, Expl.ravity
 

Tomografi Delay Time Sederhana

  • 1. SCRIPT/SYNTAX DALAM MATLAB clc, clear all %DEFINISIKAN SEMUA PARAMETER DAN VARIABEL YANG KITA PUNYA receiver_x=2000; receiver_y=1000; source_x1=0; source_y1=250; source_x2=0; source_y2=633; source_x3=1000; source_y3=0; dt_obs11=3.018; dt_obs21=2.894; dt_obs31=1.141; n_ray=3; %membuat koordinat kedalam bentuk matriks yang lebih "mudah" diolah Rx=2000; Ry=1000; Sx=[source_x1 source_x2 source_x3]; Sy=[source_y1 source_y2 source_y3]; dt_obs=[dt_obs11 dt_obs21 dt_obs31]; grid_x=0:1:2000; grid_y=0:1:1000; %HITUNG KECEPATAN AWAL MODEL (LINIER) %menghitung panjang ray linier dari source ke receiver ray_total=zeros(n_ray,1); for i=1:n_ray ray_total(i)=((Rx-Sx(i)).^2 + (Ry-Sy(i)).^2).^0.5; end %membuat kecepatan awal model linier vsem=zeros(n_ray,1); for i=1:n_ray vsem(i)=ray_total(i) / dt_obs(i); end v0_linier=sum(vsem) / n_ray; %menghitung dt kalkulasi linier dt_cal_linier=zeros(n_ray,1); for i=1:n_ray dt_cal_linier(i)=ray_total(i) / v0_linier; end %menghitung delta waktu (observasi - kalkulasi) dt_linier=zeros(n_ray,1); for i=1:n_ray dt_linier(i)=dt_obs(i) - dt_cal_linier(i); end %membuat matriks kernel G_linier=[ray_total(1)/2 ray_total(1)/2; ... ray_total(2)/2 ray_total(2)/2;0 ray_total(3)]; %melakukan inversi untuk mendapatkan delta S m_linier=(inv(G_linier'*G_linier))*G_linier'*dt_linier; %mencari kecepatan tiap blok dengan asumsi delta V >> dv_linier=zeros(length(m_linier),1); v_linier=zeros(length(m_linier),1); for i=1:length(m_linier) dv_linier(i)= (-1*m_linier(i)*v0_linier^2) / (1 + m_linier(i)*v0_linier); v_linier(i)=v0_linier + dv_linier(i); end %SHOOTING METHOD DENGAN HK. SNELL %mendefinikan variabel yang digunakan untuk iterasi shooting i=1; j=1; k=1; %variabel nilai awal pertambahan iterasi sudut(1)=11; %sudut tembakan dari sorce ke-1 sudut2(1)=5.7; %sudut tembakan dari sorce ke-2 while k <= 5
  • 2. %mendefinisikan kondisi kecepatan tiap blok untuk tiap iterasi if k==1 %iterasi pertama memakai kecepatan linier terlebih dahulu v_snell=v_linier; else v_snell=v_nonlin; end b1=1000; b2=1000; %mendefinisikan panjang horizontal tiap kotak sel_1=1; sel_2=1; %mendefinisikan nilai syarat awal iterasi while sel_1 > 0.005 %menghitung ray tracing pada SHOOT SOURCE ke-1 (Prinsip Phytagoras) %menghitung ray shooting pada kotak pertama c1=b1 / cosd(sudut(i)); a1=c1 * sind(sudut(i)); T1x(i)=Sx(1) + b1; T1y(i)=Sy(1) + a1; grad(i)=(T1y(i) - Sy(1)) / (T1x(i) - Sx(1)); %menghitung sudut pergi/sudut datang ray pada kotak 2 dengan Hk. Snell sudut3(i)=abs(asind((v_snell(2) * sind(sudut(i))) / v_snell(1))); %menghitung ray shooting pada kotak kedua c2=abs(b2 / cosd(sudut3(i))); a2=abs(c2 * sind(sudut3(i))); T2x(i)=T1x(i) + b2; T2y(i)=T1y(i) + a2; grad2(i)=(T2y(i) - T1y(i)) / (T2x(i) - T1x(i)); ray_shoot1(i,1)=(((T1x(i)-Sx(1)).^2 + (T1y(i)-Sy(1)).^2).^0.5); ray_shoot1(i,2)=(((T2x(i)-T1x(i)).^2 + (T2y(i)-T1y(i)).^2).^0.5); %menghitung SELISIH nilai koordinat y antara receiver dan kalkulasi tembak sel_1=abs(T2y(i)-Ry); if sel_1 < 0.005 min_1=sel_1; sudut(i); sh_1=i; end i=i+1; %penambahan nilai iterasi shoot ke-1 sudut(i)=11 + (i-1)*0.0001; %sudut tembakan dari sorce ke-1 end while sel_2 > 0.005 %menghitung ray tracing pada SHOOT SOURCE ke-2 (Prinsip Phytagoras) %menghitung ray shooting pada kotak pertama c3=b1 / cosd(sudut2(j)); a3=c3 * sind(sudut2(j)); T3x(j)=Sx(2) + b1; T3y(j)=Sy(2) + a3; grad3(j)=(T3y(j) - Sy(2)) / (T3x(j) - Sx(2)); %menghitung sudut pergi/sudut datang ray pada kotak 2 dengan Hk. Snell sudut4(j)=abs(asind((v_snell(2) * sind(sudut2(j))) / v_snell(1))); %menghitung ray shooting pada kotak kedua c4=abs(b2 / cosd(sudut4(j))); a4=abs(c4 * sind(sudut4(j))); T4x(j)=T3x(j) + b2; T4y(j)=T3y(j) + a4; grad4(j)=(T4y(j) - T3y(j)) / (T4x(j) - T3x(j)); ray_shoot2(j,1)=(((T3x(j)-Sx(2)).^2 + (T3y(j)-Sy(2)).^2).^0.5); ray_shoot2(j,2)=(((T4x(j)-T3x(j)).^2 + (T4y(j)-T3y(j)).^2).^0.5); %menghitung SELISIH nilai koordinat y antara receiver dan kalkulasi
  • 3. tembak sel_2=abs(T4y(j)-Ry); if sel_2 < 0.005 min_2=sel_2; sudut2(j); sh_2=j; end j=j+1; %penambahan nilai iterasi shoot ke-2 sudut2(j)=5.7 + (j-1)*0.0001; %sudut tembakan dari sorce ke-2 end %HITUNG KECEPATAN dengan prinsip tomografi persamaan yang NON-LINIER G_nonlin=[ray_shoot1(sh_1,1) ray_shoot1(sh_1,2); ... ray_shoot2(sh_2,1) ray_shoot2(sh_2,2)]; dt_cal_nonlin=G_nonlin*(1./v_snell); dt_nonlin=zeros(2,1); for i=1:2 dt_nonlin(i)=dt_obs(i) - dt_cal_nonlin(i); end dt_rms(k)=sqrt(sum(dt_nonlin.^2)./2); w=(dt_nonlin.^2).^-1; %melakukan inversi untuk mendapatkan delta S m_nonlin=(inv(G_nonlin'*diag(w)*G_nonlin))*G_nonlin'*diag(w)*dt_nonlin; %mencari kecepatan tiap blok dengan asumsi delta V >> dv_nonlin=zeros(length(m_nonlin),1); v_nonlin=zeros(length(m_nonlin),1); for i=1:length(m_nonlin) dv_nonlin(i)= (-1*m_nonlin(i)*v_snell(i).^2) / (1 + m_nonlin(i)*v_snell(i)); v_nonlin(i)=v_snell(i) + dv_nonlin(i); end k=k+1; end %PLOT GRAFIK 2D KECEPATAN BLOK figure(1) [X Y]=meshgrid(0:1:2000, 0:1:1000); Z=zeros(1001,2001); Z(:,1:1000)=v_nonlin(1); Z(:,1001:2001)=v_nonlin(2); plot(grid_x(1001),grid_y,'-r') hold on contourf(X,Y,Z,1) colormap(jet); colorbar; colorbar('YTickLabel',{'','','','','',''}) xlim([0 2000]); ylim([0 1000]) set(gca,'ydir','reverse') xlabel('Jarak (m)'); ylabel('Kedalaman (m)'); title('Ray Tracing Tomography') ##OUTPUT:
  • 4. %PLOT GRAFIK RMS figure(2) iter=1:1:k-1; plot(iter,dt_rms,'-b') xlim([1 k-1]); ylim([0 0.025]) xlabel('Iterasi ke-x'); ylabel('rms (s)'); title('Grafik RMS Waktu') ##OUTPUT: %PLOT GRAFIK 2D DENGAN RAY SHOOTING figure(3) plot(grid_x(1001),grid_y,'-r') q=length(T2y); r=length(T4y); for i=1:length(T2y) hold on line([Sx(1) T1x(i)],[Sy(1) T1y(i)],'LineStyle','-') hold on line([T1x(i) T2x(i)],[T1y(i) T2y(i)],'LineStyle','-') hold on
  • 5. line([Sx(1) T1x(q)],[Sy(1) T1y(q)],'Color','r','LineStyle','- ','LineWidth',2) hold on line([T1x(q) T2x(q)],[T1y(q) T2y(q)],'Color','r','LineStyle','- ','LineWidth',2) end for i=1:length(T4y) hold on line([Sx(2) T3x(i)],[Sy(2) T3y(i)],'LineStyle','-') hold on line([T3x(i) T4x(i)],[T3y(i) T4y(i)],'LineStyle','-') hold on line([Sx(2) T3x(r)],[Sy(2) T3y(r)],'Color','r','LineStyle','- ','LineWidth',2) hold on line([T3x(r) T4x(r)],[T3y(r) T4y(r)],'Color','r','LineStyle','- ','LineWidth',2) end xlim([0 2000]); ylim([0 1000]); set(gca,'ydir','reverse') xlabel('Jarak (m)'); ylabel('Kedalaman (m)'); title('Ray Tracing Tomography') ##OUTPUT: