Iteration With Fixed Point Method, Iteration With Newton-Raphson Method IN SCILAB [TUTORIAL LESSON 12]
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ü;
Ç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;
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;
Ş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ü;
Ş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
- GITHUB LINK
- LESSON 11
- LESSON 10
- LESSON 9
- LESSON 8
- LESSON 7
- LESSON 6
- LESSON 5
- LESSON 4
- LESSON 3
- LESSON 2
- LESSON 1
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://www.scribd.com/document/119187283/JAVA-B%C4%B0LG%C4%B0SAYAR-D%C4%B0L%C4%B0YLE-PROGRAMLAMA
I indicated my reference @cheetah
Hey @safakcoban I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
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