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

Bab 6 karakteristik Event Seismik
Bab 6 karakteristik Event SeismikBab 6 karakteristik Event Seismik
Bab 6 karakteristik Event SeismikAlexander Elake
 
Lia andri anggraeni 03411640000015
Lia andri anggraeni 03411640000015Lia andri anggraeni 03411640000015
Lia andri anggraeni 03411640000015liaanggraeni11
 
Metode eksplorasi dengan gravitasi
Metode eksplorasi dengan gravitasiMetode eksplorasi dengan gravitasi
Metode eksplorasi dengan gravitasiRidwan Tedjokusumo
 
Pengolahan Data Refraksi KARSAM 2012
Pengolahan Data Refraksi KARSAM 2012Pengolahan Data Refraksi KARSAM 2012
Pengolahan Data Refraksi KARSAM 2012Fajar Perdana
 
Pengolahan Data GPR - REFLEXW
Pengolahan Data GPR - REFLEXWPengolahan Data GPR - REFLEXW
Pengolahan Data GPR - REFLEXWDery Marsan
 
Pengolahan Data Magnetik KARSAM 2012
Pengolahan Data Magnetik KARSAM 2012Pengolahan Data Magnetik KARSAM 2012
Pengolahan Data Magnetik KARSAM 2012Fajar Perdana
 
127679922 penentuan-lokasi-gempa-baru
127679922 penentuan-lokasi-gempa-baru127679922 penentuan-lokasi-gempa-baru
127679922 penentuan-lokasi-gempa-baruNora Abner
 
Perangkap Reservoir - Jebakan Minyak - Oil Trap
Perangkap Reservoir - Jebakan Minyak - Oil TrapPerangkap Reservoir - Jebakan Minyak - Oil Trap
Perangkap Reservoir - Jebakan Minyak - Oil TrapDella Azaria
 
Migrasi hidrokarbon
Migrasi hidrokarbonMigrasi hidrokarbon
Migrasi hidrokarbonKhemenk
 
Pengolahan data Gravity
Pengolahan data GravityPengolahan data Gravity
Pengolahan data GravityKevin Pratama
 
Iuw 4 penentuan arah sudut dan luas
Iuw   4 penentuan arah sudut dan luasIuw   4 penentuan arah sudut dan luas
Iuw 4 penentuan arah sudut dan luasKharistya Amaru
 

What's hot (20)

Bab 6 karakteristik Event Seismik
Bab 6 karakteristik Event SeismikBab 6 karakteristik Event Seismik
Bab 6 karakteristik Event Seismik
 
Metode gravity
Metode gravityMetode gravity
Metode gravity
 
Lia andri anggraeni 03411640000015
Lia andri anggraeni 03411640000015Lia andri anggraeni 03411640000015
Lia andri anggraeni 03411640000015
 
Inversi 2008
Inversi 2008Inversi 2008
Inversi 2008
 
Metode eksplorasi dengan gravitasi
Metode eksplorasi dengan gravitasiMetode eksplorasi dengan gravitasi
Metode eksplorasi dengan gravitasi
 
Pengolahan Data Refraksi KARSAM 2012
Pengolahan Data Refraksi KARSAM 2012Pengolahan Data Refraksi KARSAM 2012
Pengolahan Data Refraksi KARSAM 2012
 
Pengolahan Data GPR - REFLEXW
Pengolahan Data GPR - REFLEXWPengolahan Data GPR - REFLEXW
Pengolahan Data GPR - REFLEXW
 
Pengolahan Data Magnetik KARSAM 2012
Pengolahan Data Magnetik KARSAM 2012Pengolahan Data Magnetik KARSAM 2012
Pengolahan Data Magnetik KARSAM 2012
 
127679922 penentuan-lokasi-gempa-baru
127679922 penentuan-lokasi-gempa-baru127679922 penentuan-lokasi-gempa-baru
127679922 penentuan-lokasi-gempa-baru
 
Perangkap Reservoir - Jebakan Minyak - Oil Trap
Perangkap Reservoir - Jebakan Minyak - Oil TrapPerangkap Reservoir - Jebakan Minyak - Oil Trap
Perangkap Reservoir - Jebakan Minyak - Oil Trap
 
Migrasi hidrokarbon
Migrasi hidrokarbonMigrasi hidrokarbon
Migrasi hidrokarbon
 
pci geomatica
pci geomaticapci geomatica
pci geomatica
 
Makalah Hotspot & Mantle Plume
Makalah Hotspot & Mantle PlumeMakalah Hotspot & Mantle Plume
Makalah Hotspot & Mantle Plume
 
Pengolahan data Gravity
Pengolahan data GravityPengolahan data Gravity
Pengolahan data Gravity
 
Metode Seismik
Metode Seismik Metode Seismik
Metode Seismik
 
Iuw 3 pengukuran jarak
Iuw   3 pengukuran jarakIuw   3 pengukuran jarak
Iuw 3 pengukuran jarak
 
Iuw 4 penentuan arah sudut dan luas
Iuw   4 penentuan arah sudut dan luasIuw   4 penentuan arah sudut dan luas
Iuw 4 penentuan arah sudut dan luas
 
Geologi Irian Jaya (Papua)
Geologi Irian Jaya (Papua)Geologi Irian Jaya (Papua)
Geologi Irian Jaya (Papua)
 
Eksplorasi geokimia
Eksplorasi geokimiaEksplorasi geokimia
Eksplorasi geokimia
 
Magma
MagmaMagma
Magma
 

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
 
Band Limited Impedance Inversion (BLIMP)
Band Limited Impedance Inversion (BLIMP)Band Limited Impedance Inversion (BLIMP)
Band Limited Impedance Inversion (BLIMP)Fajar Perdana
 
Pengolahan Data GPR KARSAM 2012
Pengolahan Data GPR KARSAM 2012Pengolahan Data GPR KARSAM 2012
Pengolahan Data GPR KARSAM 2012Fajar Perdana
 
Observasi geologi Karsam
Observasi geologi KarsamObservasi geologi Karsam
Observasi geologi KarsamFajar Perdana
 
Pengolahan Data Geolistrik KARSAM 2012
Pengolahan Data Geolistrik KARSAM 2012Pengolahan Data Geolistrik KARSAM 2012
Pengolahan Data Geolistrik KARSAM 2012Fajar Perdana
 
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
 
Band Limited Impedance Inversion (BLIMP)
Band Limited Impedance Inversion (BLIMP)Band Limited Impedance Inversion (BLIMP)
Band Limited Impedance Inversion (BLIMP)
 
Pengolahan Data GPR KARSAM 2012
Pengolahan Data GPR KARSAM 2012Pengolahan Data GPR KARSAM 2012
Pengolahan Data GPR KARSAM 2012
 
Observasi geologi Karsam
Observasi geologi KarsamObservasi geologi Karsam
Observasi geologi Karsam
 
Pengolahan Data Geolistrik KARSAM 2012
Pengolahan Data Geolistrik KARSAM 2012Pengolahan Data Geolistrik KARSAM 2012
Pengolahan Data Geolistrik KARSAM 2012
 
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: