Doç. Dr. GÜRAY SONUGÜR

Doç. Dr. Güray SONUGÜR – Öğrenci Bilgi Paylaşım Platformu

Newton-Raphson Metodu ile Fonksiyon Köklerinin Bulunması

Öneri

Öneri

Arkadaşlar,

Bu örnekte kullanılan fonksiyonu değiştirerek siz de örnekler yapabilirsiniz.

İyi çalışmalar.

 

Konuyla ilgili ayrıntılı bilgi için NewtonRaphson indirebilirsiniz.

import java.util.Scanner;

public class Math_newtonRaphson1 {

public static void main(String[] args) {

//Bu kısımda değişkenler tanımlanıyor.*********
double x=0;
double z=0;
double h=0;
int sayac=0;
double y=0;
//**********************************************

//Klavyeden veri alabilmek için sc nesnemizi türetiyoruz.
Scanner sc = new Scanner(System.in);

System.out.println(“Başlangıç Değerini Giriniz:”);
x=sc.nextDouble(); // İterasyona başlamak için başlangıç değerini klavyeden alıyoruz.

System.out.println(“Hassasiyet Değerini Giriniz:”);
h=sc.nextDouble(); // İterasyonu sonlandırmak için hassasiyet değerini klavyeden alıyoruz.

// İterasyona başlıyoruz.
do
{
// Ekli pdf dosyasında bulunan (1.5) ifadesindeki eşitlik gerçekleniyor.

//Fonksiyonumuz: x²+ 2x -8

y= x- (((x*x)+(2*x)-8)/((2*x) +2));

//x değerini aşağıdaki kod (x=y;) ile kaybetmeden önce bir z değişkenine atıyoruz.
//Çünkü bu z değişkenini “while” ifadesinde döngüden çıkma kontrolü için kullanacağız.
z=x;

// İfadede buklunan x2=x1-(f(x1)/f'(x1)) ifadesinde eşitliğin sağındaki bölüm
//hesaplanıyor ve aşağıdaki kod ile x2’ye eşitleniyor.
//Bu her döngüde x3,x4,.., şeklinde devam edecektir.
x=y;

sayac++;
// döngüde her oluşan y değerinin fonksiyonun kök değerine ne kadar yaklaştığı kontrol ediliyor.
//X değişkeninin oluşan yeni değeri ile eski değeri arasındaki fark Hassasiyet değerinden //küçük
//olduğunda döngü sonlandırılıyor.
}while(Math.abs(y-z)>h);

System.out.println(“Kök Bulundu: “+y + “\nDeneme Sayısı: ” + sayac);

}

}