Skip to content

azkafh/R01_ProgramKomnum_09

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

R01_ProgramKomnum_09.py

Numerical Computation Final Project

Metode Newton-Raphson

Nama Kelompok R01 Kelompok 9

Anggota:

  • Alhaura Rahmatunnisa Harsanto (5053241016)
  • Berlian Yafi Kania Mu'awanah (5053241046)
  • Zahra Fidela (5053241036)
  • Annisa Zahra Fitria (5053241040)
  • Azka Fauziyah (505324020)

Deskripsi Metode

Metode Newton-Raphson adalah metode numerik untuk mencari akar dari suatu fungsi ( f(x) ) dengan menggunakan iterasi:

[ x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} ]

Dimana:

  • ( f(x) ) adalah fungsi yang ingin dicari akarnya,
  • ( f'(x) ) adalah turunan dari fungsi tersebut,
  • ( x_n ) adalah nilai pendekatan saat ini,
  • ( x_{n+1} ) adalah pendekatan selanjutnya.

Metode ini membutuhkan turunan pertama dari fungsi, dan sangat efisien jika nilai awal cukup dekat dengan akar yang sebenarnya.


Fungsi yang Digunakan

Fungsi yang digunakan dalam program ini adalah:

[ f(x) = x^3 + 6x^2 - 19x - 84 ]

Dengan turunannya:

[ f'(x) = 3x^2 + 12x - 19 ]


Tujuan Program

Tujuan dari program ini adalah mencari nilai ( x ) sedemikian sehingga ( f(x) = 0 ).


Struktur Program

f = lambda x: x**3 + 6*x**2 - 19*x - 84
df = lambda x: 3*x**2 + 12*x - 19

xs = 3      # Akar sebenarnya, digunakan untuk menghitung true error
x0 = 1      # Tebakan awal

def newton_raphson(x):
    return x - f(x)/df(x)

def error_true(xs, x_current):
    return abs((xs - x_current) / xs) * 100

def error_approximate(x_current, x_prev):
    return abs((x_current - x_prev) / x_current) * 100

for i in range(1, 4):
    x1 = newton_raphson(x0)
    Et = error_true(xs, x1)
    Ea = error_approximate(x1, x0) if i > 1 else None

    print(f"iteration {i:02d} :")
    print(f"x_i: {x1:.2f}")
    print(f"ET (Error True): {Et:.2f}%")
    if Ea is not None:
        print(f"EA (Error Approx): {Ea:.2f}%")
    else:
        print("EA (Error Approx): -")  # iterasi pertama tidak memiliki error approximate
    print()

    x0 = x1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages