İnsan bir problemi düşünür ve olabilirliğini teorik olarak ispatlarsa o problem eninde sonunda insan hayatına kazandırılır.

5 Mayıs 2012 Cumartesi

Newton-Raphson Metodu İle Doğrusal Olmayan Denklem Çözümü


Bu yönten, basit iterasyon yöntemiyle benzerlik göstermektedir. Bu yöntem ile f(x)=0 denkleminin yaklaşık köklerini  bulmak için x(n+1)=f(x(n))/f '(x(n)) ifadesi kullanılmaktadır. Newton-Raphson yöntemiyle hesaplama yapmak için x(0) ve E(epsilon) değerlerinin bilinmesi gerekmektedir.

Aşağıda f= x^3-3*x^2+5*x-exp(-x^2) fonksiyonunun yaklaşık köklerinin  Newton-Raphson yöntemiyle matlab kullanılarak hesaplanması ifade edilmektedir.

Program çıktısı:



function f= fnewton(x)                  //fonksiyon ifade ediliyor.
f= x^3-3*x^2+5*x-exp(-x^2);
function f= fnewton_turev(x)       //fonksiyonun türevi ifade ediliyor.
f= 3*x^2-6*x+5+2*x*exp(-x^2);

maxiter: tekrarlanacak maximum itarasyon sayısı.


fark=0.000001; epsilon=0.00001; maxiter=10; x0=1;
for say=1:maxiter
 % aşağıdaki satırda türevin sıfır olup olmadığı kontrol ediliyor
    y=fnewton_turev(x0);
     if abs(y)<0.0001
        disp('türev sıfıra çok yakın,algoritma durduruluyor')
        break,end
     kok=x0-fnewton(x0)/y;
    hata=abs(kok-x0);
    hatatek=2*hata/(abs(kok)+fark);
    x0=kok;
    w=fnewton(x0);
    if (hata<fark)|(hatatek<fark)|(abs(w)<epsilon)
        break,end
end
if say==maxiter
   disp('maxiter aşıldığı için iterasyon durduruldu')
   break
   end
disp('aranilan kök değeri')
kok
disp('bulunan kök değeri g(x) fonksiyonunu w kadar hata ile sağlıyor')
w
disp('iterasyon sayisi')
say



Hiç yorum yok:

Yorum Gönder