Persamaan Numerik Newton Rhapson
Persamaan Numerik Newton-Rhapson merupakan salah satu metode numerik yang digunakan untuk mencari akar suatu fungsi matematika. Metode ini ditemukan oleh Sir Isaac Newton dan Joseph Raphson pada abad ke-17. Metode Newton-Rhapson telah digunakan secara luas dalam berbagai bidang, seperti ilmu teknik, sains, dan finansial.
Metode ini juga digunakan dalam pemrograman komputer dan aplikasi terkait dengan matematika dan analisis data. Dalam aplikasi sehari-hari, Persamaan Numerik Newton-Rhapson dapat digunakan untuk mencari akar persamaan matematika yang rumit dan menghitung solusi numerik dari persamaan diferensial.
algoritma
- Tentukan tebakan awal x0 dan toleransi error ε
- Hitung nilai f(x0) dan f'(x0)
- Hitung delta x menggunakan rumus delta x = -f(x0)/f'(x0)
- Hitung nilai x1 dengan rumus x1 = x0 + delta x
- Ulangi langkah 2-4 hingga error |f(xn)| < ε atau iterasi mencapai batas maksimum.
pseudo-code
Input: fungsi f(x), turunan f'(x), tebakan awal x0, toleransi error ε, batas maksimum iterasi N
Output: akar fungsi x
xn = x0
fx = f(xn)
iterasi = 0
while (|fx| > ε) and (iterasi < N) do
fp = f'(xn)
if fp == 0 then
print "Error: Turunan nol"
return
end if
delta_x = -fx/fp
xn = xn + delta_x
fx = f(xn)
iterasi = iterasi + 1
end while
if iterasi >= N then
print "Error: Batas iterasi tercapai"
return
end if
print "Akar = ", xn
kode C
Berikut adalah contoh skrip C CLI untuk menghitung metode Newton-Raphson dengan parameter:
```c
#include < stdio.h >
#include < stdlib.h >
#include < math.h >
double f(double x); // deklarasi fungsi f(x)
double f_prime(double x); // deklarasi fungsi f'(x)
int main(int argc, char* argv[]) {
// cek jumlah argumen yang diberikan
if (argc != 3) {
printf("Usage: newton_raphson [initial guess] [tolerance]\n");
return 1;
}
// konversi argumen menjadi bilangan pecahan
double x0 = atof(argv[1]); // tebakan awal
double tol = atof(argv[2]); // toleransi error
double x = x0;
double fx = f(x);
int iter = 0;
// iterasi menggunakan metode Newton-Raphson
while (fabs(fx) > tol && iter < 100) {
double fp = f_prime(x);
if (fp == 0) {
printf("Error: derivative is zero\n");
return 1;
}
double delta_x = -fx / fp;
x = x + delta_x;
fx = f(x);
iter++;
}
// cek apakah iterasi konvergen atau divergen
if (iter >= 100) {
printf("Error: iteration limit reached\n");
return 1;
}
// tampilkan hasil
printf("Root = %.6f\n", x);
return 0;
}
double f(double x) {
// ganti dengan fungsi yang ingin dihitung akarnya
return x*x - 2;
}
double f_prime(double x) {
// ganti dengan turunan fungsi yang ingin dihitung akarnya
return 2*x;
}
f(x)merupakan fungsi yang ingin dihitung akarnya menggunakan metode Newton-Raphson. Fungsi ini dapat diganti dengan fungsi lain yang ingin dihitung akarnya.f_prime(x)merupakan turunan dari fungsif(x). Fungsi ini juga dapat diganti dengan turunan dari fungsi lain yang ingin dihitung akarnya. Skrip ini menerima 2 argumen:initial guessdantolerance.initial guessmerupakan tebakan awal yang digunakan dalam metode Newton-Raphson.tolerancemerupakan toleransi error yang ditetapkan dalam metode Newton-Raphson. Skrip ini akan mengeluarkan hasil nilai akar yang dihitung menggunakan metode Newton-Raphson.
penerapan
Persamaan Numerik Newton-Rhapson biasanya digunakan untuk merancang dan mengembangkan mesin, salah satunya mesin cuci. Mesin cuci menggunakan persamaan diferensial untuk mengontrol gerakan drum pencucian.
Metode Newton-Rhapson digunakan untuk menghitung solusi numerik dari persamaan diferensial tersebut, sehingga mesin cuci dapat bekerja dengan lebih efisien dan akurat.