İNTERPOLASYON İnterpolasyonda amaç x0, x1, x2, , xn noktaları

advertisement
İNTERPOLASYON
İnterpolasyonda amaç x0, x1, x2, ... , xn noktaları için verilen f0, f1, f2, ... , fn
ölçümlerinden yararlanarak xi - x1+1 arasındaki herhangi bir x için bir F(x) aradeğeri
bulmaktır. Bu bölümde bu amaçla geliştirilmiş yöntemleri görecek ve değerlendireceğiz.
1. Doğrusal İnterpolasyon
Verilen (a, f(a)), (b, f(b)) noktalarından yararlanarak a – b arasında herhangi bir x için
F(x) değeri, bu noktalar arasındaki değişimin doğrusal olduğu varsayılarak bulunabilir.
(a, f(a)), (b, f(b)) noktalarından geçen doğrunun denkleminin
F(x) = Ax + B olduğunu varsayalım. Doğru a, f(a)), (b, f(b)) noktalarından geçtiği için
F(a) = f(a), F(b) = f(b) olacaktır. Buradan haraketle
Aa + B = f(a)
Ab + B = f(b) olacaktır. Her iki nokta bilindiğinden bu noktalardan geçen doğru
denkleminin katasyıları A ve B bu durumda;
A=
f (b) − f (a)
b−a
B=
bf (a) − af (b)
b−a
Doğru denklemi ise;
F ( x) =
f (b) − f (a)
bf (a) − af (b)
olur.
x+
b−a
b−a
Verilen iki nokta arasındaki değişimin doğrusal olduğu varsayımı ile yapılan hatanın
üst sınırı;
R ( x) = F ( x) − f ( x) =
| ( x − a)( x − b) |
f ′′′(c) , a < c < b
2
ile verilir.
Eğer verilen noktalar arasında değişim gerçekten doğrusal ise f”(c) = 0 olur. Yani hata
yapılmamıştır, zira interpolasyon da doğrusaldır.
Örn: f(x) = ex fonksiyonun 0.2 ve 0.3 noktlarındaki değeri sırasıyla 1.22140 ve
1.34986’dır. Doğrusal interpolasyon yöntemiyle F(0.26) değerini bulunuz ve bu değerin bağıl
hatasını hesaplayınız.
F ( x) =
f (b) − f (a)
bf (a) − af (b)
x+
b−a
b−a
F ( x) =
1.34986 − 1.22140
0.3 *1.22410 − 0.2 * 1.34986
x+
0.3 − 0.2
0.3 − 0.2
F ( x) = 1.28460 x + 0.96448
F (0.26) = 1.28460 * 0.26 + 0.96448 = 1.29848
Bu değer üzerindeki bağıl hata;
εa =
| xt − x | | f (0.26) − F (0.26) | | e 0.26 − 1.29848 |
=
=
= 0.03735 = %3.735
xt
f (0.26)
e 0.26
2. Gregory-Newton İleri İnterpolasyon Yöntemi
r (r − 1) 2
r (r − 1)(r − 2) 3
Δ f 0 + ... + (r , n)Δn f 0
Δ f0 +
2!
3!
Burada (r,n); r’nin n’li kombinasyonlarının sayısını, Unf0 ise ileri sonlu farkları
göstermektedir.
F ( x) = f 0 + rΔf 0 +
Δf 0 = f 1 − f 0
Δ2 f 0 = Δf 1 − Δf 0
Δ3 f 0 = Δ2 f1 − Δ2 f 0
...
Δn f 0 = Δn −1 f 1 − Δn −1 f 0
r=
x − x0
h
h = x1 − x0 = x 2 − x1 = x3 − x 2 = ....
ve
‘dir.
Örn: Aşağıda verilen xi , fi değerlerini kullanarak Gregory-Newton ileri
insterpolasyon yöntemiyle herhangi bir x aradeğeri için F(x) fonksiyonunu ve bu
fonksiyondan yararlanarak F(0.5) değerini bulunuz.
i
0
xi
0
fi
1
1
1
2
Δ fi*
Δ2 fi**
Δ f0 = 1
Δ f1 = 2
2
2
* Δf 0 = f 1 − f 0 = 2 − 1 = 1
Δ2 f0 = 1
4
Δf 1 = f 2 − f 1 = 4 − 2 = 2
** Δ f 0 = Δf1 − Δf 0 = 2 − 1 = 1
2
h = x1 − x 0 = x 2 − x1 = 2 − 1 = 1 − 0 = 1
bulunur.
r=
x − x0 x − 0
=
=x
h
1
F ( x) = f 0 + rΔf 0 +
F (0.5) =
1
1
r (r − 1) 2
x( x − 1)
1 = x2 + x +1
Δ f 0 = 1 + x.1 +
2!
2!
2
2
1
1
0.5 2 + 0.5 + 1 = 1.375
2
2
2. Gregory-Newton Geri İnterpolasyon Yöntemi
r (r − 1) 2
r (r − 1)(r − 2) 3
∀ fn −
∀ f n + ... + (−1) n (r , n)∀ n f n
2!
3!
Burada (r,n); r’nin n’li kombinasyonlarının sayısını, Unf0 ise ileri sonlu farkları
göstermektedir.
F ( x) = f n − r∀f n +
∀f n = f n − f n −1
∀ 2 f n = ∀f n − ∀f n −1
∀ 3 f n = ∀ 2 f n − ∀ 2 f n −1
...
∀ n f n = ∀ n −1 f n − ∀ n −1 f n −1
r=
xn − x
h
h = x1 − x0 = x 2 − x1 = x3 − x 2 = ....
ve
‘dir.
Örn: Aşağıda verilen xi , fi değerlerini kullanarak Gregory-Newton geri
insterpolasyon yöntemiyle herhangi bir x aradeğeri için F(x) fonksiyonunu ve bu
fonksiyondan yararlanarak F(0.5) değerini bulunuz.
i
0
xi
0
fi
1
1
1
2
2
2
4
Vfi*
V2fi**
Vf1 = 1
Vf2 = 2
* ∀f1 = f 1 − f 0 = 2 − 1 = 1
V2f2 = 1
∀f 2 = f 2 − f1 = 4 − 2 = 2
** ∀ 2 f 2 = ∀f 2 − ∀f 1 = 2 − 1 = 1
h = x1 − x 0 = x 2 − x1 = 2 − 1 = 1 − 0 = 1
r=
x2 − x 2 − x
=
= 2−x
h
1
bulunur.
F ( x) = f 2 − r∀f 2 +
F (0.5) =
(2 − x)(2 − x − 1)
1
1
r (r − 1) 2
1 = x2 + x +1
∀ f 2 = 4 − (2 − x).2 +
2!
2!
2
2
1
1
0.5 2 + 0.5 + 1 = 1.375
2
2
3. Newton Kesirli Farklar İnterpolasyon Yöntemi
Aralarında eşit uzaklık bulunmayan noktalar için sonlu farklar yerine kesirli farklar
kullanılarak uygulanan interpolasyon yöntemidir. Aşağıdaki formüller kullanılır.
f i +1 − f i
xi +1 − xi
f ( xi +1 , xi + 2 ) − f ( xi , xi +1 )
İkinci dereceden kesirli fark: f ( xi , xi +1 , xi + 2 ) =
xi + 2 − xi
Birinci derceden kesirli fark: f ( xi , xi +1 ) =
Üçüncü derceden kesirli fark:
f ( xi , xi +1 , xi + 2 , xi +3 ) =
f ( xi +1 , xi + 2 , xi + 3 ) − f ( xi , xi +1 , xi + 2 )
xi + 3 − xi
...
olmak üzere;
F ( x) = f ( x 0 ) + ( x − x0 ) f ( x0 , x1 ) + ( x − x0 )( x − x1 ) f ( x0 , x1 , x 2 ) + ...
Örn: Aşağıda verilen (xi,fi) ikililerini kullanarak, Newton kesirli farklar interpolasyon
yöntemi ile F(2) değerini bulunuz.
i
0
xi
-1.0
fi
3.000
1
0.0
-2.000
2
0.5
-0.375
f(xi,xi+1)*
f(xi,xi+1,xi+2)** f(xi,xi+1,xi+2,xi+3)***
-5.000
5.500
3.250
-1.000
3.500
6.750
3
1.0
3.000
-1.000
1.750
8.750
4
2.5
16.125
-1.000
-1.500
5.750
5
3.0
f 1 − f 0 − 2.000 − 3.000
= −5.000
=
0 .0 − ( − 1 .0 )
x1 − x0
f 2 − f 1 − 0.375 − (−2.000)
= 3.250
=
0 .5 − 0 .0
x 2 − x1
f 3 − f 2 3.000 − (−0.375)
=
= 6.750
x3 − x 2
1 .0 − 0 .5
f 4 − f 3 16.125 − 3.000
= 8.750
=
x 4 − x3
2 .5 − 1 .0
f 5 − f 4 19.000 − 16.125
= 3.750
=
x5 − x 4
3 .0 − 2 .5
* f ( x0 , x1 ) =
f ( x1 , x 2 ) =
f ( x 2 , x3 ) =
f ( x3 , x 4 ) =
f ( x 4 , x5 ) =
19.000
f ( x1 , x 2 ) − f ( x 0 , x1 ) 3.250 − (−5.000)
=
= 5.500
x 2 − x0
0.5 − (−1.0)
f ( x 2 , x3 ) − f ( x1 , x 2 ) 6.750 − 3.250
= 3.500
f ( x1 , x 2 , x3 ) =
=
1 .0 − 0 .0
x3 − x1
f ( x3 , x 4 ) − f ( x 2 , x3 ) 8.750 − 6.750
f ( x 2 , x3 , x 4 ) =
=
= 1.000
x4 − x2
2 .5 − 0 .5
f ( x 4 , x5 ) − f ( x3 , x 4 ) 5.750 − 8.750
f ( x3 , x 4 , x5 ) =
=
= −1.500
x5 − x3
3 .0 − 1 .0
f ( x1 , x 2 , x3 ) − f ( x 0 , x1 , x 2 )
3.500 − 5.500
*** f ( x0 , x1 , x 2 , x3 ) =
=
= −1.000
x3 − x0
1.000 − (−1.000)
f ( x 2 , x3 , x 4 ) − f ( x1 , x 2 , x3 ) 1.000 − 3.500
f ( x1 , x 2 , x3 , x 4 ) =
=
= −1.000
x 4 − x1
2.500 − 0.000
f ( x3 , x 4 , x5 ) − f ( x 2 , x3 , x 4 ) − 1.500 − 1.000
f ( x 2 , x3 , x 4 , x5 ) =
=
= −1.000
x5 − x 2
3.000 − 0.500
** f ( x0 , x1 , x 2 ) =
Daha üst dereceden tüm kesirli farklar “0” olacaktır. (Formülde yerlerine koyarak
denetleyiniz!)
f(1.0) = 3.000 < f(2) = ? < f(2.5) = 16.125 olduğundan indeksleri tekrar belirlerken
interpolasyonun yapılacağı nokta (x=2) hangi tarafa yakınsa kaydırma o tarafa doğru yapılır.
Verilen sorunun özelinde interpolasyon yapılacak nokta 3. ve 4. noktaların arasında olduğu
için 1. nokta 0. nokta olarak kabul edilerek (x0 = x1) diğer noktaların indeksleri uygun şekilde
değiştirilir (x1 = x2, x2 = x3, x3 = x4, x4 = x5). Kesirli farklar da buna uygun olarak kaydırılır.
(f(x0,x1) = f(x1,x2), f(x0,x1,x2) = f(x1,x2,x3), f(x0,x1,x2,x3) = f(x1,x2,x3,x4)).
Bu durumda,
F ( x) = f ( x0 ) + ( x − x0 ) f ( x0 , x1 ) + ( x − x0 )(x − x1 ) f ( x0 , x1 , x2 ) +
( x − x0 )(x − x1 )(x − x2 f )(x0 , x1 , x2 , x3 )
F ( x) = −2.000 + (2.0 − 0.0)(3.250) + (2.0 − 0.0)(2.0 − 0.5)3.500 +
(2.0 − 0.0)(2.0 − 0.5)(2.0 − 1.0)(−1.000) = 14.000
4. Merkezi Fark İnterpolasyon Yöntemleri
xi < x < xi+1 olmak üzere x değeri xi ya da xi+1 ‘den hangisine daha yakınsa o nokta x0
noktası olarak alınır ve diğer noktalar bu noktaya göre x-p, x-p+1, x-p, x-p+2, ... , x-1, x0, x1, x-2,
... , x-n-p olacak şekilde sıralanır. Burada x0’ın her iki tarafında da aynı sayıda nokta
olacağından 0 – (-p) = n – p => p = n/2 ‘dir. Daha sonra s = (x - x0) / h parametresinin
değerine göre Sterling ya da Bessel formüllerinden uygun olanı takip edilir.
4.1. Sterling Formülü
s=
x − x0
h
0<s< 1
4
ve
h = x1 − x0 = x 2 − x1 = x3 − x 2 = .... olmak üzere
veya
3 < s <1
4
ise
s2 2
s ( s 2 − 12 )
s 2 ( s 2 − 12 ) 4
δ f0 +
μδ 3 f 0 +
δ f 0 + ... +
2!
3!
4!
s ( s 2 − 12 )( s 2 − 2 2 )...( s 2 − (k − 1) 2 )
s 2 ( s 2 − 12 )( s 2 − 2 2 )...( s 2 − k 2 ) 2 k
2 k −1
μδ
f0 +
δ f0
(2k − 1)!
(2k )!
F ( x) = f 0 + sμδf 0 +
Burada,
δf i = f ( xi +1 / 2 ) − f ( xi −1 / 2 )
birinci dereceden merkezi fark,
δ r f i = δ r −1 f ( xi +1 / 2 ) − δ r −1 f ( xi −1 / 2 ) r. dereceden merkezi fark,
1
2
μδ r f i = (δ r f ( xi +1 / 2 ) + δ r f ( xi −1 / 2 ))
ortalama operatörünü göstermektedir.
4.2. Bessel Formülü
1 ≤s≤3
ise
4
4
s ( s − 1)
s ( s − 1)( s − 1 / 2) 3
μδ 2 f1 / 2 +
δ f1 / 2 + ... +
2!
3!
s ( s − 1)( s + 1)( s − 2)...( s + (k − 1))( s − 1 / 2) 2 k −1
δ
f1 / 2 +
(2k − 1)!
s ( s − 1)( s + 1)( s − 2)...( s + k )
μδ 2 k f1 / 2
(2k )!
‘dır ve aynı merkezi fark formülleri geçerlidir.
F ( x) = μf 1 / 2 + ( s − 1 / 2)δf 1 / 2 +
Örn: Aşağıda verilen (xi,fi) ikililerini kullanarak, uygun merkezi fark interpolasyon
yöntemi ile F(2.2) değerini bulunuz.
i
0
xi
1
δfi*
fi
1
δ2fi**
Δ3fi***
Δ4fi****
4
1
2
5
1
5
2
3
1
10
2
7
3
4
-1
0
17
2
9
4
5
26
* δf1 / 2 = f ( x1 ) − f ( x0 ) = 5 − 1 = 4
δf 5 / 2 = f ( x3 ) − f ( x 2 ) = 17 − 10 = 7
δf 3 / 2 = f ( x 2 ) − f ( x1 ) = 10 − 5 = 5
δf 7 / 2 = f ( x 4 ) − f ( x3 ) = 26 − 17 = 9
** δ 2 f1 = δf 3 / 2 − δf 1 / 2 = 5 − 4 = 1
δ 2 f 2 = δf 5 / 2 − δf 3 / 2 = 7 − 5 = 2
δ 2 f 3 = δf 7 / 2 − δf 5 / 2 = 9 − 7 = 2
*** δ 3 f1 / 2 = δ 2 f 2 − δ 2 f 1 = 2 − 1 = 1 δ 3 f 3 / 2 = δ 2 f 3 − δ 2 f 2 = 2 − 2 = 0
**** δ 4 f1 = δ 3 f 3 / 2 − δ 3 f1 / 2 = 0 − 1 = −1
x1 = 2 < x = 2.2 < x2 = 3 olduğu ve x = 2.2, x1 = 2’ye daha yakın olduğundan x0 = x1
alınır. Bu durumda yeni indeksler; x-1 = x0, x0 = x1, x1 = x2, x2 = x3, x3 = x4 şeklinde oluşmuş
olur. Merkezi fark ifadelerinin indeksleri aynı şekilde kaydırılır (δrf-1 = δrf0, δrf-1/2 = δrf1/2, δrf0
= δrf1, δrf1/2 = δrf3/2, ...).
h = x1 – x0 = x2 – x1 = x3 – x2 = 1 ‘dir
x − x 0 2. 2 − 2. 0
=
= 0.2 , dolayısı ile 0 < s = 0.2 < 1 olduğu için Sterling
4
h
1
formülü kullanılır.
s=
F ( x) = f 0 + sμδf 0 +
s2 2
s ( s 2 − 12 ) 3
s 2 ( s 2 − 12 ) 4
δ f0 +
μδ f 0 +
δ f0
2!
3!
4!
Bu noktada öncelikle ortalama operatörü ile verilen terimleri hesaplamamız
gereklidir.
1
2
1
2
μδf 0 = (δf1 / 2 + δf −1 / 2 ) = (5 + 4) = 9 2
1
1
μδ 3 f 0 = (δ 3 f1 / 2 + δ 3 f −1 / 2 ) = (1 + 0) = 1 2
2
2
9 0.2 2
0.2(0.2 2 − 12 ) 1 0.2 2 (0.2 2 − 12 )
F (2.2) = 5 + 0.2 +
1+
+
(−1) = 5.9056 bulunur.
2
2!
3!
2
4!
Aynı problemi x = 2.5 için çözelim.
x1 = 2 < x = 2.5 < x2 = 3 olduğu ve x = 2.5, hem x1 = 2’ye hem x1 = 3’e aynı
uzaklıkta olduğundan x0 = x1 alınabilir (x0 = x2 de alınabilir, denetleyiniz!). Bu durumda yeni
indeksler; x-1 = x0, x0 = x1, x1 = x2, x2 = x3, x3 = x4 şeklinde oluşmuş olur. Merkezi fark
ifadelerinin indeksleri aynı şekilde kaydırılır (δrf-1 = δrf0, δrf-1/2 = δrf1/2, δrf0 = δrf1, δrf1/2 =
δrf3/2, ...).
x − x 0 2. 5 − 2. 0
=
= 0.5 dolayısı ile
h
1
Bessel formülünü kullanmak gereklidir.
s=
F ( x) = μf 1 / 2 + ( s − 1 / 2)δf 1 / 2 +
1 ≤ s = 0.5 ≤ 3 olduğundan buz kez
4
4
s ( s − 1)
s ( s − 1)( s − 1 / 2) 3
μδ 2 f 1 / 2 +
δ f1 / 2 +
2!
3!
s ( s − 1)( s + 1)( s − 2)
μδ 4 f1 / 2
4!
Bu noktada yine öncelikle ortalama operatörü ile verilen terimleri hesaplamamız
gereklidir.
1
2
1
2
μf1 / 2 = ( f 1 + f 0 ) = (10 + 5) = 15 2
1
2
=0
1
2
μδ 2 f 1 / 2 = (δ 2 f1 + δ 2 f 0 ) = (2 + 2) = 2
μδ 4 f1 / 2
15
0.5(0.5 − 1)
0.5(0.5 − 1)(0.5 − 1 / 2)
+ (0.5 − 1 / 2)5 +
2+
0+
2
2!
3!
0.5(0.5 − 1)(0.5 + 1)(0.5 − 2)
0 = 7.250
4!
F (2.5) =
bulunur.
5. Lagrange İnterpolasyonu
İnterpolasyonda en sık kullanılan yöntemlerden biri olan Lagrange interpolasyon
yöntemi aşağıdaki formüllerle ifade edilir.
F ( x) =
( x − x1 )( x − x 2 )...( x − x n )
( x − x 0 )( x − x 2 )...( x − x n )
f ( x0 ) +
f ( x1 ) +
( x 0 − x1 )( x0 − x 2 )...( x0 − x n )
( x1 − x 0 )( x1 − x 2 )...( x1 − x n )
( x − x0 )( x − x1 )...( x − x n )
( x − x0 )( x − x1 )...( x − x n −1 )
f ( x 2 ) + ... +
f ( x n ) + Rn
( x 2 − x0 )( x 2 − x1 )...( x 2 − x n )
( x n − x0 )( x n − x 2 )...( x n − x n −1 )
Örn: Aşağıda verilen (xi,fi) ikililerini kullanarak, Lagrange interpolasyon yöntemi ile
F(2.2) değerini bulunuz.
i
0
xi
1
fi
1
1
2
5
2
3
10
3
4
17
4
5
26
(2.2 − 2)(2.2 − 3)(2.2 − 4)(2.2 − 5)
(2.2 − 1)(2.2 − 3)(2.2 − 4)(2.2 − 5)
1+
5+
(1 − 2)(1 − 3)(1 − 4)(1 − 5)
(2 − 1)(2 − 3)(2 − 4)(2 − 5)
(2.2 − 1)(2.2 − 2)(2.2 − 4)(2.2 − 5)
(2.2 − 1)(2.2 − 2)(2.2 − 3)(2.2 − 5)
10 +
17 +
(3 − 1)(3 − 2)(1 − 4)(1 − 5)
(4 − 1)(4 − 2)(4 − 3)(4 − 5)
(2.2 − 1)(2.2 − 2)(2.2 − 3)(2.2 − 4)
26 = 5.9408
(5 − 1)(5 − 2)(5 − 3)(5 − 4)
F (2.2) =
6. Hermite Polinomları
f(x)’in yanı sıra f(x)’in birinci türevi f’(x) hakkında bir bilgi varsa
n
n
i =0
i =0
P2n - 1(x) = ∑ A i ( x) f i + ∑ B i ( x) f i′
şeklinde
tanımlanan
polinomlara
Hermite polinomları denir. Bu polinomlar kullanılarak herhangi bir x için aradeğer hesabı
yapmak mümkündür. Burada;
2
′
Ai ( x) = ⎡1 − 2( x − xi ) Li ( x)⎤[Li ( x)]
⎥⎦
⎢⎣
2
Bi ( x) = ( x − xi )[Li ( x)] olup, Li(x), bir önceki bölümde gördüğümüz Langrange
katsayılarıdır.
Örn: Aşağıdaki tabloda verilen bilgileri kullanarak x = 2 için aradeğer hesabı yapınız.
i
0
1
xi
0
4
fi
0
2
f'i
0
0
Öncelikle Lagrange katsayılarını hesaplayalım.
x − x1
x−4
1
=
= − x +1
x0 − x1 0 − 4
4
1
′
L0 ( x) = −
4
L0 ( x) =
ve
ve
x − x0
x−0 1
=
= x
x1 − x0 4 − 0 4
1
′
L1 ( x) =
elde edilir.
4
L1 ( x) =
Şimdi poinomun katsayılarını hesaplayalım.
1 ⎤ 1
⎡
2
′
A0 ( x) = ⎡1 − 2( x − x0 ) L0 ( x)⎤[L0 ( x)] yani A0 ( x) = ⎢1 − 2( x − 0)(− )⎥ (− x + 1) 2
⎥⎦
⎢⎣
4 ⎦ 4
⎣
1 ⎤ 1
⎡
2
′
A1 ( x) = ⎡1 − 2( x − x1 ) L1 ( x)⎤[L1 ( x)] yani A1 ( x) = ⎢1 − 2( x − 4)( )⎥ ( x) 2 elde edilir.
⎥⎦
⎢⎣
4 ⎦ 4
⎣
B0 ( x) = ( x − x0 )[L0 ( x)]
yani
B1 ( x) = ( x − x1 )[L1 ( x)]
yani
2
2
1
B0 ( x) = ( x − 0)(− x + 1) 2
4
1
B1 ( x) = ( x − 4)( x) 2 elde edilir.
4
Hermite polinomunu oluşturacak olursak;
P ( x) = A0 ( x) f 0 + A1 ( x) f 1 + B0 ( x) f 0′ + B1 ( x) f1′ ;
P ( x) = A1 ( x) f1 = (−
f0, f’0, f’1 = 0 olduğundan
1 3 3 2
3
1
3
1
x + x )2 = ( x 2 − x 3 ) ; P(2) = 2 2 − 2 3 = 1
32
16
8
16
8
16
6. Aitken Yöntemi
Bu yöntem ile (n+1) ayrık noktaya bir dizi doğrusal interpolasyon yöntemi
uygulanarak sonunda n veya daha düşük dereceden bir polinom elde edilir. Elde edilen bu
polinom tüm aradeğerleri (x) bulmak için kullanılır.
j
xj
fj
İnterpolasyon
terimi
0
1
2
3
4
x0
x1
x2
x3
x4
f0
f1
f2
f3
f4
I0,1
I0,2
I0,3
I0,4
I0,1,2
I0,1,3
I0,1,4
I0,1,2,3
I0,1,2,4
I0,1,2,3,4.
Bu tablo daha çok sayıda nokta için aynı şekilde genişletilebilir. Burada;
j = 1,2,3,4,... için
I 0, j = (
xj − x
x j − x0
) f0 + (
x − x0
)fj
x j − x0
j = 2,3,4,... için
I 0,1, j = (
xj − x
x j − x1
) I 0,1 + (
x − x1
) I 0, j
x j − x1
j = 3,4,... için
I 0,1, 2, j = (
xj − x
x j − x2
) I 0,1, 2 + (
x − x2
) I 0,1, j
x j − x2
j = 4, ... için
I 0,1, 2,3, j = (
xj − x
x j − x3
) I 0,1, 2,3 + (
x − x3
) I 0,1, 2, j
x j − x3
Örn: Aşağıda verilen (xi,fi) ikililerini kullanarak, Aitken interpolasyon yöntemi ile
herhangi bir x için aradeğer elde edebileceğiniz F(x) fonksiyonunu bulunuz. Bu fonksiyonu
F(0.5) ve F(1.5) değerlerini elde etmek için kullanınız.
j
xj
fj
İnterpolasyon
terimi
0
1
2
0
1
2
1
2
4
I0,1
I0,2
I0,1,2 = F(x)
x − x0
x1 − x
1− x
x−0
) f0 + (
) f1 = (
)1 + (
)2 = 1 + x
1− 0
1− 0
x1 − x 0
x1 − x0
x −x
x − x2
2− x
3
x−0
) f0 + (
) f1 = (
)1 + (
)4 = 1 + x
I 0, 2 = ( 2
2−0
2−0
x 2 − x0
x 2 − x0
2
x −x
x − x1
x −1
2−x
3
1
1
I 0,1, 2 = ( 2
) I 0,1 + (
) I 0, 2 = (
)(1 + x) + (
)(1 + x) = x 2 + x + 1
x 2 − x1
x 2 − x1
2 −1
2 −1
2
2
2
I 0,1 = (
Bu durumda
F ( x) =
1 2 1
x + x +1
2
2
F (0.5) =
1
1
0.5 2 + 0.5 + 1 = 1.375
2
2
ve
1
1
F (1.5) = 1.5 2 + 1.5 + 1 = 2.875
2
2
bulunur.
Örn: Verilen bir f(x) = sin x fonksiyonu için aşağıdaki (xi,fi) ikililerini kullanarak,
Aitken interpolasyon yöntemi ile sinx = 0.2800 aradeğerini veren x değerini ve bu değerin
bağıl hatasını noktadan sonra 6 basamak kullanarak hesaplayınız.
j
0
1
2
3
xj (rad.)
0.1
0.2
0.3
0.4
fj
0.0989
0.1987
0.2955
0.3894
sin x = 0.2800 ‘i bulmak için değişkenlerin yerini değiştirip (xj ↔ fj) Aitken
interpolasyonu uygulamalıyız. Zira bize x = 0.28 için sin 0.28 değeri değil sin x = 0.28’i
veren x değeri sorulmaktadır! Bu duruma uygun olarak tablomuzu yeniden düzenlersek;
j
xj
fj
İnterpolasyon
Terimi
0
1
2
3
0.0989
0.1987
0.2955
0.3894
0.1
0.2
0.3
0.4
I0,1
I0,2
I0,3
I0,1,2
I0,1,3
I0,1,2,3 = F(x)
İnterpolasyon terimlerini hesaplayalım.
I 0,1 = (
x − x0
x1 − x
0.1987 − 0.2800
0.2800 − 0.0999
) f0 + (
) f1 = (
) 0 .1 + (
)0.2 = 0.2822
0.1987 − 0.0999
x1 − x0
x1 − x0
0.1987 − 0.0999
I 0, 2 = (
x − x0
x2 − x
0.2955 − 0.2800
0.2800 − 0.0999
) f0 + (
) f1 = (
) 0.1 + (
)0.3 = 0.2842
x 2 − x0
x 2 − x0
0.2955 − 0.0999
0.2955 − 0.0999
x3 − x
x − x0
0.3894 − 0.2800
0.2800 − 0.0999
) f0 + (
) f1 = (
) 0 .1 + (
)0.4 = 0.2867
x3 − x 0
x3 − x0
0.3894 − 0.0999
0.3894 − 0.0999
I 0,3 = (
I 0,1, 2 = (
x2 − x
x − x1
0.2955 − 0.2800
0.2800 − 0.1987
) I 0,1 + (
) I 0, 2 = (
)0.2822 + (
)0.2842 = 0.2838
x 2 − x1
x 2 − x1
0.2955 − 0.1987
0.2955 − 0.1987
I 0,1,3 = (
x3 − x
x − x1
0.3894 − 0.2800
0.2800 − 0.1987
) I 0,1 + (
) I 0,3 = (
)0.2822 + (
)0.2867 = 0.2841
0.3894 − 0.1987
0.3894 − 0.1987
x3 − x1
x 3 − x1
I 0,1, 2,3 = (
x3 − x
x − x2
0.3894 − 0.2800
0.2800 − 0.2955
) I 0,1, 2 + (
) I 0,1,3 = (
)0.2842 + (
)0.2867 = 0.2838
0.3894 − 0.2955
0.3894 − 0.2955
x3 − x 2
x3 − x 2
F(0.2800) = 0.2800 bulunmuş olur.
Gerçekte sin x = 0.28 veren x değerini bulmak için sin-1(0.28) = arcsin(0.28) değerini
hesaplamalıyız. Bu değer noktadan sonra altı basamak dahilinde sin-1(0.28) = 0.283794’dür.
εa =
| xt − x | | 0.283794 − 0.2838 |
=
= 0.000021 = %0.0021
xt
0.283794
Hatanın bu kadar küçük omasının iki sebebi vardır. Birincisi, işlem yapılan aralığın
çok küçük olması (0.1-0.4 radyan), ikincisi ise bu aralıkta sin(x) ve sin-1(x) fonksiyonlarının
doğrusala çok yakın davranmasıdır. Temel olarak bir dizi doğrusal interpolasyona dayanan
Aitken yöntemi bu nedenle az sayıda (örneğimizde dört) nokta için dahi gerçeğine çok yakın
bir değer vermiştir.
Download