Doç.Dr. Nurettin UMURKAN Nümerik Analiz 1 / 59 Nümerik Analizin Amacı Matematiksel problemlerin çözümlenebilmesi için uygun ve en iyi yaklaşım veren yöntemleri bulmak, ayrıca bunlardan anlamlı ve faydalı sonuçlar çıkarmaktır. Çözümü istenen problemi tanımlamak ve sonuca varacak yöntemi saptamak genellikle aynı bilim adamının işidir. Bu nedenle problemi tanımlayanın bir nümerik analizcinin sahip olduğu bilgilerin en azına sahip olması gerekir. Problemin çözümünde bir takım aşamalardan geçilerek sonuca varılır. Bu aşamalardan ilki problemin formüle edilmesidir. Fiziksel bir olayın matematiksel modelinin formüle edilmesinde nümerik analizci, problemini bilgisayar ile çözümleyebileceğini gözönünde bulundurmalıdır. Formülasyon yapıldıktan sonra problemin çözümü için hata analizi ile birlikte nümerik yöntem en iyi yaklaşımla sonuç elde edilecek şekilde seçilmelidir. Nümerik çözüm yöntemi, belirtilen ya da istenilen hassaslıktaki yaklaşımla ve belli sayıda ardışık tekrar işlemlerinden sonra matematiksel probleme çözüm getirmelidir. Nümerik çözüm yöntemleri genellikle önceden saptanmış aritmetik ve mantıksal işlemlerden oluşur. Bu işlemlerin tümüne çözüm algoritması denir. Algoritma belli sayıda işlemlerden sonra probleme çözüm getirir. Problemin bilgisayar ile çözümünde üçüncü aşama, algoritmanın bilgisayarda çözümünü sağlayacak programlama aşamasıdır. Programlama; C, Pascal, Basic, Cobol, Fortran gibi bilgisayar dillerinden birisi ile yapılır. Doç.Dr. Nurettin UMURKAN Nümerik Analiz Nümerik Analizde Problem Türleri: 1. Yaklaşık hesaplamalar • Enterpolasyon • İntegrasyon • Türev ve diferansiyel • Serilerin toplamı • Eğri Uydurulması 2. Fonksiyonel Denklemler • Adi Diferansiyel Denklemler • Kısmi Türevli Diferansiyel Denklemler • Minimizasyon • İntegral Denklemler • Benzeşim (Simulation) 3. Cebir • Kök Bulma • Lineer Denklem Sistemleri • Lineer Olmayan Denklem Sistemleri 4. Matris Problemleri • Lineer Denklemler • Determinant • Bir Matrisin İnversi • Öz değer ve öz vektörler 2 / 59 Nümerik Analiz Doç.Dr. Nurettin UMURKAN 3 / 59 Sonlu Farklar Sonlu farklar hesabı nümerik analizde geniş kullanılma alanına sahiptir. Matematiksel problemler değişkenlerin sürekli fonksiyonları olarak verilir ve bu fonksiyonlar kapalı bir formülle tanımlanır (örneğin; y = f ( x) = 3x 2 + 5 x − 6 ). Bağımsız değişkenlerin verilmiş değerleri için fonksiyonların değerleri hesaplanabilir. Bir başka şekilde de fonksiyon, bağımsız değişkenlerin her bir değerine karşılık gelen değerlerin bir cümlesi (örneğin; x1 , y1; x2 , y 2 ; x3 , y3 ) olarak tanımlanabilir. Bu durumda süreklilik aralığında herhangi bir noktada formülle tanımlama yoktur. Sonlu farklar kullanılarak, aralığın içinde herhangi bir noktada fonksiyonun değeri için iyi bir yaklaşım bulmak mümkündür. İleri Farklar Bir y = f (x) fonksiyonu verildiğinde, ∆f ( x) = f ( x + h) − f ( x) şeklinde tanımlanan işlemi yaptıran ∆ sembolüne ileri fark operatörü denir. Burada h, “fark aralığı, adım” olarak adlandırılmıştır. ∆f (x) yada ∆y ifadesine f(x) fonksiyonunun birinci mertebeden ileriye farkı denir. 2 f(x) fonksiyonunun ikinci mertebeden ileriye farkı, ∆ f ( x) şeklinde gösterilir ve ∆2 f ( x) = ∆[∆f ( x)] = ∆[ f ( x + h) − f ( x)] Nümerik Analiz Doç.Dr. Nurettin UMURKAN şeklinde ifade edilir. En genel halde, f ( x) = f i 4 / 59 ve f ( x + kh) = f i +k ile gösterilmek üzere ∆n f ( x ) = ∆ ( ∆n −1 f i ) = ∆n −1 f i +1 − ∆n −1 f i ∆ n f ( x ) ∆ ( ∆ n − 1 f i ) ∆ n − 1 f i 1 ∆ n − 1 f i şeklinde tanımlanır. Bir Polinomun Farkları Bir polinomun y0 , y1 , y2 ,..., yn +1 gibi n+2 değerinin verilmiş olduğu kabul edilirse, bu değerler yardımıyla oluşturulan ∆y0 = y1 − y0 ∆y1 = y2 − y1 ∆y2 = y3 − y2 . . . . . . . . . ∆y n = yn+1 − y n farklarına verilen polinomun birinci dereceden ileri farkları denir. Birinci dereceden ileri farklar ile, ∆2 y0 = ∆y1 − ∆y0 ∆2 y1 = ∆y2 − ∆y1 ∆2 y 2 = ∆y3 − ∆y 2 . . . . . . . . . ∆2 y n−1 = ∆y n − ∆y n−1 Nümerik Analiz Doç.Dr. Nurettin UMURKAN 5 / 59 şeklinde elde edilen farklara verilen polinomun ikinci dereceden ileri farkları denir. y = f (x) polinomunda x = a + kh dönüşümü yapıldığında y ‘ ler yk ile gösterilsin. Yani yk = f (a + kh) olur ki bu durumda, ∆yk = yk +1 − yk farkı k ‘ıncı birinci mertebeden ileri fark olarak adlandırılır. k = 0, 1, 2, . . . alınırsa x ‘in ardışık değerleri için y fonksiyonunun ileri fark tablosu aşağıdaki gibi hesaplanır. x a ∆y y y0 = f (a ) a+h y1 = f (a + h) a + 2h y2 = f ( a + 2h ) a + 3h y3 = f (a + 3h ) a + 4h y4 = f ( a + 4 h ) ∆2 y ∆y0 = y1 − y0 2 ∆y1 = y2 − y1 ∆ y0 = ∆y1 − ∆y0 ∆3 y ∆3 y 0 = ∆2 y1 − ∆2 y0 ∆y2 = y3 − y2 ∆ y1 = ∆y 2 − ∆y1 ∆3 y = ∆2 y − ∆2 y 1 2 1 2 ∆y3 = y4 − y3 ∆ y 2 = ∆y3 − ∆y 2 2 Bölünmüş Farklar x ‘in x0 , x1 , . . ., xn değerleri için sırasıyla f(x0), f(x1), . . ., f(xn) değerlerini alan bir fonksiyon için f(x) ‘in herhangi iki ardışık değeri f(xi) ve f(xj) ise birinci bölünmüş fark, f ( x j ) − f ( xi ) f ( xi , x j ) = x j − xi Nümerik Analiz Doç.Dr. Nurettin UMURKAN 6 / 59 formülü ile tanımlanır. Benzer şekilde f(x) ’in iki tane birinci bölünmüş farkı f(xi, xj) ve f(xj, xk) ise ikinci bölünmüş fark, f ( xi , x j , xk ) = f ( x j , xk ) − f ( xi , x j ) xk − xi olur. Bölünmüş farklar başka notasyonlarla da gösterilebilirler. Örneğin, f(xi, xj, xk ) yerine [xi, xj, xk] gibi. Bir başka örnek olarak üçüncü dereceden f(x0, x1, x2, x3 ) bölünmüş farkını alırsak, f ( x1 , x2 , x3 ) − f ( x0 , x1 , x2 ) f ( x0 , x1 , x2 , x3 ) = x3 − x0 formülü ile hesaplanır. y = f (x ) fonksiyonu için bölünmüş fark tablosu, x x0 f (x) f (x0 ) x1 f (x1) x2 f (x2 ) x3 f (x3 ) f (x0, x1) f (x1, x2 ) f (x2, x3 ) ! f (x1, x2, x3 ) f (x0, x1, x2, x3 ) ! ! ! ! f (x0, x1, x2 ) Nümerik Analiz Doç.Dr. Nurettin UMURKAN 7 / 59 şeklinde ifade edilebilir. ÖRNEK: y = x2 fonksiyonunun x = 0, 1, 3, 4, 7 değerleri için bölünmüş fark tablosunu oluşturunuz. x 0 f (x) 0 1 1 1 1 4 3 9 1 7 4 16 1 11 7 49 ! ! ! ! "# $ $ $ $ ENTERPOLASYON Matematiksel problemler değişkenlerin sürekli fonksiyonları olarak ifade edilebilir. Bu fonksiyonlar kapalı bir formülle tanımlanır ve bağımsız değişkenlerin değerleri için fonksiyonların değerleri hesaplanır. Fonksiyonlar, bağımsız değişkenlerin her bir değerine karşılık gelen fonksiyon değerlerinin bir cümlesi olarak da tanımlanabilir. Bu durumda kapalı bir formül verilmemiştir. Sonlu farklar kullanılarak, değişkenlerin herhangi bir ara değerine karşılık gelen fonksiyon değerleri için iyi bir yaklaşım bulunabilir. Pratikte karşılaşılan problemlerin çoğunu kapalı bir formül şeklinde tanımlamak mümkün ise de, ayrık noktalar cümlesinde sonlu farklar kullanılarak çözüm elde etmek daha kolay olduğu için daha fazla tercih edilir. Nümerik Analiz Doç.Dr. Nurettin UMURKAN 8 / 59 Veri noktaları arasında ara değer hesabı gereksinim problemi fen ve mühendislikte sıkça karşılaşılır. Örneğin, bir bina için bilgisayarlı enerji kontrol sistemi dizaynında giriş verisi olarak, hergün binada meydana gelen tipik ısı değişimi gerekebilir. Örnek ısı değerleri ayrık zaman noktalarında bina içinde ölçülmelidir. Bununla birlikte enerji kontrol sistemi bilgisayar programı için, örnek olarak saatlik artışlarla ısı ölçümleri gerekebilir. Bu problemi çözmenin bir yolu ölçülen ısı değerlerinin, ölçüm zamanları arasındaki ara değerleri için bir eğri ile tarif edilmesidir. Bütün enterpolasyon algoritmalarının temeli, veri çizelgesinin bir alt kümesi için bazı fonksiyonlar ya da eğri tipleri uydurmaktır. Enterpolasyon algoritmalarının eğrileri, gerçek fonksiyon eğrilerinden farklıdır. Genel anlamda enterpolasyon, bilinmeyen bir f (x ) fonksiyonunun gibi ayrık noktalarda bilinen x0 , x1 , x2 ,..., xn f (x0 ), f (x1 ), f (x2 ),..., f (xn ) değerlerini kullanarak, bu fonksiyonun daha basit ve bilinen bir P(x ) fonksiyonu ile ifade edilmesi işlemidir. Bu P(x ) fonksiyonuna, enterpolasyon fonksiyonu adı verilir. Enterpolasyon fonksiyonunun seçiminde, başlıca iki teorem kullanılır. [a, b] aralığında sürekli f (x ) fonksiyonu 1. Eğer enterpolasyon fonksiyonu olarak polinom kullanılabilir. 2. Periyodu 2π olan herhangi bir sürekli fonksiyon için n n k =0 k =1 ise, P(x ) = ∑ ak cos kx + ∑ bk sin kx şeklinde sonlu bir trigonometrik seri enterpolasyon fonksiyonu olarak kullanılabilir. Nümerik Analiz Doç.Dr. Nurettin UMURKAN 9 / 59 Lineer Enterpolasyon Enterpolasyon fonksiyonu düz bir çizgiden oluşur. Lineer enterpolasyon fonksiyonu, P(x ) = b0 + b1 x şeklinde ifade edilebilir. Burada iki adet bilinmeyen katsayı (b0, b1) bulunmaktadır. Katsayı değerlerini elde etmek için en az iki adet değişken değeri ve bu değişkenlere karşılık gelen gerçek fonksiyon değerleri bilinmelidir. Bilinen değişken değerleri xi ve xi+1, fonksiyon değerleri de sırasıyla f(xi) ve f(xi+1) olsun, denklemde xi , f(xi) ve xi+1, f(xi+1) değerleri kullanılarak, f (xi ) = b0 + b1 xi f (xi +1 ) = b0 + b1 xi +1 elde edilen iki bilinmeyenli iki denklem çözülerek f ( xi ) − f ( xi +1 ) b0 = f ( xi ) − xi xi − xi+1 f ( xi ) − f ( xi +1 ) b1 = xi − xi +1 denklemin katsayıları bulunarak, f ( xi ) − f ( xi+1 ) f ( xi ) − f ( xi+1 ) P( x) = f ( xi ) − xi + x xi − xi +1 xi − xi+1 elde edilir. Nümerik Analiz Doç.Dr. Nurettin UMURKAN 10 / 59 ÖRNEK : f ( x) = x 3 fonksiyonunun değerleri tabloda verilmiştir. x = 2.2 için enterpolasyon fonksiyonunun değerini bulalım. x f(x) 0 0 1 1 2 8 3 4 27 64 Burada xi ve xi+1 için 2 ve 3 değerleri, f(xi) ve f(xi+1) için de 8 ve 27 değerleri tablodan alınır. (5) denklemi kullanılarak, 8 − 27 8 − 27 + P( x ) = 8 − x 2 2−3 2−3 olur ve lineer enterpolasyon fonksiyonu P ( x) = −30 + 19 x olarak elde edilir. Enterpolasyon fonksiyonu x = 2.2 nin küpünü 11.8 olarak bulmuştur. Gerçek değer olarak 2.2 nin küpü 10.648 dir. Enterpolasyon hatası 1.152 ya da % 10.8 olarak gerçekleşti. Aynı denklemde x = 4 için enterpolasyon değeri % 28 hata ile 46 olarak hesaplandı. Bu durum şekilden de görülmektedir. Lineer enterpolasyon fonksiyonu elde edilirken daima hesaplanacak değerin arada kaldığı bilinen sınır değerleri kullanılmalıdır. Sınır değerlerin dışında kalan bölge için hesaplanan fonksiyon değerlerinde hata oranı artabilmektedir. ! ! ! ! "# $ $ $ $ Nümerik Analiz Doç.Dr. Nurettin UMURKAN 11 / 59 Gregory-Newton Enterpolasyon Yöntemi Bir f (x ) fonksiyonunun x1 , x2 , " xn+1 gibi aralıkları eşit olan ayrık noktalarda bilinen f (x1 ), f (x2 ), ", f (xn+1 ) değerleri varsa ve bu f (x ) fonksiyonunun, enterpolasyon fonksiyonu P (x) ‘i veren GregoryNewton enterpolasyon yönteminde, n. dereceden bir enterpolasyon polinomu, P(x ) = a1 + a2 (x − x1 ) + a3 (x − x1 )(x − x2 ) + a4 (x − x1 )(x − x2 )(x − x3 ) + ... + an (x − x1 )(x − x2 )...(x − xn − 1 ) + an + 1 (x − x1 )(x − x2 )...(x − xn ) şeklinde ifade edilmiştir. Buradaki bilinmeyen katsayılardan a1 için, eşitlikte x ve P(x) yerine sırasıyla x1 ve f (x1 ) değerleri yazılırsa, a1 = f (x1 ) olarak elde edilir. a2 bilinmeyen katsayısının çözümü için, eşitlikte x ve P(x) yerine sırasıyla x2 ve f (x2 ) değerleri yazılırsa, f (x2 ) − a1 f (x2 ) − f (x1 ) = x2 − x1 x2 − x1 şeklindedir. Elde edilen a1 ve a2 değerleri ile x3 , f (x3 ) kullanılarak a3 için denklemden, a2 = f (x3 ) = a1 + a2 (x3 − x1 ) + a3 (x3 − x1 )(x3 − x2 ) bulunur, buradan a3 çözülerek, a3 = şeklinde elde edilir. f (x3 ) − a1 − a2 (x3 − x1 ) (x3 − x1 )(x3 − x2 ) Nümerik Analiz Doç.Dr. Nurettin UMURKAN 12 / 59 ÖRNEK : x F(x) 1 1 2 8 3 27 4 64 Tablo değerleri kullanılarak Gregory-Newton yöntemiyle ikinci dereceden bir polinom için, önce [1, 1] kullanılarak, a1 = f (x1 ) = 1 ve [2, 8] kullanılarak denklemden, 8 −1 =7 a2 = 2 −1 ve son olarak [3, 27] değeri kullanılarak denklemden, a3 = 27 − 1 − 7(3 − 1) =6 (3 − 1)(3 − 2) şeklinde katsayılar elde edilir. Katsayılar yerine yazılarak, P( x) = 1 + 7( x − 1) + 6( x − 1)( x − 2) olur. Denklem düzenlendiğinde enterpolasyon polinomu, P ( x) = 6 − 11x + 6 x 2 olarak elde edilmiştir. x = 2.2 için P(2.2) = 10.84 değeri elde edilir. ÖRNEK : 40o ve 72o C sıcaklık değerleri arasındaki suyun buhar basıncı verileri aşağıdaki tabloda verildiği gibidir. T(oC) 40 48 56 64 72 P(mm Hg) 55.3 83.7 123.8 179.2 254.5 Enterpolasyon polinomunda 52oC için buhar basıncı ? Gregory-Newton ifadesindeki katsayıların elde edilişi aşağıda tabloda verilmiştir. Nümerik Analiz Doç.Dr. Nurettin UMURKAN i T(oC) P(mm Eşitlik ‘den ai Hg) 1 2 3 4 5 40 48 56 64 72 13 / 59 55.3 83.7 123.8 179.2 179.2 = a1 + a2 (64 − 40) + a3 (64 − 40)(64 − 48) 55.3 3.55 0.0914063 0.001172 254.5 + a4 (64 − 40)(64 − 48)(64 − 56) 254.5 = a1 + a2 (72 − 40) + a3 (72 − 40)(72 − 48) 0.00001017 55.3 = a1 83.7 = a1 + a 2 (48 − 40) 123.8 = a1 + a2 (56 − 40) + a3 (56 − 40)(56 − 48) + a4 (72 − 40)(72 − 48)(72 − 56) + a5 (72 − 40)(72 − 48)(72 − 56)(72 − 64) Katsayılar yerine yazıldığında, P(T ) = 55.3 + 3.55(T − 40) + 0.0914063(T − 40)(T − 48) + 0.001172(T − 40)(T − 48)(T − 56) + 0.00001017(T − 40)(T − 48)(T − 56)(T − 64) şeklindedir. Enterpolasyon polinomunda 52oC için buhar basıncı, P(52) = 102.0 mm Hg olarak elde edilir. ! ! ! ! "# $ $ $ $ Newton İleri Fark Enterpolasyon Formülü x1 , x2 ,... xn +1 gibi aralıkları eşit olan ayrık noktalarda bilinen f (x1 ), f (x2 ),..., f (xn +1 ) değerleri için enterpolasyon fonksiyonu P (x ) , s s 2 s n P(x ) = y0 + ∆y0 + ∆ y0 + ... + ∆ y0 1 2 n şeklinde ifade edilir. Burada, s katsayısına, binom katsayısı adı verilir ve i 3 − f(4)0≤1 s s( s − 1)(s − 2)...(s − i + 1) = i! i Nümerik Analiz Doç.Dr. Nurettin UMURKAN 14 / 59 şeklindedir. İfade düzenlendiğinde, s( s − 1) 2 s( s − 1)(s − 2) 3 ∆ y0 + ∆ y0 + ... 2! 3! s( s − 1)...(s − n + 1) n + ∆ y0 n! x − x0 s = olur. Burada dir. İfade de yerine yazıldığında, h x − x0 x − x0 − 1 x − x0 h h ∆2 y + ∆y0 + P(x ) = y0 + 0 h 2! x − x0 x − x0 x − x0 − 2 − 1 h h h ∆3 y + ... + 0 3! olur. İfade düzenlendiğinde, P(x ) = y0 + s∆y0 + x − x0 ( x − x0 )( x − ( x0 + h)) 2 ( x − x0 )( x − x1)( x − x2 ) 3 ∆y0 + ∆ y0 + ∆ y0 2 3 h 2! h 3! h ( x − x0 )...( x − xn −1) n + ... + ∆ y0 n! h n P(x ) = y0 + olarak elde edilir. Aynı ifade, Gregory-Newton enterpolasyon yönteminin ifadesinde katsayılar ileri farklar ile yeniden düzenlenerek, a0 , a1,..., an katsayıları, a0 = y0 ∆2 y0 a2 = 2 h 2! ; ; ∆y y −y a1 = 1 0 = 0 x1 − x0 h a3 = ∆3 y0 h3 3! an = ∆n y0 h n n! Nümerik Analiz Doç.Dr. Nurettin UMURKAN 15 / 59 olarak elde edilir. Formülde yerine yazıldığında, Newton İleri Fark Enterpolasyon Formülü elde edilir. Newton İleri Fark Enterpolasyon Formülü en genel anlamda, ∆y0 ∆2 y0 ∆3 y0 P(x ) = y0 + ( x − x0 ) + ( x − x0 )( x − x1) + ( x − x0 )( x − x1 )( x − x2 ) h 2! h 2 3! h3 ∆n y0 + ... + ( x − x0 )...( x − xn −1) n! h n şeklinde ifade edilir. h=1 ve x0=0 ise ifade, ∆2 y0 ∆3 y0 P(x ) = y0 + ∆y0 x + x( x − 1) + x( x − 1)( x − 2) 2! 3! ∆n y0 + ... + x( x − 1)...( x − xn −1 ) n! ÖRNEK: x y 0 1 1 2 2 4 y 1 ∆y ∆2y x=0.5 için P(x)=? İleri fark tablosu, x 0 1 1 2 1 2 2 4 şeklinde elde edilir. Tablo değerleri formüle uygulandığında, ∆2 y0 P ( x ) = y 0 + ∆y 0 x + x( x − 1) 2! Nümerik Analiz Doç.Dr. Nurettin UMURKAN P(x ) = 1 + x + P(0.5) = 1.37 16 / 59 1 1 1 x ( x − 1) = x 2 + x + 1 2 2 2 ÖRNEK: x y 2 10 4 50 6 122 8 226 10 362 Yukarıdaki tabloyu kullanarak enterpolasyon polinomunu ve x=3 noktasındaki değerini bulunuz. İleri fark tablosu, x y 2 10 ∆y ∆2y ∆3y 40 4 50 32 72 6 122 0 32 104 8 226 0 32 136 10 362 şeklinde elde edilir. Tablo değerleri formüle uygulandığında, ∆y0 ∆2 y0 P( x ) = y 0 + ( x − x0 ) + ( x − x0 )( x − x1 ) h 2! h 2 40 32 P(x ) = 10 + ( x − 2) + ( x − 2)( x − 4) 2 2 2! 2 2 P (x ) = 4 x − 4 x + 2 P(3) = 26 İleri Farklar Enterpolasyon formülü sadece sabit adım aralıklı değişkenli problemlere uygulanabilir. Adım aralığının sabit olmadığı durumlarda, değişken dönüşümü yapılarak adım aralığı sabit hale getirildikten sonra yöntem uygulanabilir. Nümerik Analiz Doç.Dr. Nurettin UMURKAN ÖRNEK: x y -1 2 0 1 3 10 8 65 15 226 17 / 59 24 577 Yukarıdaki tabloyu kullanarak enterpolasyon polinomunu bulunuz. Değişkenin adım aralığı sabit olmadığı için x , z ‘nin fonksiyonu olarak tanımlanır. x= f(z) z x y 0 -1 2 1 0 1 İleri fark tablosu, z 0 2 3 10 x -1 3 8 65 ∆x 4 15 226 5 24 577 ∆2x 1 1 0 2 3 2 3 2 5 3 8 2 7 4 15 2 9 5 24 şeklinde elde edilir. Tablo değerleri formüle uygulandığında, değişken x ve fonksiyon y için formül, ∆2 y0 P ( x ) = y 0 + ∆y 0 x + x( x − 1) 2! olacaktı, değişken z ve fonksiyon x için aynı ifade ∆2 x0 f ( z ) = x 0 + ∆x 0 z + z ( z − 1) 2! şeklinde ifade edilir. Tablo değerleri yerine yazıldığında, Nümerik Analiz Doç.Dr. Nurettin UMURKAN 18 / 59 x = f (z ) = −1 + z + z ( z − 1) = z 2 − 1 z = x +1 olarak örnek problem için değişken dönüşüm ifadesi elde edilir. z değişkeni ve y fonksiyonu için ileri fark tablosu, z 0 y 2 ∆y ∆2y ∆3y ∆4y -1 1 1 10 9 2 10 36 46 55 3 65 60 106 161 4 24 226 24 84 190 351 5 577 Formül z değişkeni ve y fonksiyonu için düzenlendiğinde, ∆2 y0 ∆3 y0 P(z ) = y0 + ∆y0 z + z ( z − 1) + z ( z − 1)( z − 2) + 2! 3! ∆4 y0 + z ( z − 1)( z − 2)( z − 3) 4! P( z ) = 2 − z + 10 36 24 z ( z − 1) + z ( z − 1)( z − 2) + z ( z − 1)( z − 2)( z − 3) 4! 2! 3! parantez çarpımları yapılarak, P( z ) = z 4 − 2 z 2 + 2 ara enterpolasyon fonksiyonu elde edilir. Değişken dönüşüm ifadesi yerine yazıldığında x değişkenine bağlı enterpolasyon polinomu, Nümerik Analiz Doç.Dr. Nurettin UMURKAN 19 / 59 P(x ) = ( x + 1) 2 − 2( x + 1) + 2 P(x ) = x 2 + 1 olarak elde edilir. ! ! ! ! "# $ $ $ $ Lagrange Enterpolasyon Formülü Bir f (x ) fonksiyonunun x0 , x1, x2 ,... xn gibi (aralıkları eşit olan veya olmayan) ayrık noktalarda bilinen f (x0 ), f (x1 ), f (x2 ),..., f (xn ) değerleri varsa ve bu f (x ) fonksiyonunun, enterpolasyon fonksiyonu P (x ) ‘i veren Lagrange Enterpolasyon Formülü, n P( x) = ∑ Li ( x) f ( xi ) i =0 şeklinde verilir. P( x) = L0 ( x) f ( x0 ) + L1 ( x) f ( x1 ) + L2 ( x) f ( x2 ) + ... + Ln ( x) f ( xn ) genel ifadesi kullanılır. Burada Li, Lagrange enterpolasyon katsayıları, n x−xj Li ( x ) = ∏ j = 0 xi − x j j≠i ifadesi ile tanımlanmıştır. n. dereceden Li katsayısı, Nümerik Analiz Doç.Dr. Nurettin UMURKAN Li ( x) = ( x − x0 )( x − x1 )( x − x2 )...( x − xn −1 )( x − xn ) ( xi − x0 )( xi − x1 )...( xi − xi −1 )( xi − xi +1 )...( xi − xn ) ile hesaplanır. ÖRNEK Aşağıda tabloda verilen noktalardan geçen polinomu bulunuz. x f(x) 0 1 1 2 2 4 Bu problem için denklemden, P ( x ) = L0 ( x) f ( x0 ) + L1 ( x) f ( x1 ) + L2 ( x ) f ( x2 ) elde edilir. Burada Lagrange enterpolasyon katsayıları, ( x − x1 )( x − x2 ) ( x0 − x1 )( x0 − x2 ) L0 ( x) = L1 ( x ) = ( x − x0 )( x − x2 ) ( x1 − x0 )( x1 − x2 ) L2 ( x ) = ( x − x0 )( x − x1 ) ( x2 − x0 )( x 2 − x1 ) şeklindedir. Sayısal değerler P (x ) ifadesinde yerine yazılırsa, P( x) = ( x − 0)( x − 2) ( x − 0)( x − 1) ( x − 1)( x − 2) ⋅2+ ⋅4 ⋅1 + (0 − 1)(0 − 2) (1 − 0)(1 − 2) ( 2 − 0)(2 − 1) elde edilir. Bu ifade düzenlendiğinde enterpolasyon polinomu olarak P (x ) = 1 2 1 x + x +1 2 2 bulunur. 20 / 59 Doç.Dr. Nurettin UMURKAN Nümerik Analiz 21 / 59 ÖDEV f (x ) = sin (x ) fonksiyonunun bazı değişkenler için değerleri aşağıda tabloda verilen gibidir. sin12 o nin enterpolasyon değerini bulunuz. x 10 11 13 f(x) 0.17365 0.19081 0.22495 ÖRNEK Aşağıda tabloda verilen noktalardan geçen Lagrange Enterpolasyon polinomunun x = 3 için değeri, x 0 1 2 4 5 f(x) 4 6 10 48 94 Lagrange enterpolasyon formülü, P( x) = L0 ( x) f ( x0 ) + L1 ( x) f ( x1 ) + L2 ( x) f ( x2 ) + L3 ( x) f ( x3 ) + L4 ( x) f ( x4 ) şeklinde düzenlenir, bu ifadedeki L(x) katsayıları, ( x − x1 )( x − x2 )( x − x3 )( x − x4 ) ( x0 − x1 )( x0 − x2 )( x0 − x3 )( x0 − x4 ) (3 − 1)(3 − 2)(3 − 4)(3 − 5) = 0.1 L0 (3) = (0 − 1)(0 − 2)(0 − 4)(0 − 5) L0 ( x) = ( x − x0 )( x − x2 )( x − x3 )( x − x4 ) ( x1 − x0 )( x1 − x2 )( x1 − x3 )( x1 − x4 ) (3 − 0)(3 − 2)(3 − 4)(3 − 5) = −0.5 L1 (3) = (1 − 0)(1 − 2)(1 − 4)(1 − 5) L1 ( x) = L2 ( x ) = ( x − x0 )( x − x1 )( x − x3 )( x − x4 ) ( x2 − x0 )( x2 − x1 )( x2 − x3 )( x2 − x4 ) L2 (3) = (3 − 0)(3 − 1)(3 − 4)(3 − 5) = 1.0 (2 − 0)(2 − 1)(2 − 4)(2 − 5) Doç.Dr. Nurettin UMURKAN L3 ( x) = ( x − x0 )( x − x1 )( x − x2 )( x − x4 ) ( x3 − x0 )( x3 − x1 )( x3 − x2 )( x3 − x4 ) L3 (3) = (3 − 0)(3 − 1)(3 − 2)(3 − 5) = 0.5 (4 − 0)(4 − 1)(4 − 2)(4 − 5) L4 ( x) = ( x − x0 )( x − x1 )( x − x2 )( x − x3 ) ( x4 − x0 )( x4 − x1 )( x4 − x2 )( x4 − x3 ) Nümerik Analiz 22 / 59 (3 − 0)(3 − 1)(3 − 2)(3 − 4) = −0.10 (5 − 0)(5 − 1)(5 − 2)(5 − 4) olarak bulunur. Böylece enterpolasyon polinom değeri, L4 (3) = P (3) = (0.1)( 4) + ( −0.5)(6) + (1.0)(10) + (0.5)( 48) + ( −0.10)(94) = 22.0 ! ! ! ! "# $ $ $ $ Bölünmüş Farklar Enterpolasyon Formülü x ‘in x0 , x1 , . . ., xn değerleri için sırasıyla f(x0), f(x1), . . ., f(xn) değerlerini alan bir fonksiyon için enterpolasyon polinomu P(x), bölünmüş farklar ile, P ( x ) = f ( x0 ) + ( x − x0 ) f ( x0 , x1 ) + ( x − x0 )( x − x1 ) f ( x0 , x1 , x2 ) + ... + ( x − x0 )( x − x1 )...( x − xn −1 ) f ( x0 , x1 ,..., xn ) formülü ile tanımlanır. ÖRNEK: x 1.0 1.1 1.2 1.3 cos x 0.5403 0.4536 0.3624 0.2675 x = 1.12 için enterpolasyon polinomu değerini bulunuz. Nümerik Analiz Doç.Dr. Nurettin UMURKAN x 1.0 23 / 59 f(x) 0.5403 -0.8670 1.1 0.4536 -0.2250 -0.9120 1.2 0.3624 0.1333 -0.1850 -0.9490 1.3 0.2675 P(1.12) = 0.5403 + (1.12 − 1.0)(−0.8670) + (1.12 − 1.0)(1.12 − 1.1)(−0.2250) + + (1.12 − 1.0)(1.12 − 1.1)(1.12 − 1.2)(0.1333) = 0.4357 ÖRNEK: x 1.3 1.1 1.2 1.0 cos x 0.4536 0.3624 0.5403 0.2675 x = 1.12 için enterpolasyon polinomu değerini bulunuz. x 1.1 f(x) 0.4536 -0.9120 1.2 0.3624 -0.2250 -0.8895 1.0 0.5403 0.1333 -0.1983 -0.9093 1.3 0.2675 P(1.12) = 0.4536 + (1.12 − 1.1)(−0.9120) + (1.12 − 1.1)(1.12 − 1.2)(−0.2250) + + (1.12 − 1.1)(1.12 − 1.2)(1.12 − 1.0)(0.1333) = 0.4357 ! ! ! ! "# $ $ $ $ Nümerik Analiz Doç.Dr. Nurettin UMURKAN 24 / 59 En küçük Kareler Yöntemi Enterpolasyon fonksiyonu P(x) gerçek fonksiyon f(x) ‘i ancak belirli bir aralıkta tanımlar. Bazı hallerde gerçek fonksiyon ile enterpolasyon fonksiyonu verilen aralık dışında birbirinden çok farklı olabilir. Enterpolasyon ile elde edilen eğri, gerçek fonksiyonun değişimine çok yakın olmalıdır. Meydana gelen fark ile gerçek fonksiyon değeri, yi = P ( x)+ε i ifadesi ile verilebilir. ε i , hata miktarıdır. Fiziksel olayların çoğunda iki veya daha fazla birbirine bağlı değişken bulunur. Bir olayın deneysel sonucunun analitik incelenmesi olayın formüle bağlanması ile mümkündür. Örneğin, zamana göre değişen bir olayda çeşitli zamanlarda yapılan ölçümlerde f(x) değerleri elde edilmiş olsun. Gözlemlenen olayın doğrusal bir değişim göstermesi bekleniyorsa beklenen doğru denklemi y= A+ Bx olarak ifade edilir. Bu durumda j. inci gözlemdeki xj değerinden hesaplanan y j = A+ Bx j değeri ile gözlemden elde edilen gerçek y değeri arasındaki farkı minimum olacak şekilde bir doğru denklemi bulmak istenirse, i. inci gözlemdeki fark, d i = yi − ( A + Bxi ) Nümerik Analiz Doç.Dr. Nurettin UMURKAN 25 / 59 şeklinde ifade edilir. Ancak bu fark (+) veya (–) olabileceğine göre teorik fonksiyonun göstereceği doğru en uygun doğru olmayabilir. Bu nedenle farklar yerine farkların kareleri toplamının minimum olması şartını sağlayan fonksiyonu belirlemek gerekir. n Si = ∑ d i2 = 0 i =1 Si = d12 + d 22 + d 32 + ... + d n2 = 0 n Si = ∑ ( yi − ( A + Bxi )) 2 = 0 i =1 Bu ifade de S, A ve B ye bağlı olarak değişecektir. S ‘nin A ve B ‘ye göre kısmi türevleri alınıp sıfıra eşitlenirse, ∂S =0 ∂A ∂S =0 ∂B ∂S n = ∑ 2( A + Bxi − yi ) = 0 ⇒ ∂A i =1 ∂S n = ∑ 2( A + Bxi − yi ) xi = 0 ⇒ ∂B i =1 n n x i ∑ i =1 n n i =1 n i =1 n ∑ A + ∑ Bx = ∑ y i i =1 n i ∑ Ax + ∑ Bx = ∑ x y i =1 i i =1 n A x y ∑ i ∑ i i =1 = ni =1 n 2 xy x ∑ i B i i ∑ i =1 i =1 n n 2 i i =1 i i Nümerik Analiz Doç.Dr. Nurettin UMURKAN 26 / 59 matrisi elde edilir ve n ∆= n x i ∑ i =1 n xi ∑ ∑ yi i =1 ∆A = ni =1 n xy xi2 ∑ i i ∑ i =1 i =1 n n y ∑ i i =1 ∆B = n n x xi yi ∑ ∑ i i =1 i =1 n x ∑ i i =1 n xi2 ∑ i =1 n ∆A ∆ ∆B B= ∆ A= şeklinde matris çözülerek A ve B katsayıları elde edilir. ÖRNEK: x f(x) 0 1 2 5.1 4 9 6 13 8 17 10 21 Tablodan geçen doğru denkleminin A ve B katsayılarını en küçük kareler yöntemiyle bulunuz. Nümerik Analiz Doç.Dr. Nurettin UMURKAN n n x i ∑ i =1 27 / 59 n A x y ∑ i ∑ i i =1 = ni =1 n 2 xy x ∑ ∑ i B i i i =1 i =1 n yi 1 5.1 9 13 17 + 21 66.1 xi 0 2 4 6 8 + 10 30 x i2 0 4 16 36 64 + 100 220 x i yi 0 10.2 36 78 136 + 210 470.2 6 30 A 66.1 30 220 B = 470.2 ∆ = 420 ∆A = 436 ∆B = 838.2 A= 1.03809 B= 1.99571 y = 1.03809 + 1.99571 x ! ! ! ! "# $ $ $ $ En Küçük Kareler Yöntemiyle Polinom Yaklaşımı Verilen noktalardan f(x)=A+Bx+Cx2 parabolü geçirilmek istenirse hata kareleri toplamının minimum olması için n S i = ∑ (( A + Bxi + Cxi2 ) − yi ) 2 = 0 i =1 Nümerik Analiz Doç.Dr. Nurettin UMURKAN olmalı, ∂S n = ∑ 2( A + Bxi + Cxi2 − yi ) = 0 ∂A i =1 ∂S n = ∑ 2 xi ( A + Bxi + Cxi2 − yi ) = 0 ∂B i =1 ∂S n = ∑ 2 xi2 ( A + Bxi + Cxi2 − yi ) = 0 ∂C i =1 n ∑ xi ∑ xi2 ∑x ∑x ∑x ∑x ∑x ∑x A ∑ yi B x y = ∑ i i C ∑ xi2 yi 2 1 6 33 2 i 3 i 4 i i 2 i 3 i ÖRNEK: x y 3 6 5 22 8 61 Tablodan geçen f(x)=A+Bx+Cx2 denkleminin A, B ve C katsayılarını en küçük kareler yöntemiyle bulunuz. xi 2 3 5 6 + 8 24 yi 1 6 22 33 + 61 123 xi2 4 9 25 36 + 64 138 xi3 8 27 125 216 + 512 888 x i4 x i yi 16 2 81 18 625 110 1296 198 + 4096 + 488 6114 816 xi2 yi 4 54 550 1188 + 3904 5700 28 / 59 Doç.Dr. Nurettin UMURKAN Nümerik Analiz 29 / 59 24 138 A 123 5 B = 24 138 888 816 138 888 6114 C 5700 A = -3 B=0 C=1 ! ! ! ! "# $ $ $ $ En Küçük Kareler Yöntemiyle Lineer Olmayan Fonksiyonlar Verilen değerlerden lineer bir fonksiyon geçirilemiyorsa fonksiyonları f(x) = aebx veya f(x) = axb gibi katsayılar bakımından lineer olmayan şekilde tanımlanabilir. Lineer olmayan fonksiyonların çözümü güç olduğundan logaritmaları alınarak lineerleştirme işlemi yapılır. ÖRNEK: x 0 2 3 4 5 f(x) 5.2 56.628 186.872 616.679 2035.04 Tablodan geçen y = abx denkleminin a ve b katsayılarını en küçük kareler yöntemiyle bulunuz. y = abx ln y = ln a + x ln b Y = A + BX Nümerik Analiz Doç.Dr. Nurettin UMURKAN n n X i ∑ i =1 n A Y X ∑ i ∑ i i =1 = ni =1 n ⇒ X i2 B ∑ X iYi ∑ i =1 i =1 n xi 0 2 3 4 + 5 14 30 / 59 n A x y ln ∑ i i ∑ i =1 i =1 = n n xi2 B ∑ xi ln yi ∑ i =1 i =1 n n x i ∑ i =1 n yi xi2 ln yi 5.2 0 1.649 56.628 4 4.037 186.872 9 5.230 616.679 16 6.424 + 2035.04 + 25 + 7.618 54 24.958 x i lnyi 0 8.074 15.690 25.696 + 38.090 87.550 5 14 A 24.958 14 54 B = 87.550 ∆ = 74 ∆A = 122.032 ∆B = 88.338 A= 1.649081 B= 1.19375 a = e A a = 5.2022 b = e B b = 3.2994 x y ≅ 5.202 • 3.3 ÖRNEK: x f(x) 1 3 3 5 15.588 33.541 b Tablodan geçen y = a x denkleminin a ve b katsayılarını en küçük kareler yöntemiyle bulunuz. b y = ax ln y = ln a + b ln x Y = A + BX Nümerik Analiz Doç.Dr. Nurettin UMURKAN n n X i ∑ i =1 n X i A ∑ Yi ∑ i =1 = ni =1 ⇒ n 2 X i B ∑ X iYi ∑ i =1 i =1 n n n ln x i ∑ i =1 yi ln xi 3 0 15.588 1.099 33.541 + 1.609 2.708 xi 1 3 5 31 / 59 n ln xi A ∑ ln yi ∑ i =1 = n i =1 n 2 (ln xi ) B ∑ ln xi ln yi ∑ i =1 i =1 n ln yi (ln xi)2 lnx i lnyi 1.099 0 0 2.747 1.208 3.019 + 3.513 + 2.589 + 5.652 7.359 3.797 8.671 2.708 A 7.359 3 2.708 3.797 B = 8.671 ∆ = 4.057736 ∆A = 4.461053 ∆B = 6.084828 A= 1.099395 B= 1.4995623 a = e A a = 3.0023491 b=B b = 1.4995623 y ≅ 3 x 1.5 ÖRNEK: x 0 1 2 f(x) 1 2 6 bx Tablodan geçen y = a e denkleminin a ve b katsayılarını en küçük kareler yöntemiyle bulunuz. bx y = ae ln y = ln a + bx ln e Y = A + BX Nümerik Analiz Doç.Dr. Nurettin UMURKAN n n X i ∑ i =1 n X i A ∑ Yi ∑ i =1 = ni =1 n 2 X Y ⇒ X B ∑ i i i ∑ i =1 i =1 n xi yi xi2 0 1 + 2 3 1 2 6 0 1 + 4 5 ∆=6 ∆A = −0.4054653 ∆B = 5.3752795 n n ∑ xi i =1 32 / 59 A n x y ln ∑ i i ∑ i =1 i =1 = n n 2 xi B ∑ xi ln yi ∑ i =1 i =1 n x i lnyi ln yi 0 0 0.693147 0.693147 + 1.791759 + 3.583519 2.4849066 4.276666 3 3 A 2.4849066 3 5 B = 4.276666 A= -0.0675775 B= 0.8958797 a = e A a = 0.9346552 b =B b = 0.8958797 0.8958797x y ≅ 0.9346552 e ! ! ! ! "# $ $ $ $ En Küçük Kareler Yöntemiyle Trigonometrik Fonksiyonlar y = a0 + a1 cos x + a2 cos 2 x + a3 cos 3x + ... + an cos nx + b1 sin x + b2 sin 2 x + b3 sin 3x + ... + bn sin nx Nümerik Analiz Doç.Dr. Nurettin UMURKAN 33 / 59 Verilen noktalardan y = a0 + a1 cos xi + b1 sin xi trigonometrik fonksiyonu geçirilmek istenirse hata kareleri toplamının minimum olması için n S i = ∑ ((a0 + a1 cos xi + b1 sin xi ) − yi ) 2 = 0 i =1 olmalı, n ∂S = ∑ 2(a0 + a1 cos xi + b1 sin xi − yi ) = 0 ∂a0 i =1 ∂S n = ∑ 2(a0 cos xi + a1 cos 2 xi + b1 sin xi cos xi − yi cos xi ) = 0 ∂a1 i =1 ∂S n = ∑ 2(a0 sin xi + a1 cos xi sin xi + b1 sin 2 xi − yi sin xi ) = 0 ∂b1 i =1 n ∑ cos xi ∑ sin xi ∑ cos x ∑ sin x a ∑ y x x x cos cos sin ∑ ∑ a = ∑ y cos x ∑ cos x sin x ∑ sin x b ∑ y sin x i i i 0 2 i i i 1 i i 1 i i 2 i i i ÖRNEK: x 0 20 40 60 80 f(x) 2.5 3.526 4.428 5.098 5.454 y = a0 + b1 sin xi denkleminin a0 ve Tablodan geçen katsayılarını en küçük kareler yöntemiyle bulunuz. n ∑ cos xi ∑ sin xi ∑ cos x ∑ sin x ∑ cos x ∑ cos x sin x ∑ cos x sin x ∑ sin x i i 2 i i 2 i i i b1 a0 ∑ yi = a y x cos i 1 i ∑ i b1 ∑ yi sin xi Doç.Dr. Nurettin UMURKAN n ∑ sin xi xi 0 20 40 60 80 ∑ sin x Nümerik Analiz 34 / 59 a 0 ∑ yi = 2 ∑ sin xi b1 ∑ yi sin xi yi 2.5 3.526 4.428 5.098 + 5.454 21.006 i sinxi sin2 xi yi sinxi 0 0 0 0.342 0.117 1.206 0.643 0.413 2.847 0.866 0.750 4.415 + 0.985 + 0.970 + 5.290 2.836 2.25 13.758 2.836 a0 21.006 5 2.836 2.25 b = 13.758 1 a0 = 2.571 b1 = 2.874 y ≅ 2.571 + 2.874 sin x ! ! ! ! "# $ $ $ $ Cebirsel Fonksiyon Köklerinin Bulunması Newton-Raphson Yöntemi Bir başlangıç noktası (x0) verilir. Eğer fonksiyonun tek bir değeri var ve türevi kolay alınabiliyorsa bu yöntem tercih edilir. Yöntemin esası seçilen başlangıç noktasından fonksiyona bir teğet çizilerek teğet eğiminin o noktadaki türeve eşit olduğunu kabul eden teoreme dayanır. Bulunan Nümerik Analiz Doç.Dr. Nurettin UMURKAN 35 / 59 değer birinci iterasyon olarak adlandırılır. Ardışık iki iterasyon arasındaki fark verilen bir epsilon sayısından küçük yada eşit oluncaya kadar iterasyona devam edilir. Bu şart sağlandığında kök bulunmuş olur. α x2 x1 x0 teğet f(x) x1 = x0 − f ( x0 ) f ′( x0 ) 1. iterasyon x0 − x1 = ε sağlanırsa kök x1 dir. Eğer bu şart sağlanmıyorsa iterasyona devam edilir ve başlangıç noktası olarak x1 alınır. x2 = x1 − f ( x1 ) f ′( x1 ) 2. iterasyon Şart sağlanana kadar iterasyona devam edilir, k iterasyon sayısını göstermek üzere, xk +1 = xk − ÖRNEK: f ( xk ) f ′( xk ) Nümerik Analiz Doç.Dr. Nurettin UMURKAN 36 / 59 y = x 2 − sin x − 1 denkleminin kökünü başlangıç noktasını 1 ve epsilon 10-6 alarak çözünüz. x0 1 1.576469 1.422834 1.409720 1.409624 x1 1.576469 1.422834 1.409720 1.409624 1.409624 EPS farkı 0.576469 0.153634 0.013114 0.000096 0.000000 1.409624 kök olarak alınır. ! ! ! ! "# $ $ $ $ Regula-Falsi Yöntemi b a a f(a) > 0 f(b) < 0 b f(a) < 0 f(b) > 0 Yöntemin esası, <eğer sürekli bir f(x) fonksiyonunun x=a ve x=b noktalarında değerleri birbirinin ters işaretlisi ise f(x) sürekli fonksiyonunun (a,b) aralığında en az bir kökü vardır> teoremine dayanır. Amaç f(a) ile f(b) yi birleştiren doğrunun x eksenini kestiği noktayı bulmaktır. Bu nokta, Nümerik Analiz Doç.Dr. Nurettin UMURKAN a c1 37 / 59 c2 b c1 = bf (a ) − af (b) f (a ) − f (b) ile hesaplanır. c1 kök ise f (c1 ) ≤ ε şartını sağlamalıdır. Eğer bu şart sağlanmıyorsa iterasyona devam edilir. Kök aranan (a,b) aralığı daraltılır. Örneğin, f (a ) < 0 a = c1 f (c1 ) < 0 ise kök aranan yeni aralık (c1,b) olur. İkinci iterasyonda hesaplanacak c2, c2 = bf (c1 ) − c1 f (b) f (c1 ) − f (b) ile hesaplanır. Şart sağlanmıyorsa, üçüncü iterasyona geçilir. f (c 2 ) > 0 b = c2 f (c1 ) < 0 İse aralık (c1,c2) olarak daraltılır. Şart sağlanana kadar iterasyona devam edilir Doç.Dr. Nurettin UMURKAN Nümerik Analiz ÖRNEK: y = x 3 − 5 x − 7 denkleminin kökünü (2,3) aralığında EPS= 0.001 alarak bulunuz. f(a) = f(2)= -9 <0 f(b) = f(3)= 5 >0 bf (a ) − af (b) = 2.642857 c1 = f (a ) − f (b) f (c1 ) = − 1.754 ≤ 10 −3 şartı sağlanmadı c1 kök değil, f (a) < 0 a = c1 alarak (c1, b) aralığında işleme devam f (c1 ) < 0 edilir. c2 = bf (c1 ) − c1 f (b) = 2.735606 f (c1 ) − f (b) f (c2 ) = − 0.206 ≤ 10 −3 şartı sağlanmadı c2 kök değil, f (c 2 ) < 0 c1 = c2 alarak (c2, b) aralığında işleme devam f (c1 ) < 0 edilir. c3 = bf (c 2 ) − c2 f (b) = 2.746067 f ( c 2 ) − f (b ) f (c3 ) = − 0.0225 ≤ 10 −3 şartı sağlanmadı o halde c3 kök değil, 38 / 59 Doç.Dr. Nurettin UMURKAN Nümerik Analiz 39 / 59 f (c3 ) < 0 c 2 = c3 alarak (c3 ,b) aralığında işleme devam f (c 2 ) < 0 edilir. bf (c3 ) − c3 f (b) c4 = = 2.747204 f (c3 ) − f (b) f (c4 ) = − 0.0025 ≤ 10 −3 şartı sağlanmadı o halde c4 kök değil, f (c 4 ) < 0 c 3 = c4 alarak (c4 , b) aralığında işleme devam f (c3 ) < 0 edilir. c5 = bf (c4 ) − c4 f (b) = 2.747330 f (c4 ) − f (b) f (c5 ) = − 0.000291 ≤ 10 −3 şartı sağlandı o halde c5 kök. ! ! ! ! "# $ $ $ $ Yarıya Bölme Yöntemi Yöntemin esası, <eğer sürekli bir f(x) fonksiyonunun x=a ve x=b noktalarında değerleri birbirinin ters işaretlisi ise f(x) sürekli fonksiyonunun (a,b) aralığında en az bir kökü vardır> teoremine dayanır. Amaç a ile b nin orta noktasını bulmaktır. c1 = a+b 2 ile hesaplanır. c1 kök ise f (c1 ) ≤ ε şartını sağlamalıdır. Eğer bu şart sağlanmıyorsa iterasyona devam edilir. Nümerik Analiz Doç.Dr. Nurettin UMURKAN 40 / 59 Kök aranan (a,b) aralığı daraltılır. Örneğin, f (a) < 0 a = c1 f (c1 ) < 0 ise kök aranan yeni aralık (c1,b) olur. Şart sağlanana kadar iterasyona devam edilir. ÖRNEK: y = sinx − 0.75 denkleminin kökünü (0.7, 0.9) aralığında EPS= 0.001 alarak bulunuz. f(a) = f(0.7)<0 f(b) = f(0.9)>0 c1 = a+b = 0. 8 2 f (c1 ) = − 0.03264 ≤ 10 − 3 şartı sağlanmadı o halde c1 kök değil, f (a) < 0 a = c1 f (c1 ) < 0 c2 = 0.85 f (c2 ) = 0.00128 ≤ 10−3 f (b) > 0 b = c2 f (c2 ) > 0 c3 = 0.825 (c1,c2) f (c3 ) = − 0.15 ≤ 10−3 f (c 3 ) < 0 c1 = c3 f (c1 ) < 0 c4 = 0.8375 (c1,b) (c3,c2) f (c4 ) = − 0.007 ≤ 10−3 Nümerik Analiz Doç.Dr. Nurettin UMURKAN f (c3 ) < 0 c 3 = c4 f (c 4 ) < 0 c5 = 0.8437 f (c5 ) < 0 c 4 = c5 f (c 4 ) < 0 (c4,c2) f (c4 ) = − 0.0285 ≤ 10−3 (c5,c2) c6 = 0.8468 f (c6 ) = − 0.0008 ≤ 10 −3 şartı sağlandı o halde c6 kök. ! ! ! ! "# $ $ $ $ Lineer Cebirsel Denklem Sistemleri a11 x1 + a12 x2 + ... + a1n xn = c1 a 21 x1 + a 22 x2 + ... + a 2 n xn = c2 # a n1 x1 + a n 2 x2 + ... + a nn xn = cn AX=C A: katsayı matrisi X: bilinmeyen matrisi C: eşitlik matrisi 41 / 59 Nümerik Analiz Doç.Dr. Nurettin UMURKAN 42 / 59 Gauss Eleminasyon Yöntemi Bu yöntemde A katsayı matrisi kanonik forma getirilir. a11 a 21 a31 a12 a22 a32 a13 a11 0 a 23 >>> 0 a33 a12 a22 0 a13 a11 a a 23 21 veya a31 a33 0 a22 a32 0 0 a33 A katsayılar matrisi üst üçgen matrisi haline dönüştürülür. Matris kullanılarak çözüme gidilir. Çözüme matrisin en son satırından başlanarak yerine yazma işlemiyle geriye doğru bilinmeyenler bulunur. a11 x1 + a12 x2 + ... + a1n xn = c1 a 21 x1 + a 22 x2 + ... + a 2 n xn = c2 ′ x2 + ... + a1′n xn = c1′ x1 + a12 x2 + ... + a2′ n xn = c′2 # a n1 x1 + a n 2 x2 + ... + a nn xn = cn xn = cn′ / a′nn ⇒ bulunur. n-1 inci denklemde yazılır xn-1 hesaplanır. ÖRNEK: 3.6 x1 + 2.4 x 2 − 1.8 x3 = 6.3 4.2 x1 − 5.8 x 2 + 2.1x3 = 7.5 0.8 x1 + 3.5 x2 + 6.5 x3 = 3.7 Denklem sistemini çözünüz. # a′nn xn = cn′ xn yerine Doç.Dr. Nurettin UMURKAN Nümerik Analiz 43 / 59 3.6 2.4 − 1.8 6.3 4.2 − 5.8 2.1 7.5 0.8 3.5 6.5 3.7 Arttırılmış katsayılar matrisi düzenir. 1.İşlem: Matrisin 1. satırı a11 ile bölünür. 1 0.667 − 0.5 1.75 4.2 − 5.8 2.1 7.5 0.8 3.5 6.5 3.7 2.İşlem: matrisin 1. satırı a21 ile çarpılır ve 2. satırdan çıkartılır. matrisin 1. satırı a31 ile çarpılır ve 3. satırdan çıkartılır. 1 0.667 0 − 8 .6 0 2.966 − 0.5 1.75 4.2 0.15 6 .9 2.3 3.İşlem: matrisin 2. satırı a22 ye bölünür. matrisin 2. satırı a32 ile çarpılır ve 3. satırdan çıkartılır. 1.75 1 0.667 − 0.5 0 − − 1 0 . 489 0 . 017 0 2.966 6.9 2.3 Nümerik Analiz Doç.Dr. Nurettin UMURKAN 44 / 59 1.75 1 0.667 − 0.5 0 − − 1 0 . 489 0 . 017 0 0 8.35 2.35 4.İşlem: matrisin 3. satırı a33 e bölünür. 1.75 1 0.667 − 0.5 0 − − 1 0 . 489 0 . 017 0 0 1 0.281 x3=0.281 x2+(-0.489)(0.281)=-0.017 ⇒ x2=0.12 benzer şekilde 1. denklemden x1=1.81 ! ! ! ! "# $ $ $ $ Basit İterasyon Yöntemi (Jacobi İterasyonu) x1 = c1 − (a12 x2 + a13 x3 + ... + a1n xn ) a11 x2 = c2 − (a21 x1 + a23 x3 + ... + a2 n xn ) a22 # xn = cn − (an1 x1 + an 2 x2 + ... + ann −1 xn −1 ) ann Nümerik Analiz Doç.Dr. Nurettin UMURKAN ÖRNEK: 2 x1 + 3 x2 + 6 x3 = 31 8 x1 + 2 x2 + 3 x3 = 30 x1 − 9 x2 + 2 x3 = 1 Denklem sistemini ε= 0.001 alarak çözünüz. x1 = (30 − 2 x2 − 3 x3 ) / 8 x2 = (1 − x1 − 2 x3 ) /( −9) x3 = (31 − 2 x1 − 3 x2 ) / 6 x1 x2 x3 0 3.7500 1.8402 1.8969 2.0710 1.9951 1.9949 2.0028 1.9998 1.9997 0 -0.1111 1.4537 0.9760 0.9499 1.0181 0.9997 0.9977 1.0007 1.0000 0 5.1666 3.9722 3.8263 4.0462 4.0013 3.9925 4.0018 4.0001 3.9996 x1 ≅ 2 x2 ≅ 1 X3 ≅ 4 ! ! ! ! "# $ $ $ $ 45 / 59 Nümerik Analiz Doç.Dr. Nurettin UMURKAN Gauss-Seidel İterasyon Yöntemi x x ( k +1) 1 ( k +1) 2 = c1 − (a12 x2 (k ) (k ) (k ) + a13 x3 + ... + a1n xn ) a11 c2 − (a21 x1( k +1) + a23 x3 = a22 (k ) + ... + a2 n x ( k ) n ) # x ( k +1) n = cn − ( an1 x1 ÖRNEK: ( k +1) ( k +1) + a n 2 x2 ann + ... + ann −1 xn( k−1+1) ) x1 + 6 x2 + 3 x3 = 20 2 x1 + x2 + 4 x3 = 14 5 x1 − 2 x2 + x3 = 8 Denklem sistemini ε= 0.001 alarak çözünüz. x1 = (8 + 2 x2 − x3 ) / 5 x2 = (20 − 3 x3 − x1 ) /(6) x3 = (14 − 2 x1 − x2 ) / 4 46 / 59 Nümerik Analiz Doç.Dr. Nurettin UMURKAN x1 x2 x3 1.6000 2.4400 2.0260 2.0479 2.0097 2.0062 2.0019 2.0009 0 3.0666 1.9600 2.1006 2.0111 2.0117 2.0028 2.0016 2.0005 0 1.9333 1.7900 1.9618 1.9732 1.9921 1.9961 1.9986 1.9994 47 / 59 x1 ≅ 2 x2 ≅ 2 x3 ≅ 2 ! ! ! ! "# $ $ $ $ Sayısal Türev Bir takım ayrık noktalarda değeri bilinen bir f(x) fonksiyonunun bir noktadaki türevini yaklaşık olarak bulma işlemidir. yaklaşık Q P x0 -∆x gerçek L+ L- x0 x0 +∆x x = x0 da f(x) ‘in birinci türevi, Nümerik Analiz Doç.Dr. Nurettin UMURKAN f ′( x0 ) = lim ∆x →0 f ( x0 + ∆x ) − f ( x ) ∆x 48 / 59 şeklinde tanımlanır. f′(x0) , x0 ‘da ki eğrinin eğimine eşittir. L+ doğrusunun eğimi = f ( x0 + ∆x ) − f ( x ) ∆x L- doğrusunun eğimi = f ( x0 − ∆x ) − f ( x ) − ∆x 2∆x = h ⇒ ∆x = h / 2 L+ + L− P ve Q dan geçen doğru eğimi = 2 f ′( x0 ) = f ′′( x0 ) = f ( x0 + h / 2 ) − f ( x0 − h / 2 ) merkezi farktan 1. türev h f ( x0 + h ) − 2 f ( x0 ) + f ( x0 − h ) h 2 merkezi farktan 2.türev ÖRNEK: f(x)=2 x 2- 3 x + 4 x = 4 de h = 0.01 için Birinci Türevini Merkezi Fark formülü ile hesaplayınız. f ′( x ) = f( x + h/ 2)− f( x − h/ 2) h Nümerik Analiz Doç.Dr. Nurettin UMURKAN f ′( 4 ) = 49 / 59 f ( 4 + 0.005 ) − f ( 4 − 0.005 ) = 13 (gerçek değer = 13 ) 0.01 ! ! ! ! "# $ $ $ $ Sayısal İntegral y=f(x) fonksiyonu [a,b] aralığında sürekli olmak üzere, fonksiyonun [a,b] aralığındaki integrali, f(x) eğrisinin altında ve [a,b] aralığındaki bölgenin alanına eşittir. Dikdörtgenler Yöntemi S1 S3 S2 S4 a b b n −1 a i =0 S = ∫ f ( x)dx ≅ ∑ f i ⋅ hi hi = b−a n Nümerik Analiz Doç.Dr. Nurettin UMURKAN 50 / 59 Yamuklar Yöntemi S2 S1 a=x0 x1 Sn x2 ... b=xn 1 1 1 S1 = h( y0 + y1 ) , S2 = h( y1 + y2 ) , ... , Sn −1 = h( yn − 2 + yn −1 ) 2 2 2 Sn = 1 h( yn −1 + yn ) 2 n −1 y0 + yn + S = h( yi ) 2 i =1 ∑ ÖRNEK: y= 1 1+ x 2 denkleminin x0 = 0 , xn = 1 aralığında integral değerini n=4 alarak Yamuklar Yöntemiyle hesaplayınız. hi = b−a n xi yi 0 1 0.25 0.94118 0.5 0.8 y0 + y4 3 + yi ) ⇒ ⇒ ⇒ S = h( 2 i =1 ∑ 0.75 0.64 1 0.5 S= 0.782794 gerçek değer 1 1 ∫1+ x 0 1 dx =arctg x 2 = arctg 1 − arctg 0 = 0 π = 0.78539 4 Nümerik Analiz Doç.Dr. Nurettin UMURKAN 51 / 59 Simpson Yöntemi f ( x ) = ax 2 + bx + c S y1 y0 a=-h 0 h ∫ S = ( ax 2 + bx + c )dx −h S =( 3 2 ax bx + + cx ) 3 2 h S = ( 2ah 2 + 6 c ) 3 y2 b=+h ⇒ ⇒ ⇒ h −h (∗) integralin çözümüdür. a ve c katsayılarını bulmak için f(x)denklemi sınır koşulları (-h, 0, +h) için düzenlenir. x = − h için f(x) = ah 2 − bh + c = y0 x=0 f(x) = c = y1 için x = h için f(x) = ah 2 + bh + c = y2 y0 + y2 = 2 ah 2 + 2c yazılır. ⇒ ⇒ (∗) ‘de yerine ve ⇒ ⇒ 2ah2 çekilir ve (∗) ‘de yerine Nümerik Analiz Doç.Dr. Nurettin UMURKAN h S = ( y0 + 4 y1 + y2 ) 3 h= 52 / 59 b−a n n çift aralık için; S = S1 + S 2 + ... + Sn h S1 = ( y0 + 4 y1 + y2 ) 3 h S2 = ( y2 + 4 y3 + y4 ) 3 ................ h S n = ( y n − 2 + 4 y n − 1 + yn ) 3 ÖRNEK: f(x)= Sin x 2 x +1 denkleminin ( 0 , 1 ) aralığında integral değerini n=4 alarak Simpson Yöntemiyle hesaplayınız. xi yi 0 0 0.25 0.5 0.75 1 0.24549 0.45201 0.57164 0.59501 h S = ( y0 + 4 y1 + 2 y2 + 4 y3 + y4 ) = 0.397297 3 ! ! ! ! "# $ $ $ $ Nümerik Analiz Doç.Dr. Nurettin UMURKAN 53 / 59 Diferansiyel Denklemlerin Sayısal Çözümü Taylor Yöntemi Bu yöntemin esası Taylor Serisine dayanmaktadır. Daha çok birinci mertebe diferansiyel denklemlere uygulanır. dy = f ( x, y ) diferansiyel denkleminin çözümü y=y(x) olsun, dx y=y(x) çözümüne ilişkin başlangıç koşulları x=x0 için y(x0)=y0 olur, x’ in her değerindeki artma sabit kabul edilirse, ∆xi = xi +1 − xi = h , i = 0, 1, 2, 3, … bu durumda y = y(x) fonksiyonunun Taylor Serisine açılımı, h2 h3 hn ( n) y (x + h ) ≅ y ( x) + h y′(x ) + y′′(x ) + y′′′(x ) + ! + y (x ) n! 2! 3! dır. x yerine başlangıç değeri x0 yazıldığında ve dördüncü mertebeden türevli terimden sonrası ihmal edildiğinde, h2 h3 h 4 ( 4) y (x0 + h ) = y ( x1 ) ≅ y ( x0 ) + h y′(x0 ) + y′′(x0 ) + y′′′(x0 ) + y (x0 ) 2! 3! 4! denklem x1 için yazıldığında, Doç.Dr. Nurettin UMURKAN Nümerik Analiz 54 / 59 h2 h3 h 4 ( 4) y (x1 + h ) = y ( x2 ) ≅ y ( x1 ) + h y′(x1 ) + y′′(x1 ) + y′′′(x1 ) + y (x1 ) 2! 3! 4! elde edilir. En genel halde xi için yazılırsa, h2 h3 h 4 ( 4) y (xi + h ) = y ( xi +1 ) ≅ y ( xi ) + h y′(xi ) + y′′(xi ) + y′′′(xi ) + y (xi ) 2! 3! 4! şeklinde elde edilir. ÖRNEK: dy = x y1 3 şeklinde verilen diferansiyel denklemi başlangıç dx koşulları x0 = 1 ve y(x1) = 1 olduğuna göre h=0.1 alarak y(1.1) değerini hesaplayınız. Fonksiyonun türevleri, y′(x ) = x y1 3 1 y′′(x ) = x 2 y −1 3 + y1 3 3 1 y′′′(x ) = − x3 y −1 + x y −1 3 9 1 2 y ( 4) (x ) = x 4 y − 5 3 − x 2 y −1 + y −1 3 9 3 olarak elde edilir. y (1.1) = 1 + 0.1 + 2 (0.1)2 + 4 (0.1)3 + 1 (0.1)4 = 1.10682 3 27 54 ! ! ! ! "# $ $ $ $ Nümerik Analiz Doç.Dr. Nurettin UMURKAN 55 / 59 Euler Yöntemi y′( x) = dy = f ( x, y ) diferansiyel denkleminin çözümü y=y(x) dx olsun, y=y(x) çözümüne ilişkin başlangıç koşulları x=x0 için y(x0)=y0 olarak verildiğine göre y′( x0 ) = f ( x0 , y0 ) olur ve Taylor Serisinin ilk iki teriminin kullanılmasıyla y(x0+h) için bir yaklaşık değer bulunabilir. y ( x0 + h) = y0 + h y′( x0 ) y ( x0 + h) = y ( x1 ) = y1 y1 = y0 + h f ( x0 , y0 ) olarak elde edilir. Benzer şekilde, y ( x0 + 2h) = y ( x2 ) = y2 y2 = y1 + h f ( x1, y1 ) en genel hal için, n=0, 1, 2, . . . yn+1 = yn + h f ( xn , yn ) olarak tanımlanır. Doç.Dr. Nurettin UMURKAN Nümerik Analiz 56 / 59 ÖRNEK: y′ = − y diferansiyel denkleminin başlangıç değeri y(0)=1 olarak verildiğine göre h=0.01 için y(0.04) değerini hesaplayınız. y(0.01)=1+0.01(-1)=0.99 y(0.02)=0.99+0.01(-0.99)=0.9801 y(0.03)=0.9801+0.01(-0.9801)=0.9703 y(0.04)= 0.9703+0.01(-0.9703)=0.9606 Euler yöntemine ikinci bir yaklaşımda yamuk yöntemi uygulanarak elde edilen Düzenlenmiş Euler Formülüdür. Düzenlenmiş Euler Formülü y′( x) = dy = f ( x, y ) diferansiyel denkleminin çözümü y=y(x) dx olsun, y=y(x) çözümüne ilişkin başlangıç koşulları x=x0 için y(x0)=y0 olarak verildiğine göre, f(x,y) fonksiyonunun x’e göre integrali alındığında xi + 1 x i +1 xi + 1 dy x dx = ∫ dy = y xi +1 = y ( xi +1 ) − y ( xi ) ∫ f ( x, y )dx = ∫ i xi xi dx xi elde edilir. Buradan Nümerik Analiz Doç.Dr. Nurettin UMURKAN 57 / 59 xi +1 y ( xi +1 ) = ∫ f ( x, y ) dx + y ( xi ) xi buradaki integral ifadesine yamuk kuralı ile yaklaşım sağlandığında, y ( xi +1) = y1 = y0 + y1(i +1) = y0 + h [ f ( x0 , y0 ) + f ( x1, y1)] 2 [ h f ( x0 , y0 ) + f ( x1, y1(i ) ) 2 ] i=0, 1, 2, . . . Burada y1(i ) , y1için i’ nci yaklaşımdır. Yukarıdaki y1(i +1) iterasyon formülündeki y1(0) değeri başlagıç koşulları için Euler formülünden hesaplanır. y1( 0) = y0 + h f ( x0 , y0 ) ÖRNEK: y′ = x 2 + y diferansiyel denkleminin başlangıç değeri y(0)=1 olarak verildiğine göre h=0.05 için y(0.1) değerini hesaplayınız. x0 = 0 ve y0 = 1.0 f(x0, y0)=1.0 alınır, önce y(0.05) bulunur, ikinci iterasyonda y(0.1)değeri hesaplanır. Euler formülünden y1( 0) = y0 + h f ( x0 , y0 ) Nümerik Analiz Doç.Dr. Nurettin UMURKAN 58 / 59 y1(0) = 1 + 0.05 (1) = 1.05 Bir sonraki adımda f ( x1, y1(0) ) verilen diferansiyel denklemden hesaplanır. f ( x1 , y1(0) ) = x 2 + y = 0.05 2 + 1.05 = 1.0525 Bulunan değerler Düzenlenmiş Euler Formülünde yerine yazılırsa y(0.05) değeri, [ ] h f ( x0 , y0 ) + f ( x1 , y1(0) ) 2 0.05 [1 + 1.0525] = 1.0513125 = 1+ 2 olarak hesaplanır. y(0.1) değerinin hesaplanması için işlemler ikinci iterasyon için tekrarlanır. y1(1) = y0 + Euler formülünden [ ] y2(1) = y1(1) + h y ′ = 1.0513125 + 0.05 0.052 + 1.0513125 y 2(1) = 1.1040 Bir sonraki adımda f ( x2 , y 2(1) ) verilen diferansiyel denklemden hesaplanır. f ( x2 , y 2(1) ) = x 2 + y = 0.12 + 1.1040 = 1.114 Bulunan değerler Düzenlenmiş Euler Formülünde yerine yazılırsa y(0.1) değeri, Nümerik Analiz Doç.Dr. Nurettin UMURKAN [ ] h y ′( x2 ) + y ( x2 (1) ) 2 0.05 [1.114 + 1.1040] = 1.05545 = 1+ 2 y 2( 2) = y0 + olarak hesaplanır. 59 / 59