11. HAFTA BLM323 SAYISAL ANALİZ Okt. Yasin ORTAKCI [email protected] KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 2 Sayısal Analiz İNTERPOLASYON Deney sonuçları veya benzer çalışmalar için doğru bilinen değerleri kullanarak aralarda bilinmeyen noktalardaki değerleri yaklaşık olarak belirleme işlemine interpolasyon denir. İnterpolasyon, bilinmeyen değerler bilinen değerlerin arasında bir noktada ise bilinen noktalar kullanarak bilinmeyen değerler bulunabilir. Eğer değeri bulunmak istenen nokta bilinen noktaların dışında bir yerde ise eğri uydurma (ekstrapolasyon) işlemleri ile bilinmeyen değerler bulunabilir. İnterpolasyon çok yaygın olarak kullanılan noktalara polinom uydurarak sonuca gitmektir. Eğer bilinen nokta sayısı iki ise bunları bir doğru ile birleştirerek ara değerleri aramak gerekir. Bilinen nokta sayısı arttıkça polinomun derecesi artacaktır. n adet nokta için n-1. dereceden bir polinom uydurmak bütün mevcut noktaları sağlayacaktır. İnterpolasyon yöntemi olarak kullanabileceğimiz literatürde bir çok yöntem vardır. Öncelikle Lagrange interpolasyon yöntemini inceleyelim. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 3 Sayısal Analiz LAGRANGE İNTERPOLASYON YÖNTEMİ Weierstrass Yaklaşım Teoremi n. dereceden bir polinomu (𝑎𝑛 ≠ 0); 𝑃𝑛 (𝑥) = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + … … … + 𝑎1 𝑥 + 𝑎0 şeklinde gösterelim. Burada 𝑎0 , 𝑎1 , ...., 𝑎𝑛 değerleri polinomun reel katsayılarıdır. n negatif olmayan bir tamsayıdır. (𝑛 ≥ 0) 𝑓 𝑥 ′𝑖𝑛, 𝑎, 𝑏 aralığında tanımlı ve sürekli bir fonksiyon olduğunu varsayalım. Her ɛ > 0 için öyle bir 𝑃(𝑥) polinomu vardır ki, 𝑓 𝑥 − 𝑃(𝑥) < ɛ ifadesi 𝑎, 𝑏 aralığındaki her 𝑥 için geçerlidir. Yaklaşım teorisinde kullanılan bir çok polinom türü vardır. (Lagrange, Hermit, Chebische, Lagurre vb.) Lagrange Polinomu Lagrange interpolasyon ifadeleri aslında bir interpolasyon işleminden ziyade eğri uydurma işlemi olarak kullanılması daha anlamlı olabilir. Elde var olan noktalar ile bir doğru ya da eğri uydurulur. Daha sonra bu eşitlik üzerinden istenilen noktaların değerleri hesaplanır. Bu yöntemde nokta sayısına bağlı olarak polinomun derecesi değişir. Örneğin 𝑛 adet nokta için uydurulacak polinomun derecesi 𝑛 − 1 olur. Aşağıdaki şekilde iki noktadan uydurulmuş doğru görülmektedir. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 4 Sayısal Analiz Aşağıdaki şekilde ise üç noktadan uydurulmuş eğri görülmektedir. 𝑎𝑥 + 𝑏 gibi birinci dereceden bir polinomu belirlemek için 𝑥0 , 𝑦0 ve 𝑥1 , 𝑦1 noktalarını bildiğimizi kabul edelim. Aslında bu veri 𝑦0 = 𝑓(𝑥0 ) ve 𝑦1 = 𝑓(𝑥1 ) şeklinde bir 𝑓 𝑥 fonksiyonunun 𝑥0 ve 𝑥1 noktalarında aldığı değerler olarak düşünülürse; 𝑥−𝑥 1 𝐿0 𝑥 = 𝑥 0 −𝑥 1 𝑥−𝑥 0 𝐿1 𝑥 = 𝑥 1 −𝑥 0 şeklinde tanımlı olmak üzere (𝑥0 , 𝑦0 ) ve (𝑥1 , 𝑦1 )noktalarından geçen birinci dereceden (Lineer) Lagrange Interpolasyon polinomu; 𝑃 𝑥 = 𝐿0 𝑥 𝑓 𝑥0 + 𝐿1 𝑥 𝑓 𝑥1 şeklinde hesaplanır. Aşağıda hesaplandığı gibi, 𝑃 𝑥0 = 𝑓 𝑥0 ve 𝑃 𝑥1 = 𝑓 𝑥1 olur. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 5 Sayısal Analiz 𝐿0 (𝑥0 ) = 1, 𝐿0 (𝑥1 ) = 0, 𝐿1 (𝑥0 ) = 0, 𝑎𝑛𝑑 𝐿1 (𝑥1 ) = 1, Buna göre 𝑃(𝑥0 ) = 1 ・ 𝑓 (𝑥0 ) + 0 ・ 𝑓 (𝑥1 ) = 𝑓 (𝑥0 ) = 𝑦0 ve 𝑃(𝑥1 ) = 0 ・ 𝑓 (𝑥0 ) + 1 ・ 𝑓 (𝑥1 ) = 𝑓 (𝑥1 ) = 𝑦1 Teorem: 𝑥0 , 𝑥1 , … … , 𝑥𝑛 (𝑛 + 1) farklı sayı ve 𝑓(𝑥) fonksiyonu bu (𝑛 + 1) noktada değeri bilinen bir fonksiyon ise, 𝑛. dereceden 𝑃 𝑥 polinomu mevcuttur ve 𝑓 𝑥𝑘 = 𝑃 𝑥𝑘 ′ 𝑑ı𝑟. 𝑘 = 0,1,2, … … , 𝑛 𝑜𝑙𝑚𝑎𝑘 ü𝑧𝑒𝑟𝑒 Özetle 𝑃 𝑥 polinomu şu şekildedir: Örnek: 2,4 𝑣𝑒 (5,1) noktalarından geçen lineer Lagrange polinomunu bulunuz. Çözüm: 𝑥−5 𝐿0 = 2−5 = 5−𝑥 3 ve 𝐿1 = 𝑥−2 3 bulunur. Bu sonuçlara göre: KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 6 Sayısal Analiz 𝑃 𝑥 = 5−𝑥 3 ×4+ 𝑥−2 3 × 1 = 6 − 𝑥 bulunur. Şimdi de yaklaşım polinomunun n. dereceden olduğunu düşünürsek (𝑛 + 1) tane detaya ihtiyacımız vardır. Yani 𝑦 = 𝑓 𝑥 fonksiyonu için; 𝑓 𝑥0 = 𝑦0 , 𝑓 𝑥1 = 𝑦1 , … … … … . , 𝑓 𝑥𝑛 = 𝑦𝑛 n. dereceden Lagrange polinomu verilen detay ile şu şekilde ifade edilir: 0 ≤ 𝑘 ≤ 𝑛 olmak üzere; 𝐿𝑛 ,𝑘 = 𝑥 − 𝑥0 𝑥 − 𝑥1 … . . 𝑥 − 𝑥𝑘−1 𝑥 − 𝑥𝑘+1 … . . (𝑥 − 𝑥𝑛 ) 𝑥𝑘 − 𝑥0 𝑥𝑘 − 𝑥1 … . . 𝑥𝑘 − 𝑥𝑘−1 𝑥𝑘 − 𝑥𝑘+1 … . . (𝑥𝑘 − 𝑥𝑛 ) Özetle; 𝑛 𝐿𝑛,𝑘 (𝑥) = 𝑖=0 𝑖≠𝑘 𝑥 − 𝑥𝑖 𝑜𝑙𝑚𝑎𝑘 ü𝑧𝑒𝑟𝑒 𝑥𝑘 − 𝑥𝑖 𝐿𝑛,𝑘 polinomlarını kullanarak yaklaşım polinomu: 𝑃 𝑥 = 𝐿𝑛 ,0 × 𝑓 𝑥0 + 𝐿𝑛,1 × 𝑓 𝑥1 + … … … … + 𝐿𝑛 ,𝑛 × 𝑓(𝑥𝑛 ) 𝑛 𝑃 𝑥 = 𝐿𝑛,𝑘 × 𝑓 𝑥𝑘 𝑘=0 KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 7 Sayısal Analiz Örnek: 𝑥0 = 2, 𝑥1 = 2,75, 𝑥2 = 4 noktalarında tanımlı ikinci dereceden Lagrange 1 polinomunu bulunuz. (𝑓 𝑥 = 𝑥 ) Çözüm: 𝐿0 = 𝑥 − 𝑥1 𝑥 − 𝑥2 𝑥 − 2.75 𝑥 − 4 2 = = (𝑥 − 2.75)(𝑥 − 4) 𝑥0 − 𝑥1 𝑥0 − 𝑥2 2 − 2.75 2 − 4 3 𝐿1 = 𝑥 − 𝑥0 𝑥 − 𝑥2 𝑥−2 𝑥−4 16 = =− (𝑥 − 2)(𝑥 − 4) 𝑥1 − 𝑥0 𝑥1 − 𝑥2 2.75 − 2 2.75 − 4 15 𝐿2 = 𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 2 𝑥 − 2.75 2 = = (𝑥 − 2)(𝑥 − 2.75) 𝑥2 − 𝑥0 𝑥2 − 𝑥1 4 − 2 4 − 2.75 5 1 1 1 1 𝑓 𝑥 = 𝑥 olduğuna göre 𝑓 𝑥0 = 2 , 𝑓 𝑥1 = 2.75 ve 𝑓 𝑥2 = 4 𝑃 𝑥 = 2 1 16 1 2 1 𝑥 − 2.75 𝑥 − 4 − 𝑥−2 𝑥−4 + 𝑥 − 2 (𝑥 − 2.75) 3 2 15 2.75 5 4 𝑃 𝑥 = 1 64 1 𝑥 − 2.75 𝑥 − 4 − 𝑥−2 𝑥−4 + 𝑥 − 2 (𝑥 − 2.75) 3 55 10 𝑓 3 𝑑𝑒ğ𝑒𝑟𝑖𝑛𝑖 𝑒𝑠𝑎𝑝𝑙𝑎𝑦𝑎𝑙ı𝑚. 29 Yaklaşık değeri 𝑃 3 = 88 = 0.32954 1 Gerçek değeri 𝑓 3 = 3 = 0.33333 𝑓 3 ≈ 𝑃 3 'dir. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 8 Sayısal Analiz Örnek: Aşağıda verilen noktalara Lagrange enterpolasyon yöntemi ile eğri uydurarak polinom katsayılarını belirleyiniz. Bulunan eğrinin 𝑥 = 5.5 ve 𝑥 = −2 için (𝑦) değerlerini hesaplayınız. Çözüm: 𝑥 0 1 3 5 𝑦 -16 -3 -17 41 Verilen nokta sayısı dört olduğuna göre polinomun derecesi 3 olacaktır. Lagrange katsayılarını sayısı ise yine dört olacaktır. Bulunacak polinomu genel olarak şu şekilde yazabiliriz: 𝑃 𝑥 = 𝐿0 (𝑥). 𝑦0 + 𝐿1 (𝑥). 𝑦1 + 𝐿2 (𝑥). 𝑦2 + 𝐿3 (𝑥). 𝑦3 𝑥 − 𝑥1 𝑥 − 𝑥2 𝑥 − 𝑥3 𝑥−1 𝑥−3 𝑥−5 𝑥 3 − 9𝑥 2 + 23𝑥 − 15 𝐿0 = = = 𝑥0 − 𝑥1 𝑥0 − 𝑥2 𝑥0 − 𝑥3 0−1 0−3 0−5 (−15) 𝐿1 = 𝑥 − 𝑥0 𝑥 − 𝑥2 𝑥 − 𝑥3 𝑥−0 𝑥−3 𝑥−5 𝑥 3 − 8𝑥 2 + 15 = = 𝑥1 − 𝑥0 𝑥1 − 𝑥2 𝑥1 − 𝑥3 1−0 1−3 1−5 8 𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥3 𝑥−0 𝑥−1 𝑥−5 −𝑥 3 + 6𝑥 2 − 5 𝐿2 = = = 𝑥2 − 𝑥0 𝑥2 − 𝑥1 𝑥2 − 𝑥3 3−0 3−1 3−5 12 KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 9 Sayısal Analiz 𝐿3 = 𝑥 − 𝑥0 𝑥 − 𝑥1 𝑥 − 𝑥2 𝑥−0 𝑥−1 𝑥−3 𝑥 3 − 4𝑥 2 + 3𝑥 = = 𝑥3 − 𝑥0 𝑥3 − 𝑥1 𝑥3 − 𝑥2 5−0 5−1 5−3 40 𝑃 𝑥 = −16𝐿0 − 3𝐿1 − 17𝐿2 + 41𝐿3 376𝑥 3 − 2304𝑥 2 + 3313𝑥 + 1595 𝑃 𝑥 = 120 bulunur. Bu polinomda bazı 𝑥 değerleri hesaplanarak aşağıdaki tablo elde edilmiştir. 𝑥 -2 0 1 3 5 5.5 𝑦 -176 -16 -3 -17 41 84.375 Bulunan yeni fonksiyonun grafiği bu noktalardan faydalanılarak çizilirse aşağıdaki şekil elde edilir. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM323 10 Sayısal Analiz Algoritması 𝐼𝑁𝑃𝑈𝑇 𝑡𝑒 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑘𝑛𝑜𝑤𝑛𝑠 𝑝𝑜𝑖𝑛𝑡𝑠 (𝑛 + 1), 𝑡𝑒 𝑒𝑛𝑡𝑟𝑖𝑒𝑠 𝑥𝑘 , 𝑓 𝑥𝑘 𝑥 𝑣𝑎𝑙𝑢𝑒 𝑡𝑜 𝑖𝑛𝑡𝑒𝑟𝑝𝑜𝑙𝑎𝑡𝑒 0 ≤ 𝑘 ≤ 𝑛, 𝑂𝑈𝑇𝑃𝑈𝑇 𝑡𝑒 𝑎𝑝𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑡𝑒 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝑦 = 𝑃(𝑥) 𝑜𝑓 𝑔𝑖𝑣𝑒𝑛 𝑥 𝑣𝑎𝑙𝑢𝑒. 𝑆𝑡𝑒𝑝 1 𝐹𝑜𝑟 𝑘 = 0, . . . , 𝑛 𝑛 𝐿𝑛 ,𝑘 (𝑥) = 𝑖=0 𝑖≠𝑘 𝑥 − 𝑥𝑖 𝑥𝑘 − 𝑥𝑖 𝑆𝑡𝑒𝑝 2 𝑛 𝑃 𝑥 = 𝐿𝑛,𝑘 × 𝑓 𝑥𝑘 𝑘=0 𝑆𝑡𝑒𝑝 3 𝑂𝑈𝑇𝑃𝑈𝑇 (𝑃(𝑥)); 𝑆𝑇𝑂𝑃. Kaynakça Richard L. Burden, Richard L. Burden (2009). “Numerical Analysis” Brooks/Cole Cengage Learning, Boston. Doç. Dr. İbrahim UZUN, (2004), "Numarik Analiz” Beta Yayıncılık. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi