# MENCARI SEGMENT
# # X ADALAH 0.5 , 0.25, 0.125, YANG TERTERA PADA SOAL
# b DAN a ADALAH BATAS INTEGRAL
def seg (x,b,a):
n = (b-a)/x
return int(n)
# CATATAN :
# DIMANA h ADALAH 0.5 , 0.25, 0.125, YANG TERTERA PADA SOAL
# x ADALAH YANG DIDAPAT PADA LISXN
# TRAPEZOIDAL
def trapezoidal (h,x):
traz = 0
x = np.array(x,float)
xn = len(x)
for i in range (xn) :
if i == 0 or i == xn-1 :
traz = traz + ftr(x[i])
# BISA JUGA (traz += traz +ftr(i))
else :
traz = traz + 2*ftr(x[i])
trape = traz * (h/2)
return trape
# SIMPSON 1/3
def simpson13 (h,x):
simz = 0
x = np.array(x,float)
xn = len(x)
for i in range (xn):
if i == 0 or i == xn-1:
simz = simz + ftr(x[i])
# BISA JUGA (simz += simz +ftr(i))
elif i % 2 != 0 :
simz = simz + 4*ftr(x[i])
else:
simz = simz + 2*ftr(x[i])
simp = simz *(h/3)
return simp
# SIMPSON 3/8
# DIGUNAKAN KETIKA JUMLAH SEGMEN KELIPATAN 3
def simpson38 (h,x):
simz = 0
x = np.array(x,float)
xn = len(x)
for i in range (xn):
if i == 0 or i == xn-1:
simz = simz + ftr(x[i])
# BISA JUGA (simz += simz +ftr(i))
elif i % 3 == 0 :
simz = simz + 4*ftr(x[i])
else:
simz = simz + 2*ftr(x[i])
simp = simz *((3*h)/8)
return simp
# ROMBERG
# X YANG DIGUNAKAN ADALAH NILAI TRAPEZOIDAL PADA SEMUA h
def romberg (x):
x = np.array(x,float)
xn = []
xc = len(x)
for i in range (1,xc):
a = x[i]+(x[i]-x[i-1])/((2**(2*1))-1)
xn.append(a)
xx = len(xn)
for i in range (1,xx):
b = xn[i]+(xn[i]-xn[i-1])/((2**(2*2))-1)
return(b)
tra.append('%0.5f'%trapezoidal(x[i],lis))
print('nilai romberg adalah','%0.5f'%romberg(tra))
# CATATAN
# SEMUA VARIABEL DAPAT DIGANTI
# JIKA INGIN MENGGANTI MAKA HARUS DIGANTI SEMUA VARIABEL YANG SAMA
# CONTOH UNTUK MENGGANTI VARIABEL DAN YANG ADA KET BISA JUGA
# PENTING !!! INGAT SEBELUM MENGGANTI LEBIH BAIK TUNGGU SAMPAI MUNCUL KUNING-KUNING
# AGAR MENGGANTINYA TEPAT SASARAN
"""
def simpson (h,t):
samz = 0
y = np.array(t,float)
tn = len(t)
for i in range (tn):
if i == 0 or i == tn-1:
samz += samz +ftr(i)
# BISA JUGA (samz += samz +ftr(i))
elif i % 2 != 0 :
samz = samz + 4*ftr(x[i])
else:
samz = samz + 2*ftr(x[i])
samsul = samz *(h/3)
return samsul
"""