Anda di halaman 1dari 11

LAPORAN SEMENTARA

INVERSI GEOFISIKA TG 3004

MODUL KE – 1
FORMULASI PERMASALAHAN INVERSI

Oleh:
Muhamad Arif Samsudin 120120158

Asisten :
Alifah Iftinan 119120042
Andika Bonardo Sipahutar 119120122
Bernard Cavin Ronlei 119120087
Kiki Harfianza 119120111
Mu'amar Hafiz 119120084
Nisa Nur Azizah 119120027

PROGRAM STUDI TEKNIK GEOFISIKA


JURUSAN TEKNOLOGI PRODUKSI DAN INDUSTRI
INSTITUT TEKNOLOGI SUMATERA
2022/2023
1. PROBLEM 1
1.1. Script
# Muhamad Arif Samsudin script 1
# 120120158
import matplotlib.pyplot as plt
import numpy as np
from numpy.linalg import inv

#data observasi
z = [5, 16, 25, 40, 50, 60, 70, 80, 90 ,100]
T = [35.4, 50.1, 77.3, 92.3, 137.6, 147, 180.8, 182.7, 188.5, 223.2]

# Membuat martiks kernel G dan vektor d


G = np.zeros((len(z),2))
for i in range(10):
G[i,0] = 1
G[i,1] = z[i]

d = np.reshape(T,(10,1))

# Perhitungan inversi least-squares


m = np.mat(inv(np.mat(G.transpose()) * np.mat(G))) * np.mat(G.transpose())
* np.mat(d)
m = m.tolist()
print(m)

# mencari nilai a0 dan a1


a0 = m[0][0]
a1 = m[1][0]

linear = []
for i in range (len(z)):
linear.append(a0+a1 * z[i])

# Plot data
plt.plot(z,T,'*r', label ='sebaran data')
plt.plot(z, linear, label ='solusi inversi')
plt.grid()
plt.legend()
plt.xlabel('Kedalaman (m)')
plt.ylabel('Suhu (Celcius)')
plt.title('Variasi Suhu vs Kedalaman_120120158')
plt.show()
1.2. Gambar Hasil Grafik

1.3. Gambar Screenshot Hasil

1.4.Analisis Problem 1
Pada problem 1 ini, dihasilkan bentuk kurva yang linier antara kedalaman dengan
suhu, terlihat hasil kurva yang lumayan fit walau ada beberapa titik yang menjauh dari
garis liniernya. Pada data diketahui ada 10 data dan mencari 2 model (a0 dan a1).
Model ini adalah model yang berjenis linier diketahui karena garis kurva yang
dibentuk oleh model ini lurus, semakin fit hasilnya maka nilai error yang didapatpun
akan semakin kecil.
2. PROBLEM 2
2.1. Script
# Muhamad Arif Samsudin script 2
# 120120158
import numpy as np
import matplotlib.pyplot as plt
from numpy.linalg import inv

# Data Observasi
t1= [0.00, 0.25, 0.50, 0.75, 1.00, 1.25, 1.50, 1.75, 2.00, 2.25, 2.50, 2.75,
3.00, 3.25, 3.50, 3.75, 4.00, 4.25, 4.50, 4.75, 5.00] # Data waktu (sekon)
t2= [0.00, 0.0625, 0.25, 0.5625, 1.00, 1.5625, 2.25, 3.0625, 4.00, 5.0625,
6.25, 7.5625, 9.00, 10.5625, 12.25, 14.0625, 16.00, 18.0625, 20.25, 22.5625,
25.00]
h = [5.00, 5.75, 6.40, 6.94, 7.38, 7.72, 7.96, 8.10, 8.13, 8.07, 7.90, 7.62,
7.25, 6.77, 6.20, 5.52, 4.73, 3.85, 2.68, 1.77, 0.58] # Data
ketinggian (meter)

# Membuat matriks kernel g dan vektor d


G = np.zeros((len(t1), 2))
for i in range(21):
G[i,0] = t1[i]
G[i,1] = t2[i]

d = np.reshape(h,(21,1))-5

# Perhitungan inversi Least-Squares


m = np.mat(inv(np.mat(G.transpose()) * np.mat(G)) * np.mat(G.transpose()) *
np.mat(d))
m = m.tolist()
print (m)
m1 = m[0][0]
m2 = m[1][0]
linear = []
for i in range(len(t1)):
linear.append(m1*t1[i] + m2*t2[i]+5)

#plot data
plt.plot(t1, h, '*r', label='sebaran data')
plt.plot(t1, linear, label='solusi inversi')
plt.grid()
plt.legend()
plt.xlabel('Time (s)')
plt.ylabel('Ketinggian (m)')
plt.title('Variasi waktu vs Ketinggian_120120158')
plt.show()
2.2. Gambar hasil Grafik

