Anda di halaman 1dari 6

NAMA : FAHRI RAFIF WASKITO

NIM : 12117077
NAMA : WAHYU HAPIZ SAPUTRA
NIM : 12117050
KELAS : RTGB

SCRIPT
import numpy as np
import matplotlib.pyplot as plt
from numpy.linalg import inv

vavg = 4
tobs = [7.1,1.8,5.0,7.9]

#tobs = np.reshape(tobs,(len(tobs),1))

Xsts = [20,50,40,10]
Ysts = [10,25,50,40]
#Definisikan ruang model
L = 5 #Lebar grid
X0 = np.arange(0,50,L)
Y0 = np.arange(0,50,L)
#Lakukan looping pencarian model solusi yang menghasilkan misfit minimum
p = 10 #nilai awal taksiran misfir minimum (dalam sekon)
HypoX = []
HypoY = []

for i in range (len(Y0)):


for j in range (len(X0)):
#tcal= []
Dt = []
Tcal = []
for k in range (len(Xsts)):
tcal=(np.sqrt((X0[j]-Xsts[k])**2+(Y0[i]-Ysts [k])**2)/vavg)
Tcal.append(tcal)
Dt.append((tobs[k]-tcal)**2)
misfit = np. sqrt(np.mean(Dt))
if misfit<p:
HypoX.append(X0[j])
HypoY.append(Y0[i])
p = misfit
else : pass
#Hypo = np.array([HypoX,HypoY])
#print (Hypo)
plt.plot(HypoX, HypoY, '-r')
plt.plot(HypoX[0],HypoY[0],'*c', label = 'awal')
plt.plot(HypoX[len(HypoX)-1], HypoY[len(HypoY)-1], '*y', label = 'akhir')
plt.plot (Xsts,Ysts, 'v', label = 'stasiun')
plt.xlabel ('x coordinat')
plt.legend()
print('Dt = ', Dt)
print('tcal=', tcal)
print(HypoX[-1], HypoY[-1])
plt.show()

Nilai L = 1

Dt tcal
Nilai 0.1

Dt dan tcal
Nilai 0.5

Dt dan tcal
Nilai 2.5

Dt dan tcal
Nilai 5

Dt dan tcal

Analisis :
Pada praktikum kali ini menggunakan metode grid search dengan menggunakan data lebar grid
dari 0.1, 0.5, 1, 2.5, 5. Dan di dapatkan nilai dt dari suatu stasiun dari lebar grid tersebut adalah
4.43, 5.65, 5.09, 2.75, 0.88 dari hasil dt tersebut di ambil nilai dt yang terkecilnya karena jika nilai
dt lebih kecil maka hasil data atau grafiknya semakin bagus dan jelas

Anda mungkin juga menyukai