Anda di halaman 1dari 13

Nama : Amalia Tri Rahayu

Kelas : IF-09-R
Nim : 21102237

Sistem Persamaan Non Linear


1. Solusi dengan metode titik tetap dan biseksi
Jawaban :
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from numpy import sqrt

# Definisi Fungsi f(x) dengan


def f(x):
t = x*x -x -1
return t
plt.xlabel('$n$')
plt.ylabel('$x_n$')
plt.show()

# Definisi Fungsi g(x) dengan


def g(x):
t = 1/(x-1)
return t

# Penyelesaian menggunakan iterasi metode titik tetap pada fungsi g(x) = 1/(x-
1)
tol = 1.0E-1 # Toleransi (epsilon)
delta = 1000 # nilai awal (untuk menghitung galat) xn
= 0.0
xd = []

# Perulangan untuk iterasi


while delta > tol :
# xn+1 = g (xn)
xnp1 = g(xn)
delta = abs(xnp1 - xn)

#Simpan untuk iterasi berikutnya


xn = xnp1
xd.append(xn)

print(xd)

# Visualisasi
n = np.arange(len(xd))
plt.plot(n, xd, '-or')
plt.xlabel('$n$')
plt.ylabel('$x_n$')
plt.show()

# Penyelesaian menggunakan iterasi metode biseksi tol =


1.0E-1 # Toleransi (epsilon)
delta = 1000 # nilai awal (untuk menghitung galat) a =
0.0
b = 1.0
fa = f(a)
fb = f(b)
xd = []
xn = b

# Perulangan untuk iterasi


while delta > tol:
# Nilai tengah c
= (a + b)/2.0 fc
= f(c)
# Cek jika interval mengandung solusi if
(fa*fc) < 0:
b = c fb
= fc
else:
a = c fa
= fc

xd.append(f(c))
xnp1 = c
delta = abs(xnp1 - xn)

# Simpan untuk iterasi berikutnya xn


= xnp1

print(xd)

# Visualisasi
n = np.arange(len(xd))
plt.plot(n, xd, '-or')
plt.xlabel('$n$')
plt.ylabel('$x_n$')
plt.show()
2. Solusi Persamaan dengan metode Newthon Rapshon
Jawaban :
Source code

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt

# Definisi Fungsi f(x) dengan


def f(x):
return x - np.exp(-2*(x*x))

# Definisi Turunan Fungsi f(x) dengan


def df(x):
return 1 - ((-4*(x))*np.exp(-2*(x*x)))

# Penyelesaian menggunakan iterasi Newton-Raphson

tol = 1.0E-1 # Toleransi (epsilon)


delta = 1000 # nilai awal (untuk menghitung galat) xn
= 1.0
xd = []

# Perulangan untuk iterasi


while delta > tol :
xnp1 = xn - f(xn)/df(xn)
delta = abs(xnp1 - xn)
#Simpan untuk iterasi berikutnya
xn = xnp1
xd.append(xn)
print(xd)

# Visualisasi
n = np.arange(len(xd))
plt.plot(n, xd, '-or')
plt.xlabel('$n$')
plt.ylabel('$x_n$')
plt.show()
3. Solusi persamaan dengan metode sekan dan regulasi falsi
Jawaban :

Source code
%matplotlib inline
import numpy as np
# Visualisasi
n = np.arange(len(xd))
plt.plot(n, xd, '-or')
plt.xlabel('$n$')
plt.ylabel('$x_n$')
plt.show()

# Penyelesaian menggunakan iterasi Regula Falsi tol =


1.0E-1 # Toleransi (epsilon)
delta = 1000 # Nilai awal (untuk menghitung galat) a =
0.9
b = 1.0
fa = f(a)
fb = f(b)
xd = [] xn
=b

# Perulangan untuk iterasi


while delta > tol :
c = b - fb*(b-a)/(fb - fa) fc
= f(c)

# Cek jika interval mengandung solusi if


(fa*fc) < 0:
b = c fb
= fc
else: a =
c
fa = fc

xd.append(c)
xnp1 = c
delta = abs(xnp1 - xn)
#Simpan untuk iterasi berikutnya xn
= xnp1

print(xd)

# Visualisasi
n = np.arange(len(xd))
plt.plot(n, xd, '-or')
plt.xlabel('$n$')
plt.ylabel('$x_n$')
plt.show()

Anda mungkin juga menyukai