2.3. Gambar Screenshoot Hasil

2.4. Analisis Script 2


Problem ke-2 adalah menghitung Gravitasi di Planet dengan data ketinggian dan
waktu yang telah disediakan. Penyelesaian masalah ini menggunakan konsep GLBB
dengan formulasi menghasilkan kurva berbentuk para bola. Pada penyelesaian ini,
menggunakan modul matplotlib untuk melakukan plot data, dan numpy as untuk
perhitungan seperti penjumlahan.
3. Perhitungan manual Problem 1 dan 2
3.1. Analisis Perhitungan Manual
Pada perhirtungan manual rumus yang dipakai sesuai dengan cara menentukan
permasalahan dari inversi. kita berasumsi bahwa variasi temperatur terhadap
kedalaman ditentukan oleh rumus berikut ini: m 1 + m z i = T i.dimana m1 dan m2
adalah konstanta-konstanta yang akan dicari. Rumus di atas disebut model
matematika. Sedangkan m 1 dan m disebut parameter model atau biasa juga disebut
unknown parameter. Pada perhitungan di permasalahan ke-1 diperoleh 10 sampel
data dan di cari rumus fungsi dari inversi itu sendiri. Jadi untuk memperoleh hasil
yang bagus maka perlu dilakukan pendekatan menggunakan metode inversi.
LAMPIRAN
Script 1
# Muhamad Arif Samsudin script 1
# 120120158
import matplotlib.pyplot as plt
import numpy as np
from numpy.linalg import inv

#data observasi
z = [5, 16, 25, 40, 50, 60, 70, 80, 90 ,100]
T = [35.4, 50.1, 77.3, 92.3, 137.6, 147, 180.8, 182.7, 188.5, 223.2]

# Membuat martiks kernel G dan vektor d


G = np.zeros((len(z),2))
for i in range(10):
G[i,0] = 1
G[i,1] = z[i]

d = np.reshape(T,(10,1))

# Perhitungan inversi least-squares


m = np.mat(inv(np.mat(G.transpose()) * np.mat(G))) * np.mat(G.transpose()) *
np.mat(d)
m = m.tolist()
print(m)

# mencari nilai a0 dan a1


a0 = m[0][0]
a1 = m[1][0]

linear = []
for i in range (len(z)):
linear.append(a0+a1 * z[i])

# Plot data
plt.plot(z,T,'*r', label ='sebaran data')
plt.plot(z, linear, label ='solusi inversi')
plt.grid()
plt.legend()
plt.xlabel('Kedalaman (m)')
plt.ylabel('Suhu (Celcius)')
plt.title('Variasi Suhu vs Kedalaman_120120158')
plt.show()
Script 2
# Muhamad Arif Samsudin script 2
# 120120158
import numpy as np
import matplotlib.pyplot as plt
from numpy.linalg import inv

# Data Observasi
t1= [0.00, 0.25, 0.50, 0.75, 1.00, 1.25, 1.50, 1.75, 2.00, 2.25, 2.50, 2.75,
3.00, 3.25, 3.50, 3.75, 4.00, 4.25, 4.50, 4.75, 5.00] # Data waktu (sekon)
t2= [0.00, 0.0625, 0.25, 0.5625, 1.00, 1.5625, 2.25, 3.0625, 4.00, 5.0625, 6.25,
7.5625, 9.00, 10.5625, 12.25, 14.0625, 16.00, 18.0625, 20.25, 22.5625, 25.00]
h = [5.00, 5.75, 6.40, 6.94, 7.38, 7.72, 7.96, 8.10, 8.13, 8.07, 7.90, 7.62,
7.25, 6.77, 6.20, 5.52, 4.73, 3.85, 2.68, 1.77, 0.58] # Data ketinggian (meter)

# Membuat matriks kernel g dan vektor d


G = np.zeros((len(t1), 2))
for i in range(21):
G[i,0] = t1[i]
G[i,1] = t2[i]

d = np.reshape(h,(21,1))-5

# Perhitungan inversi Least-Squares


m = np.mat(inv(np.mat(G.transpose()) * np.mat(G)) * np.mat(G.transpose()) *
np.mat(d))
m = m.tolist()
print (m)
m1 = m[0][0]
m2 = m[1][0]
linear = []
for i in range(len(t1)):
linear.append(m1*t1[i] + m2*t2[i]+5)

#plot data
plt.plot(t1, h, '*r', label='sebaran data')
plt.plot(t1, linear, label='solusi inversi')
plt.grid()
plt.legend()
plt.xlabel('Time (s)')
plt.ylabel('Ketinggian (m)')
plt.title('Variasi waktu vs Ketinggian_120120158')
plt.show()
Hasil grafik Script 1

Hasil Script 2

Anda mungkin juga menyukai