PENYELESAIAN PERSAMAAN NON LINEAR SERENTAK
Persamaan Non Linear serentak adalah dua buah persamaan berordo(pangkat) lebih dari satu. Masing masing persamaan memiliki kaitan sehingga penyelesaian persamaan satu dapat digunakan sebagai penyelesaian dalam persamaan yang lainnya. Salah satu metode yang bisa digunakan untuk menyelesaikan persamaan non linear serentak adalah Metode Newton Raphson.
METODE NEWTON RAPHSON Metode Newton Raphson ini memiliki proses iterasi yang cepat. Namun hanya terbatas pada persamaan berordo dua atau tiga. Untuk ordo yang lebih besar, persoalan akan menjadi kompleks dikarenakan ada penghitungan determinan matriks ordo tinggi.
Algoritma Newton Raphson 1. Menyelesaikan 2 persamaan Non Linear serentak menjadi : Fx1,x2=0 dan Gx1,x2=0 2. Mencari nilai fungsi Fx1,x2 dan Gx1,x2=0 dan turunan fungsi tersebut terhadap masingmasing variabelnya, yaitu dF/dx1,dF/dx2,dG/dx1,dG/dx2 pada titik awal yang ditentukan yaitu x1 0 dan x2 0 . 3. Mencari nilai r1 dan s1 ( r1 dan s1 adalah deviasi dari nilai x1 dan x2 ), dengan aturan sbb :
r1= ∣−Fx1,x2 −Gx1,x2
dF/dx2 dG/dx2∣
∣dF/dx1 dG/dx1
dF/dx2 dG/dx2∣
s1=
∣dF/dx1 dG/dx1
−Fx1,x2 −Gx1,x2∣
∣dF/dx1 dG/dx1
dF/dx2 dG/dx2∣
kemudian dengan pendekatan didapatkan
x1 1=x1 0r1 x2 1=x2 0s1 4. melakukan operasi iterasi dengan mengulang langkah kedua sampai didapatkan nilai r dan s nol atau mendekati nol/error.
Contoh : Carilah penyelesaian dari persamaan non linear serentak sbb : x2x1=12.6−x1e−x2 4lnx2x1 20.3=3x1x2
Penyelesaiannya adalah : Langkah pertama, menyusun persamaan di atas menjadi bentuk Fx1,x2=0 Gx1,x2=0 yaitu : Fx1,x2=x1e−x2−x2x1−12.6=0 Gx1,x2=4lnx2x1 20.3−3x1x2 Langkah kedua, Mencari nilai fungsi dan turunannya pada x1 0 dan x2 0 misalkan ditentukan nilai awalnya sebesar x1 0=4 dan x2 0=3 akan didapatkan : Fx1,x2=x1e−x2−x2 x1−12.6 Fx1,x2=4exp−3−34−12.6 Fx1,x2=−0.799148273 dan Gx1,x2=4lnx2x1 20.3−3x1x2
Gx1,x2=4ln3420.4−343 Gx1,x2=−0.090160536 nilai turunannya : dF/dx1=−x2e−x2=−3exp−3=2.9590212932 dF/dx2=−x1−x1e−x2=−4−4exp−3=−4.199148273 dG/dx1=2x1−3x2=24−33=2.803847577 dG/dx2=4/x2−3x1/2x2=4/3−34/23=−2.130768282 Langkah ketiga, mencari nilai r1 dan s1
r1= ∣−0.799148273 0.090160536
−4.199148273 −2.130768282∣
∣−2.950212932 2.803847577
−4.199148273 −2.130768282∣ =0.115249096
s1=
∣−2.950212932 2.803847577
−0.799148273 0.090160536∣
∣−2.950212932 2.803847577
−4.1994148273 −2.130768282∣
=0.109340978
sehingga x1 1=x1 0r1=40.115249096=4.115249096 x2 1=x2 0s1=30.109340978=3.109340978 Langkah keempat, mengulang langkah kedua dan ketiga hingga didapatkan nilai r1 dan s1 sama dengan nol. Hasil akhirnya adalah x1=4.1131531474 dan x2=3.1080320798
untuk koding C++
dapat disimak dibawah ini
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
double f(double x) //for the function x^4 - 10
{
return (x*x*x*x - x - 10);
}
double ff(double x) //Differentiating function f(x)
{
return (4*x*x*x - 1);
}
void NR(double aerr, int maxitr, double a)
{
int i = 0;
double b, prev;
while (i <= maxitr)
{
b = a - (f(a))/ff(a);
cout << "Iter " << i << ": x = " << b << endl;
i++;
if (fabs(b - a) < aerr)
break;
a = b;
}
}
int main()
{
double aerr, a, b;
int maxitr;
cout << "Enter aerr, maxitr, a." << endl;
cin >> aerr;
cin >> maxitr;
cin >> a;
NR(aerr, maxitr, a);
system("PAUSE");
return EXIT_SUCCESS;
}
terima kasih karena sudah membaca posting saya
jangan lupa like, share dan commend yah
terima kasih
0 comments:
Post a Comment