Anda di halaman 1dari 6

Nama : Nadia Yolanda

Nim : 118290073
Metode Numerik RB

1. Aturan reaman

import numpy as np

def f(x):
f=2000*np.log(140000/(140000-2100*t))-9.8*t
return f

t0=8
t1=30
t=t0
t=t1
N=100
n=1

x=np.linspace(t0,t1,n*N+1)
y=f(x)

x_left=x[:-1]
y_left=(f(x_left))

x_midpoint=(x[:-1]+x[1:])/2
y_midpoint=(f(x_midpoint))

x_right= x[1:]
y_right= (f(x_right))

dx=(t1-t0)/N
x_left=np.linspace(t1,t0-dx,N)
x_midpoint=np.linspace(dx/2,t1-dx/2,N)
x_right=np.linspace(dx,t1,N)
left_riemann_sum=np.sum(f(x_left))*dx
midpoint_riemann_sum=np.sum(f(x_midpoint)*dx)
right_riemann_sum=np.sum(f(x_right)*dx)

print (left_riemann_sum)
print(midpoint_riemann_sum)
print (right_riemann_sum)
a=left_riemann_sum+midpoint_riemann_sum+right_riemann_sum
print(a)
2. Aturan Trapesium

import numpy as np

#Variables
t0 = 8
t_akhir = 30
n = int((t_akhir-t0)/2)
o = 32

#f(t) Definition
def f(t):
f = 2000*np.log(140000/(140000-2100*t))-9.8*t
return f
#Analytic Solution
x=np.linspace(t0,t_akhir,o)
Fx = f(x)
a=np.sum(Fx)*(t_akhir-t0)/o

#Trapezoid Method
f1 = 2000*np.log(140000/(140000-2100*t0))-9.8*t0
f2 = 2000*np.log(140000/(140000-2100*t_akhir))-9.8*t_akhir
i = (t_akhir-t0)*((f1+f2)/2)

#True Error
te= i-a

#Absolute Relative Error


are= abs((i-a)/a)*100

print ("Jarak Total yang Ditempuh (Analitik)(m): ", a)


print ("Jarak Total yang Ditempuh (Aturan Trapesium)(m): ", i)
print ("True Error: ", te, "m")
print ("Absolute True Error: ", are, "%")
print("Program Finished")

3. Metode Simson

import numpy as np

t0=8
t_akhir=30
n=1000000

def f(t):
f=2000*np.log(140000/(140000-2100*t))-9.8*t
return f

#analitik
x=np.linspace(t0,t_akhir,n)
Fx=f(x)
area=np.sum(Fx)*(t_akhir-t0)/n
print(Fx/n)
print(area)

#Simpson
fa=f(t0)
fb=f(t_akhir)
x=(t_akhir-t0)/6*((fa+4*(fa+fb)/2)+fb)

print("Nilai kecepatan roket pada t=8 adalah",fa)


print("Nilai kecepatan roket pada t=8 adalah",fb)
print("Jarak yang ditempuh roket selama t=8 sampai t=30 adalah",x)
Solusi Analitik

Anda mungkin juga menyukai