Professional Documents
Culture Documents
02 - Eğri Uydurma Ve Interpolasyon
02 - Eğri Uydurma Ve Interpolasyon
2.1- Giriş
BÖLÜM 2
2.1 Giriş
x
x0 x1 xj-1 xj x xj+1 xN-1 xN
İnterpolasyon yöntemleri genellikle mevcut (xi , fi) veri noktalarına eğri veya eğriler
uydurulması yoluyla uygulanır. Bu amaçla kullanılan fonksiyonlara interpolasyon fonksiyonları
denir.
İnterpolasyon fonksiyonu olarak çoğu zaman çeşitli mertebeden polinomlar kullanılır. Ancak
bazı hallerde logaritmik, eksponansiyel, hiperbolik gibi daha özel fonksiyonlar, periyodik veri
değerleri için trigonometrik fonksiyonlar kullanılabilir.
Veri noktaları eşit aralıklı olarak dağılmışsa sonlu fark esaslı interpolasyon yöntemleri, eşit
aralıklı değilse doğrusal interpolasyon, Lagrange interpolasyonu vb yöntemler daha uygun olur.
Bu bölümde eğri uydurma ve interpolasyon için kullanılan teknikler genel olarak tanıtılacaktır.
Düzlemde N+1 adet noktadan N ‘inci dereceden bir polinom geçirmek mümkündür. Örneğin
f ( x ) = a0 + a1x + a2 x 2 + a3x 3
şeklinde üçüncü dereceden bir polinom (kübik) geçirmek mümkündür. Herbir noktanın
koordinatları bu denklemi sağlayacağı için
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-2
şeklinde dört denklem elde edilir. Bu lineer denklem takımı matris formda
şeklindedir. Buna göre örneğin x=3.0 noktasındaki ara değer için y=20.212 elde edilir. Veri
değerlerinin ilk dördü yerine son dördünün kullanılması halinde aynı noktadaki ara değer
muhtemelen bir miktar farklı elde edilecektir.
Doğrusal interpolasyon
Bir grup noktadan bir polinom geçirerek interpolasyon yapmak için yukarıda olduğu gibi bir
lineer denklem takımı çözmek yerine, elde edilen formülleri, uygun düzenlemeler yaparak
doğrudan interpolasyon yapmaya uygun bir biçime sokmak mümkündür.
f 0 = a 0 + a 1 x0
f 1 = a0 + a 1 x1
x0 x f1 x
gibi iki denklem elde edilir. Bu denklem sistemi
çözülerek katsayılar için
f 0 x1 − f 1 x 0 f1 − f0
a0 = ; a1 =
x1 − x 0 x1 − x0
f 0 x1 − f 1 x0 f 1 − f 0
f ( x) = + x
x1 − x0 x1 − x 0
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-3
x − x1 x − x0
f ( x) = L0 f 0 + L1 f 1 L0 = ; L1 =
x 0 − x1 x1 − x0
şeklinde de yazılabilir.
y
Lagrange polinomları f2
f1 f(x)
Şayet (x0,f0), (x1,f1) ve (x2,f2) gibi üç noktadan
f ( x ) = a0 + a1x + a2 x 2 f0
f 0 = a0 + a1 x0 + a 2 x02 x0 x1 x2 x
f 1 = a0 + a 1 x1 + a 2 x12
f 2 = a0 + a1 x 2 + a 2 x 22
a0 =
( ) ( ) (
f 0 x1 x 22 − x 2 x12 + f 1 x 2 x02 − x0 x 22 + f 2 x0 x12 − x1 x02 )
(x0 − x1 )(x0 − x2 )(x2 − x1 )
a1 =
( ) ( ) (
f 0 x12 − x 22 + f 1 x 22 − x02 + f 2 x02 − x12 )
(x0 − x1 )(x0 − x2 )(x2 − x1 )
f 0 ( x 2 − x 0 ) + f 1 ( x 0 − x 2 ) + f 2 ( x1 − x0 )
a2 =
(x0 − x1 )(x0 − x2 )(x2 − x1 )
olarak bulunur. Bu durumda parabol denklemi f0, f1 ve f2 için düzenlenerek yine
f ( x) = L0 f 0 + L1 f 1 + L2 f 2
N
f ( x ) = ∑ Lk f k
k =0
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-4
şeklinde yazılabilir.
Örnek:
Bir f(x) fonksiyonunun x=0,1,2 noktalarındaki değerleri sırasıyla f=1,2,4 olarak verilmiş olsun.
N=2 alınması halinde Lagrange fonksiyonları
L0 =
(x − 1)(x − 2 ) ; L1 =
(x − 0 )(x − 2 ) ; L2 =
(x − 0 )(x − 1)
(0 − 1)(0 − 2 ) (1 − 0 )(1 − 2 ) (2 − 0 )(2 − 1)
olarak hesaplanabilir. Bu durumda interpolasyon fonksiyonu
f (x) =
(x − 1)(x − 2 ) × 1 + (x − 0 )(x − 2 ) × 2 + (x − 0 )(x − 1) × 4
2 (− 1) 2
1 2 1
f (x) = x + x +1
2 2
f ( x ) = a0 + a1x + a2 x 2
1 = a0 + a10 + a2 0
2 = a0 + a11 + a2 1
4 = a0 + a1 2 + a2 4
Uyarı
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-5
Neville yöntemi Lagrange yönteminin kapalı formda farklı bir uygulaması olup, Lagrange
yönteminin zaaflarını gidermesi beklenen bir yöntemdir.
Yöntemin iyi anlaşılabilmesi için bir örnek olmak üzere (x0, x1, x2) gibi üç veri noktasında bir
fonksiyonun değerlerinin sırasıyla (f0, f1, f2) olarak verildiğini varsayalım.
Şayet ilk iki nokta arasında doğrusal interpolasyon yapılırsa Lagrange formülü
x − x1 x − x0
f ( x) = f0 + f1
x0 − x1 x1 − x0
şeklinde yazılabilir. Doğrusal interpolasyon son iki nokta arasında yapılırsa Lagrange formülü
için bu kez
x − x2 x − x1
f ( x) = f1 + f2
x1 − x 2 x 2 − x1
elde edilir.
Üç nokta arasından parabolik bir eğri geçirilerek interpolasyon yapılırsa Lagrange formülü
f ( x) =
(x − x1 )(x − x2 ) f + (x − x0 )(x − x2 ) f + (x − x0 )(x − x1 ) f
(x0 − x1 )(x0 − x2 ) 0 (x1 − x0 )(x1 − x2 ) 1 (x2 − x0 )(x2 − x1 ) 2
şeklinde yazılabilir. Bu formüldeki ikinci terimin katsayısı
( x − x0 )( x − x2 ) = ( x − x0 )( x − x2 ) ⋅ ( x0 − x2 ) = ( x − x0 )( x − x2 ) ⋅ ( x0 − x2 )
( x1 − x0 )( x1 − x2 ) ( x1 − x0 )( x1 − x2 ) ( x0 − x2 ) ( x0 − x2 ) ( x1 − x0 )( x1 − x2 )
=
( x − x0 )( x − x2 ) ⋅ 1 − 1
( x0 − x2 ) ( x1 − x0 ) ( x1 − x2 )
=
( x − x0 )( x − x2 ) + ( x − x0 )( x − x2 )
( x0 − x2 )( x1 − x0 ) ( x2 − x0 )( x1 − x2 )
şeklinde düzenlenerek Lagrange formülü
f ( x) =
(x − x1 )(x − x 2 ) f + (x − x0 )(x − x2 ) f + (x − x0 )(x − x2 ) f + (x − x0 )(x − x1 ) f
(x0 − x1 )(x0 − x2 ) 0 (x0 − x2 )(x1 − x0 ) 1 (x2 − x0 )(x1 − x2 ) 1 (x2 − x0 )(x2 − x1 ) 2
şekline getirilebilir. Bu formülü
f ( x) =
( x − x 2 ) ( x − x 1 ) f + ( x − x0 ) f + ( x − x 0 ) ( x − x 2 ) f + ( x − x 1 ) f
(x0 − x2 ) (x0 − x1 ) 0 (x1 − x0 ) 1 (x2 − x0 ) (x1 − x 2 ) 1 (x2 − x1 ) 2
şeklinde düzenlemek mümkündür. Burada köşeli parantezlerin içinde yer alan terimlerin daha
önceki doğrusal interpolasyonla bulunan değerler olduğu dikkati çekmektedir. Buna göre:
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-6
x − x1 x − x0 x − x2 x − x1
P01 = P00 + P10 P11 = P10 + P20
x0 − x 1 x1 − x0 x1 − x 2 x2 − x1
şeklinde yeniden isimlendirilirse parabolik yaklaşım sonucu elde edilen son formül de kısaca
P02 =
( x − x 2 ) P + ( x − x0 ) P
(x0 − x2 ) 01 (x2 − x0 ) 11
şeklinde düzenlenebilir. Bu ifade, açıkça görüldüğü gibi ilk doğrusal interpolasyonlarla bulunan
değerler arasında yapılmış yeni bir doğrusal interpolasyondan ibarettir.
Sonuç olarak, Neville yönteminin esasını doğrusal interpolasyon için yazılmış Lagrange formülü
teşkil etmektedir. Lagrange polinomunun derecesini arttırmak için bir önceki derecede
bulunmuş interpolasyon değerleri arasında yeni bir doğrusal interpolasyon yapılmaktadır.
Örnek: x f(x)
10.1 0.17537
Yandaki veri noktaları yardımıyla 22.2 0.37784
x=27.5 noktasındaki interpolasyon
32.0 0.52992
değeri bulunmak istensin.
41.6 0.66393
50.5 0.63608
i x-xi xi f(x)
0 4.5 32.0 0.52992
1 5.3 22.2 0.37784
2 14.1 41.6 0.66393
3 17.4 10.1 0.17537
4 23.0 50.5 0.63608
Yukarıda izah edildiği gibi ardışık doğrusal interpolasyonlar uygulayarak aşağıdaki gibi bir tablo
elde etmek mümkündür:
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-7
Nitekim, aslında bu örnekte verilen değerler derece cinsinden açılara karşılık sinüs
fonksiyonunun değerleri olup interpolasyon noktası olan x=27.5 açısında sinüs fonksiyonunun
gerçek değeri de sin(27.5°)=0.46175 dir.
- Data setinde bir nokta ilavesi veya çıkartılması halinde bütün hesapların baştan
yenilenmesi gerekmektedir.
şeklinde bir data seti verilmiş olsun. N ‘inci dereceden bir polinomun özel olarak
f1 − f0 f 2 − f1 f3 − f2
f [ x0 , x 1 ] = , f [ x1 , x 2 ] = , f [ x 2 , x3 ] = , …
x1 − x 0 x 2 − x1 x3 − x 2
f [ x1 , x 2 ] − f [ x0 , x1 ]
Örneğin: f [ x0 , x 1 , x 2 ] =
x 2 − x0
f [ x1 , x 2 ,..., x N ] − f [ x0 , x1 ,..., x N −1 ]
f [ x0 , x1 ,..., x N ] =
x N − x0
Buna göre örnek bir bölünmüş fark tablosunu sembolik olarak aşağıdaki gibi oluşturabiliriz:
________________________________________________________________________
xi fi f[xi,xi+1] f[xi,xi+1,xi+2] f[xi,xi+1,xi+2,xi+3]
________________________________________________________________________
Şayet örnek sayısal değerler kullanılırsa aşağıdaki gibi bir tablo elde edilebilir:
________________________________________________________________________
xi fi f[xi,xi+1] f[xi,…,xi+2] f[xi,…,xi+3] f[xi,…,xi+3]
________________________________________________________________________
3.2 22.0 8.400 2.856 -0.528 0.256
2.7 17.8 2.118 2.012 0.0865
1.0 14.2 6.342 2.263
4.8 38.3 16.750
5.6 51.7
________________________________________________________________________
x = x0 → PN ( x0 ) = f 0 = a0
x = x1 → PN ( x1 ) = f 1 = a0 + (x1 − x0 ) a1
x = x2 → PN ( x 2 ) = f 2 = a0 + (x 2 − x0 ) a1 + (x 2 − x0 )(x 2 − x1 ) a 2
"
x = xN → PN ( x N ) = f N = a0 + (x N − x0 ) a1 + ... + (x N − x0 )(x N − x1 )... (x N − x N ) a N
a0 = f0 = f [x0 ]
f1 − f0
f 1 = a0 + (x1 − x0 ) a1 → f 1 = f 0 + (x1 − x0 ) a1 → a1 = = f [x0 , x1 ]
x1 − x0
f1 − f0
f 2 = f 0 + (x 2 − x0 ) + (x 2 − x0 )(x 2 − x1 ) a 2
x1 − x0
f1 − f0
f 2 − f 0 − (x 2 − x0 )
x1 − x0 ( f 2 − f 0 )(x1 − x0 ) − (x 2 − x0 )( f 1 − f 0 )
a2 = =
(x 2 − x0 )(x 2 − x1 ) (x 2 − x0 )(x 2 − x1 )(x1 − x0 )
( f2 − f 1 + f 1 − f 0 )(x1 − x0 ) − (x 2 − x1 + x1 − x0 )( f 1 − f 0 )
a2 =
(x 2 − x0 )(x 2 − x1 )(x1 − x0 )
( f 2 − f 1 )(x1 − x0 ) + ( f 1 − f 0 )(x1 − x0 ) − (x 2 − x1 )( f 1 − f 0 ) − (x1 − x0 )( f 1 − f 0 )
a2 =
(x 2 − x0 )(x 2 − x1 )(x1 − x0 )
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-9
f 2 − f1 f − f0
− 1
( f − f 1 )(x1 − x0 ) − (x 2 − x1 )( f 1 − f 0 ) x 2 − x1 x1 − x0 f [ x1 , x 2 ] − f [ x0 , x1 ]
a2 = 2 = =
(x 2 − x0 )(x 2 − x1 )(x1 − x0 ) x 2 − x0 x 2 − x0
a 2 = f [ x0 , x1 , x 2 ]
olduğu görülür.
a i = f [ x0 , x1 , x 2 ,..., x i ]
olduğunu göstermek mümkündür. Yani polinomun katsayıları bölünmüş fark değerlerine eşittir.
Örnek olmak üzere yukarıdaki sayısal bölünmüş fark tablosu kullanılırsa üçümcü dereceden bir
polinom
PN ( x) = 22.0 + 8.400 (x − 3.2 ) + 2.856 (x − 3.2 )(x − 2.7 ) − 0.528 (x − 3.2 )(x − 2.7 )(x − 1.0 )
şeklinde elde edilir. x=3 noktası için bu polinom yardımıyla interpolasyon yapılırsa
PN (3.0 ) = 20.2120
Not: Aynı verilerle aynı nokta için interpolasyon Lagrange yöntemiyle veya Neville yöntemiyle
yapılmış olsaydı yine aynı sonuç elde edilirdi. Bu durum şaşırtıcı değildir. Zira kullanılan
polinomlar aslında aynı olmakla birlikte yöntemler arasında sadece uygulama farklılığı söz
konusudur.
Bölünmüş farklar yöntemi ile genel bir uygulama yaparken yukarıdaki formülasyonun biraz
daha değiştirilerek organize edilmesinde yarar vardır. Bu amaçla n adet noktadan oluşan
şeklindeki bir veri seti içerisinden bir x noktasını içine alan m+1 adet noktayı dikkate alalım.
Pm ( x) = a0 + ( x − xi ) a1 + ( x − xi )( x − xi +1 ) a2 + ... + ( x − xi )( x − xi +1 ) ... ( x − xi + m ) am
k
m
Pm ( x) = a0 + ∑ ( x − xi + j ) ak
k =1 j =0
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-10
şeklinde düzenlendiği taktirde buradaki ak katsayılarının bölünmüş farklara eşit olacağı önceki
paragrafta gösterilmiştir. Buna göre fonksiyon
m k
Pm ( x) = a0 + ∑ ( x − xi + j ) fik [ xi , xi +1 , xi + 2 ,..., xi + k ]
k =1 j =0
şeklinde yazılabilir. Burada fik büyüklüğü bölünmüş farkı belirtmekte olup, k indisi bölünmüş
farkın hangi mertebeden olduğunu, i indisi ise bölünmüş farkların hangi veri noktasından
itibaren hesaplanmış olduğunu ifade etmektedir.
Uygulamada interpolasyon polinomunun derecesi en fazla veri setindeki nokta sayısından bir
küçük (m=n) olabilir.
m < n olmak üzere yapılan bir uygulama sırasında x interpolasyon noktasının normal olarak
xi < x < xi+m arasında olması gerekir. Ancak interpolasyon için kullanılacak noktaların mümkün
mertebe interpolasyon noktası noktaların orta bölgesinde kalacak biçimde seçilmesi uygun olur.
Ancak bir veri setinin başlangıç ve bitim bölgelerinde buna imkan yoktur. Bu bakımdan baştan
itibaren ileriye veya sondan itibaren geriye doğru yeteri sayıda noktanın, x interpolasyon
noktası arada olacak biçimde seçilmesi yeterli olur.
Örnek olmak üzere şekildeki 6 noktalı veri setinde kübik bir polinomla yapılacak
interpolasyonlar için interpolasyonda kullanılacak noktaların veri setinin başlangıç bölgesinde
nasıl seçilebileceği hakkında fikir verilmektedir.
f0 f4 f5 f0 f4 f5
f1 f3 f1 f3
f2 f2
x 0 x x1 x2 x3 x4 x5 x0 x1 x x2 x3 x4 x5
f0 f4 f5 f0 f4 f5
f1 f3 f1 f3
f2 f2
x0 x1 x2 x x3 x4 x5 x0 x1 x2 x 3 x x 4 x x5
Buna göre x0 ile x1 ve x1 ile x2 noktaları arasındaki bütün noktalarda yapılacak interpolasyonlar
için ilk dört noktanın alınması mümkün iken, x2 ve x3 noktaları arasındaki bölgede yapılacak
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-11
interpolasyonlar için bu noktaların solunda ve sağında yer alan daha yakın noktaların, yani x1,
x2, x3 ve x4 noktalarının alınması daha uygun olur. x3 ve x4 noktaları ile x4 ve x5 noktaları
arasındaki interpolasyonlar için de son dört noktanın alınması uygun olacaktır.Bu durumda
çeşitli bölgelerdeki interpolasyon formülleri de
x3 < x < x5 → P3 ( x) = f 20 + ( x − x2 ) f 21 + ( x − x2 )( x − x3 ) f 22 + ( x − x2 )( x − x3 )( x − x4 ) f 23
şeklinde uygulanacaktır.
Örnek:
Aşağıda sinx fonksiyonunun 0-180 derece arasında verilmiş 5 değerinden yararlanılarak ara
noktalarda birinci, ikinci ve üçüncü derece polinomlarla interpolasyon yapılmıştır.
pi = 3.141593 n= 5 dq = 0.628319
Veri noktaları Bölünmüş farklar İnterpolasyon
1.2
1.0
0.8
0.6
0.4
0.2
0.0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
Veri noktalarının
x1 − x0 = x 2 − x1 = " = xi +1 − xi = " = x N − x N −1 = h
şeklinde eşit aralıklı olması halinde polinom formülleri daha basit hale gelir. Lagrange formülleri
basitleştiği gibi bölünmüş farklar yerine de basit farklar kullanılır.
Lagrange formülleri:
N N x − xj
f ( x ) = ∑ Lk f k ; Lk = ∏
k =0 j =0 xk − x j
j ≠k
x − x0
s=
h
x1 − x0 = h → x 1 = x0 + h
x 2 − x1 = h → x 2 = x0 + 2 h
"
x j − x j −1 = h → x j = x0 + jh
"
x k − x k −1 = h → x k = x0 + kh
"
x N − x N −1 = h → x N = x0 + Nh
x − x0
x − x j = x − (x0 + jh ) x − xj x − x0 − jh h
−j
s− j
= = =
x k − x j = (x0 + kh ) − (x0 + jh ) = (k − j )h xk − x j (k − j )h k− j k− j
N N
s− j
f ( x ) = ∑ Lk f k ; Lk ( x ) = ∏
k =0 j =0 k− j
j ≠k
şeklini alır.
Basit farklar:
n (n − 1)
( )
∆n f i = ∆ ∆n −1 f i +1 − ∆n −1 f i = f i + n − n f i + n −1 +
2!
f i +n−2 − " ± f i ; (i = 0,1,..., N − n )
şeklinde elde edilir. Böylece n ‘inci dereceden bir interpolasyon formülü bu basit farklar
cinsinden
s (s − 1) 2 s (s − 1)(s − 2 ) 3 s (s − 1)" (s − n + 1) n
Pn (xs ) = f0 + s ∆f0 + ∆ f0 + ∆ f0 + " + ∆ f0
2! 3! n!
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-13
x − x0
s= ; h = ∆x
h
[x 0 , f 0 ], [x 1 , f 1 ], ."" , [x i , x i +1 ], ."" , [x N , f N ]
veri dağılımına birçok noktadan geçen polinomlar uydurmak yerine herbir [xj,xj+1] aralığından
üçüncü dereceden bir polinom geçirilir. Polinomun ve 1. ve 2. türevlerinin xj ve xj+1
noktalarında sürekli olduğu kabul edilir. Yalnız, ileride de belirtileceği gibi x0 ve xN uç
noktalarında özel uç şartları kullanılır.
f0 f1 f2 fi-1 fi fi+1
fN-2 fN-1 fN
g i ( x ) = a 0 + a 1 (x − x i ) + a 2 (x − x i ) + a 3 ( x − x i )
2 3
′
g i ( x ) = a 1 + 2 a 2 ( x − x i ) + 3a 3 ( x − x i )
2
″
g i (x ) = 2 a 2 + 6 a 3 (x − x i )
″
g i (x i ) = M i = 2a 2
″
g i (x i + 1 ) = M i + 1 = 2a 2 + 6 a 3 (x i + 1 − x i )
bağıntılarından
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-14
Mi M i +1 − M i
a2 = a3 =
2 6 hi
h i = x i +1 − x i
dir. Öte yandan kübik spline fonksiyonunun xi ve xi+1 uç noktalarında fi ve fi+1 değerlerini
alacağı düşünülürse
f i = a0
2 3
f i +1 = a 0 + a 1 h i + a 2 h i + a 3 h i
bağıntılarından da sırasıyla
a0 = f i
f i +1 − f i 2 M i + M i +1
a1 = − hi
hi 6
bulunur.
Böylece kübik fonksiyonların katsayıları bir tek Mi parametrelerine bağlanmış olmaktadır. Yani
Mi bilinmeyenleri bulunduğu taktirde kübik fonksiyonların katsayıları elde edilmiş olacaktır. Bu
amaçla kübik fonksiyonların birinci türevlerinin uç noktalarında sürekli olacağı koşulu dikkate
alınırsa
′ ′
g i −1 ( x i ) = g i ( x i )
′
g i −1 (x i ) = a 1i −1 + 2a 2 i −1 (x i − x i −1 ) + 3a 3 i −1 (x i − x i −1 )
2
2
= a 1i −1 + 2a 2 i −1 h i −1 + 3a 3 i −1 h i −1
′
g i (x i ) = a 1i
2
a 1 i −1 + 2 a 2 i − 1 h i −1 + 3 a 3 i −1 h i − 1 = a 1 i
ve katsayılar yerleştirilerek
f i − f i −1 2 M i −1 + M i M M − M i −1 f − f i 2 M i + M i +1
− h i − 1 + 2 i −1 h i −1 + 3 i h i −1 = i + 1 − hi
h i −1 6 2 6 hi 6
f − fi f − f i −1
h i −1 M i −1 + 2( h i −1 + h i ) M i + h i M i +1 = 6 i +1 − i
hi h i −1
elde edilir.
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-15
L i M i −1 + D i M i + U i M i + 1 = R i , ( i = 1,2,...N − 1 )
f − fi f − f i −1
L i = h i −1 ; D i = 2 ( h i −1 + h i ) ; U i = hi ; R i = 6 i +1 − i
hi h i −1
dir. Görüldüğü gibi, toplam N adet Mi bilinmeyenine karşılık sadece (N-2) denklem mevcut
olup, çözüm için ilave iki denkleme daha ihtiyaç vardır.
Uç noktalarında kübik eğrilerin birer doğruya dönüştükleri varsayılarak ikinci türevler için
M0 = 0
MN =0
Uç noktalarında eğrilerin eğimleri başka bir yolla belirlenip empoze edilebilir. Şayet sol ve sağ
uçlarda eğimler sırasıyla A ve B ise kübik spline fonksiyonunun 1. türevi için bulunan
h ( x − x )2 ( x − x i )2 h i f − fi
S i′( x ) = i − i +1 ⋅ M i + − ⋅ M i +1 + i + 1
6 2h i 2h i 6 hi
bağıntısından
f − f0
2h 0 M 0 + h 0 M 1 = 6 1 − A
h0
f − f N −1
h N −1 M N −1 + 2h N −1 M N = 6 B − N
h N −1
Uç noktalarında kübik eğrilerin birer parabole dönüştükleri varsayılarak ikinci türevler için
M0 = M1
M N = M N −1
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-16
(h 0 + h 1 )M 1 − f0 M 2
M0 =
h1
(h N − 2 + h N −1 )M N −1 + h N −1 M N − 2
MN =
h N −2
M i M i +1
S i′′′( x ) = − +
hi hi
S0′′′( x1 ) = S1′′′( x1 )
S N′′′− 2 ( xN −1 ) = S N′′′−1 ( xN −1 )
h h
M 0 − 1 + 0 M 1 + 0 M 2 = 0
h1 h1
h N −1 h
M N − 2 − 1 + N −1 M N −1 + M N = 0
h N −2 h N −2
Nokta dağılımının periyodik olması halinde ise birinci kübikle sonuncu kübiğin uç noktalarındaki
2h 0 h f − f0
S 0′ ( x 0 ) = − M0 − 0 M1 + 1
6 6 h0
h N −1 2h f − f N −1
S ′N −1 ( x N ) = M N −1 + i M N + N
6 6 h N −1
birinci türevleri
S ′N −1 ( x 0 ) = S ′N −1 ( x N )
şeklinde eşitlenerek
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-17
2h 0 h h 2h f − f0 f − f N −1
M 0 + 0 M 1 + N −1 M N −1 + i M N = 1 − N
6 6 6 6 h0 h N −1
ilave denklemi ve ayrıca yine birinci kübikle sonuncu kübiğin uç noktalarındaki ikinci türevleri
eşitlenerek
M 1 =M N
Yukarıdaki ilave denklemlerinde kullanılmasıyla elde edilen denklem sistemi Mi ler için
çözüldükten sonra istenilen herhangi bir x noktasındaki interpolasyon için en başta yazılan
g i ( x ) = a 0 + a 1 (x − x i ) + a 2 (x − x i ) + a 3 ( x − x i )
2 3
kübik spline fonksiyonları kullanılır. Buradaki kübik spline katsayıları daha önce de belirtildiği
gibi
a 0i = f i
f i +1 − f i 2 M i + M i +1
a 1i = − hi
hi 6
Mi
a 2i =
2
M i +1 − M i
a 3i =
6 hi
Kübik spline yakınlaşımı, uç noktalarında birinci türevlerin daha önceden bir başka yolla
bulunması halinde daha kolay bir probleme dönüşür ve “kısmi kübik spline yakınlaşımı” adını
alır.
T0 T1 T2 Ti-1 Ti Ti+1
f0 f1 f2 fi-1 fi fi+1 TN-2 TN-1 TN
fN-2 fN-1 fN
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-18
Herhangi bir [xi, xi+1] aralığında bir kübik spline ve 1. türevi sırasıyla
g i ( x ) = a 0 i + a 1i (x − x i ) + a 2 i (x − x i ) + a 3 i ( x − x i )
2 3
′
g i ( x ) = a 1 i + 2 a 2 i ( x − x i ) + 3a 3 i ( x − x i )
2
fi = a 0i
2 3
f i + 1 = a 0 i + a 1i h i + a 2 i h i + a 3 i h i
; i = 0,2,..., N − 1
T i = a 1i
2
T i + 1 = a 1 i + 2 a 2 i h i + 3a 3 i h i
a 0i = f i
a 1i = T i
f i +1 − f i
2T i + T i +1
a 2i = 3 2
− ; i = 1,2,..., N
hi hi
f − f T +T
a 3i = −2 i +1 3 i + i 2 i +1
hi hi
Bir çok mühendislik probleminde bir yüzey üzerinde interpolasyon yapma zorunluluğu doğar.
z = f (x , y ) = a 0 + a 1 x + a 2 y + a 3 x 2 + a 4 xy + a 5 y 2 + a 6 x 3 + a 7 x 2 y + a 8 xy 2 + a 9 x 3 y
+ a 10 x 2 y 2 + a 11 x 3 y 2
şeklindedir. Böyle bir fonksiyon bir yüzey tanımlar. Bazan bağımsız değişken sayısı, örneğin
zaman değişkeninin ilavesiyle daha fazla olabilir ve fonksiyon daha da karmaşıklaşabilir. Bu
durumda karmaşıklıktan kurtulmak içinher bir değişken ayrı ayrı ele alınabilir.
z y = sb = b 0 + b 1 x + b 2 x 2 + b 3 x 3
şekline gelir. Buradan, değişkenlerden birini sabit (örneğin y=y1) alarak (x,y)=(a,b) gibi bir
noktada z için interpolasyon yapılabileceği anlaşılmaktadır. Bu interpolasyon için daha önce
izah edilen herhangi bir teknik kullanılabilir. Bu işlem y nin y2, y3,..., yn gibi başka değerleri için
de tekrar edilerek z için x=a da bir tablo elde edilebilir. Bu tablodan da y=b için interpolasyon
yapılabilir.
Örnek
Aşağıdaki tablo yardımıyla (x=1.6 ; y=0.33) noktasında f değerini tahmin ediniz. Bunun için x
yönünde kuadratik, y yönünde kübik interpolasyon kullanınız.
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-19
y doğrultusunda ise kübik interpolasyon önerildiği için 4 noktaya ihtiyaç vardır. Buna göre
y=0.33 noktasına en yakın olan y=0.2, y=0.3, y=0.4 ve y=0.5 noktalarının alınması uygundur.
İnterpolasyon iki aşamada gerçekleştirilecek olup ilk aşamada x veya y doğrultulardan bir sabit
tutulup diğeri için interpolasyon yapılacak, ikinci aşamada ise interpolasyonla bulunan bu
değerler arasında diğer yönde interpolasyon yapılacaktır. Önce hangi doğrultudaki değerin
sabit tutulacağı hususunun, yuvarlatma hataları dışında önemi yoktur.
Buradaki uygulamada önce sabit x değerleri için interpolasyon yapılacaktır. x ‘in sabit üç farklı
değeri için basit fark tabloları aşağıdadır:
y z ∆z ∆²z ∆³z
0.2 0.640 0.363 -0.007 -0.005
0.3 1.003 0.356 -0.012
x=1.0
0.4 1.359 0.344
0.5 1.703
0.2 0.990 0.534 -0.013 -0.004
0.3 1.524 0.521 -0.017
x=1.5
0.4 2.045 0.504
0.5 2.549
0.2 1.568 0.816 -0.023 -0.004
0.3 2.384 0.793 -0.027
x=2.0
0.4 3.177 0.766
0.5 3.943
Bu tabloda noktalar eşit aralıklı dağıldığı için Newton-Gregory ileri fark polinomları kullanılmış
olup, her bir x değerinde y=0.33 noktası için yapılan interpolasyonlar sonucu elde edilen
sonuçlar ve bunlar kullanılarak y doğrultusunda elde edilen basit farklar aşağıdaki tabloda yer
almaktadır.
X z ∆z ∆²z
1.0 1.1108 0.5710 0.3717
y=0.33 1.5 1.6818 0.9427
2.0 2.6245
Aslında bu örnek problemde incelenen veri f(x,y) = ex siny + y - 0.1 fonksiyonuna ait olup
interpolasyon noktasındaki gerçek değer f(1.6 , 0.33) = 1.8350 dir. Buna göre interpolasyonda
yapılan hata 0.0056 mertebesindedir. Hatanın bu kadar büyük olmasının nedeni x yönünde
kuadratik interpolasyonun yeterli olmayışıdır. Bu husus ikinci dereceden farkların büyük
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-20
Buraya kadar izah edilen yöntemler daha ziyade düzgün dağılımlı veriler için uygundur. Oysa
özellikle deneysel çalışmalardan üretilen verilerde çoğu zaman hatalar mevcut olup, bu hatalı
verilere önceki yöntemlerin uygulanması halinde çalkantılar ortaya çıkar.
Bu bölümde hata içeren verilere eğri uydurulması için daha uygun bir yöntem olan en küçük
kareler yöntemi üzerinde durulacaktır.
Yöntemi tanıtmak için basit bir örneği ele alalım. Bir deneysel çalışma sırasında bir telin
sıcaklığı ile direnci farklı öğrenciler tarafından ölçülerek aşağıdaki tabloda verilen değerler elde
edilmiştir.
1050
T (°C) R (Ohm) 1000
950
20.5 765
R (Ohm)
Veri noktaları aynı zamanda grafik üzerinde de belirtilmiş olup, noktaların tam olmasa da
lineere yakın bir dağılıma sahip olduğu görülmektedir. Bu veri dağılımına en uygun doğrunun
uydurulması için en küçük kareler yöntemi kullanılacaktır.
Veri noktalarının doğrudan uzaklıkları hata olarak nitelendirilirse en uygun doğru, bu hataların
en küçük olduğu doğru olacaktır. Dolayısıyla bu problem bir “hatayı en küçüğe indirme
(minimization)” problemidir.
Şayet deneysel çalışmada sıcaklıkların doğru okunduğu varsayılırsa hataların sadece direnç
okumalarında yapılmış olduğu kabul edilebilir. Ancak bazı direnç değerleri gerçek değerden
büyük okunmuşken bazıları daha küçük okunmuştur. Bu durumda hataların bir kısmı pozitif
işaretli iken bazıları negatif işaretlidir. Şayet toplam hatayı bulmak için hatalar bu haliyle
toplanırsa negatif ve pozitif işaretli büyüklüklerin bir kısmı birbirini yokedeceğinden, toplam
hata olası gerekenden daha küçük bulunacaktır. Bu nedenle hataları toplamak yerine hataların
karelerini toplamak ve bulunan bu toplam hata değerini en küçük yapmaya çalışmak daha
doğru olur.
Şimdi
Buna göre
- Hatalar e k = y k − y (x k )
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-21
e k2 = [y k − y (x k )] = (y k − a 0 − a 1 x k )
2 2
- Hataların kareleri
∑ (y − a0 − a1x k )
2
- Hataların kareleri toplamı E = k
k =1
∂E N
= ∑ 2(y k − a 0 − a 1 x k )(− 1) = 0
∂a 0 k =1
∂E N
∂a 1
= ∑ 2(y
k =1
k − a 0 − a 1 x k )(− x k ) = 0
N
N
N ∑x a 0
k ∑ y k
N k =1
N ⋅ = N
k =1
∑ x k 2 a 1
k =1
∑
k =1
x k
∑ x k y k
k =1
N N N N
N =5; ∑ x k = 273.1 ;
k =1
∑ x k2 = 18607.27 ;
k =1
∑ y k = 4438 ;
k =1
∑x
k =1
k y k = 254932.5
a 0 = 702.2 ; a 1 = 3.395
şeklindedir.
Bu gibi durumlarda en küçük kareler yönteminin uygulanması zor olur. Bu bakımdan non-lineer
denklemlerin lineerleştirildikten sonra en küçük kareler yönteminin uygulanması daha doğru
olur.
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-22
ln y = ln a + b ln x , ln y = ln a + bx
Daha önceki polinomsal yakınlaşım uygulamalarında N adet noktadan n=N-1 inci dereceden bir
polinom geçirilebileceği hatırlatılarak bu ilkeye dayanan Lagrange polinomlarından ve
çeşitlemelerinde söz edilmişti. Ayrıca N-1 inci dereceden polinomun bütün veri noktalarından
geçtiği hatırlatılmıştı.
Veri setinin düzgün bir dağılıma sahip olmaması halinde bütün noktalardan geçen bir polinom
çalkantı gösterebilir. Veri setine daha düzgün bir eğri uydurulması istenirse polinomun daha
düşük dereceden olması gerekir.
Buna göre
n
yakınlaşım polinomu y = ∑ a j x j = a 0 + a1 x + a 2 x 2 + a 3 x 3 + " + a n x n
j =0
Bu tanımlamayla
n
hatalar ek = y k − ∑ a j xkj
j =0
2
n
hataların kareleri ek2 = y k − ∑ a j xkj
j =0
2
N n
kareler toplamı E = ∑ y k − ∑ a j xkj
k =1 j =0
olup, kareler toplamının en küçük değerini elde etmek için E toplamının ai (i=0,1,2,…,n)
paremetrelerine göre türevlerinin sıfır olması gerekmektedir:
∂E
[ ]
N n
= ∑ 2 yi − ∑ a j xkj ⋅ − xki = 0 ; i = 0,1,2,", n
∂ai k =1 j =0
Bu şekilde elde edilen n+1 adet lineer denklem eş-zamanlı olarak çözülerek aj katsayıları elde
edilebilir. Bunun için yukarıdaki denklem sistemi düzenlenerek
n
N
N
∑ ∑ a j xkj xki = ∑ xki y k ; i = 0,1,2,", n
j =0 k = 1 k =1
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-23
N N N N
n 0 N 0
N ∑ xk1 xk0 ∑ xk2 xk0 ∑ xk3 xk0 " ∑ k k
x x ∑ x k y k
N k =1
N
k =1
N
k =1
N
k =1
N
a0 kN=1
x0 x1
∑ k k ∑ xk1 xk1 ∑ xk2 xk1 ∑ xk3 xk1 " n 1
∑ xk xk a1 ∑ xk y k 1
kN=1 k =1 k =1 k =1 k =1
⋅ a = kN=1
n 2 2
N N N N
∑ x 0 x 2 ∑ xk1 xk2 ∑ xk2 xk2 ∑ xk3 xk2 " ∑ xk xk " ∑ xk y k 2
k =1 k k
"
k =1 k =1 k =1 k =1 k =1
" " " " " a n "
N N N N N N
∑ xk0 xkn xn y
∑ xk1 xkn ∑ xk2 xkn ∑ xk3 xkn " ∑ xkn xkn ∑ k k
k =1 k =1 k =1 k =1 k =1 k =1
veya
N N N N
N
N ∑ x k1 ∑ x k2 ∑ x k3 " ∑ x kn ∑yk
N k =1
N
k =1
N
k =1
N N
k =1
a 0 Nk =1
n +1
∑ x k1 ∑x ∑x ∑x ∑ a ∑ x k y k
2 3 4
" xk
k =1 1
k k k
k =1 k =1 k =1 k =1 k =1
N 2 N N N N ⋅ a 2 = N 2
∑ x k ∑x ∑x ∑x ∑ x kn + 2 ∑ x k y k
3 4 5
k k k "
k =1 k =1 k =1 k =1 k =1 " k =1
N" N
"
N
"
N
" "
N
" a
n N "
xn n +n
∑ k
k =1
∑x
k =1
n +1
k ∑xk =1
n +2
k ∑x
k =1
n +3
k " ∑
k =1
x k
∑ x kn y k
k =1
Örnek:
Aşağıdaki veri noktalarına en küçük kareler yaklaşımı ile kuadratik bir eğri uydurunuz
xk 0.050 0.110 0.150 0.310 0.460 0.520 0.700 0.740 0.820 0.980 1.171
yk 0.956 0.890 0.832 0.717 0.571 0.539 0.378 0.370 0.306 0.242 0.104
Çözüm
k xk yk xk ^ 2 xk ^ 3 xk ^ 4 xk . yk xk ^ 2 . yk y(x)
0 0.050 0.956 0.00250 0.00013 0.00001 0.04780 0.00239 0.94767 1.2
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları
Bölüm 2- Eğri uydurma ve interpolasyon 2-24
Not: Tabloda herbir sütunun altında toplamlar yer almaktadır. Bu toplamlara ilişkin satırın
altında lineer denklem takımının katsayılarına ve sağ taraf vektörüne, daha alt satırlarda da
lineer denklem takımının Cramer yöntemi ile çözümüne yer verilmiştir. Tablonun en sağ
sütununda en küçük kareler yöntemiyle elde edilen parabolik eğri üzerindeki noktaların
koordinatları yer almaktadır.
Grafik üzerinde dairelerle veri noktaları belirtilmiş olup dolu çizgi en küçük kareler yöntemiyle
elde edilen parabolik eğriyi temsil etmektedir.
----------------------------------------------------------------------------------------------------------------------------------
M.A. Yükselen, HM504 Uygulamalı Sayısal Yöntemler Ders Notları