Iteration With Fixed Point Method, Iteration With Newton-Raphson Method IN SCILAB [TUTORIAL LESSON 12]

in #utopian-io6 years ago (edited)

What Will I Learn?

  • Sabit Nokta Metodu İle iterasyon
  • Newton-Raphson Metodu İle İterasyon

Requirements

  • Scilab Yazılım Programı
  • Scilab ' SciNotes ' Penceresi
  • ' Scilab 6.0.0 Console ' Penceresi
  • MacOs, Windows gibi Platformlar

Difficulty

  • Intermediate

Tutorial Contents

Herkese Merhabalar;

Bu dersimizde sabit nokta metodu kullanarak ve Newton-raphson Metod kullanarak iterasyon yapma işlemlerini sizlere öğreteceğim. Sabit nokta metodu ve Newton-Raphson metotlarının ayrı ayrı formülleri vardır ve bu formüller yardımıyla girilen tahmini değer ve hata oranı değerleri ile fonksiyonumuzun kökünü bulma işlemini gerçekleştireceğiz.

1.ADIM

Bu adımımızda sabit nokta metodu ile iterasyon işlemini gerçekleştireceğiz. Sabit nokta metodunda kullanılan formülümüz;

G(x)=(x^2+2)/3

Bu formüle uygun kodlarımızı yazmaya başlayalım ve en sonunda programımızı kaydedip çalıştırma işlemini gerçekleştirelim. Gereken kodlarımız;

x0=input('Kök İçin İlk Tahmin Değerini Giriniz=');
hata=input('Hata Sınırını Giriniz=');
sayi=input('İterasyon Sayısını Giriniz=');
durum=0;
for i=1:sayi
x=(x0^2+2)/3;
disp(x);
if(abs(x-x0)<=hata)
disp('Olarak Bulundu.',[x],'Kök = ');
durum=1;
break
else
x0=x;
end
end
if(durum==0)
disp('Yöntem Yakınsamıyor !');
end

Şeklinde kodumuzu oluşturmamızın ardından kayıt işlemini gerçekleştirelim. Kodlarımızın ' SciNotes ' penceresindeki görüntüsü;

Adsız.jpg

Çalşıtırma işlemini başlatalım. Tahmini değer, hata sınırı ve İterasyon sayılarının girişini yapalım. Sonucunda kök değerimiz bize ulaşacaktır. Programda;

Tahmin Değeri = 0.9
Hata Sınırı = 0.0001
İterasyon Sayısı = 50

olarak girişini yapacağım ve ortaya çıkan kök değerimizi hep birlikte görelim;

Adsız2.jpg

Adsız3.jpg

Görüldüğü üzere sonucumuz;

0.9998021

Olarak kök bulunmuştur.

Burada tahmini değerimizin anlamı iterasyonu başlatcağımız ilk sayı değeridir. Bu sayı değeri bizim istediğimiz herhangi bir sayı değeri olabilir ve sonuç her imkanda doğru çıkacaktır.

Hata oranının anlamı ise istenen sonuç olan kök değerimizin bulunmasında en fazla rol oynayan sayı birimidir. Programa girilen hata oranı, çıkan her sonucun noktadan ' . ' sonraki sayı değeri tekrarı dikkate alınarak bize sonuç bildirir. Birimi (ε) dir.

İterasyon sayısı ise programa maksimum yapacağı iterasyon değerini girmemizi sağlar. Bulunan her sonuç bir iterasyon işlemidir.

2.ADIM

Bu adımımızda ise Newton-Raphson Metodu kullanarak iterasyon yapma işlemi oluşturacağız. Newton-Raphson yönteminin formülü ise;

Xn+1=Xn-(f(Xn))/(f'(Xn))

olarak belirlenmiştir. Bu förmüle uygun olan kodlarımızın yazım işlemine başlayalım. Sizlerde programınıza yaptığım bu kodları kopyala yapıştır yöntemiyle oencerernize yapıştırarak bu programları kullanabilirsiniz. Gereken kodlarımız;

x0=input('Kök İçin İlk Tahmin Değerini Giriniz=');
hata=input('Hata Sınırını Giriniz=');
sayi=input('İterasyon Sayısını Giriniz=');
durum=0;
for i=1:sayi
f=(x0^3-6*x0^2+11*x0-6);
ftur=(3*x0^2-12*x0+11);
if (ftur==0)
disp(['Türev Süreksizdir']);
durum=1;
break
else
x=x0-f/ftur;
disp([x],'x = ');
if (abs(x-x0)<=hata)
disp('Olarak Bulundu.',[x],'Kök = ');
disp('Yöntem Yakınsıyor !');
durum=1;
break
end
end
x0=x
end
if (durum==0)
disp('Yöntem Yakınsamıyor ! ');
end

Kodlarımızı oluşturduktan sonra ' SciNotes ' penceresindeki ekran görüntümüz;

Adsız4.jpg

Şeklinde kodlarımız konumlanmış durumdadır. Kayıt işlemini gerçekleştirip çalıştırma işlemine geçişimizde ' Scilab 6.0.0 Console ' Penceresine;

Tahmin Değeri = 40
Hata Sınırı = 0.00001
İterasyon Sayısı = 50

olarak girişini yaptığımızda ortaya çıkan kökümüzün ekrandaki görüntüsü;

Adsız5.jpg

Adsız6.jpg

Adsız7.jpg

Şeklinde Scilab yazılım programında hazırlanan programımızda yapılan iterasyon işlemlerinin sonucu kök değeri;

3.

Olarak hesaplanmışıtır.

Bundersimizde iterasyon yöntemlerinden olan Sabit Nokta Metodu ve Newton-Raphson Metodu kullanarak iterasyon yapma işlemleri ile kök bulma işlemlerini gerçekleştirmiş olduk Umarım faydalı bir anlatım sergilemişimdir. Sorularınız ve görüşleriniz benim için değerlidir ve bana yorum kısmından ulaşabilirsiniz.

  • Kodlama İşlemlerini referans kullanarak, ' References ' bölümünde site linkini paylaşmış bulunmaktayım.

Herkese İyi Çalışmalar Dilerim.

References

https://www.scribd.com/document/119187283/JAVA-B%C4%B0LG%C4%B0SAYAR-D%C4%B0L%C4%B0YLE-PROGRAMLAMA

Curriculum



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @safakcoban I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Coin Marketplace

STEEM 0.27
TRX 0.13
JST 0.032
BTC 62668.08
ETH 2908.37
USDT 1.00
SBD 3.58