6 03 2014
Newton-Raphson Metodu ile Fonksiyon Köklerinin Bulunması
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);
}
}
Kod Paylaşımları 6: Try-Catch Sıfıra Bölme İstisnası Basit Hipotenüs Hesabı