You are on page 1of 52

SAYISAL ANALİZ DERS NOTLARI-U.

ARİFOĞLU 1-1

SAYISAL ANALİZ

DERS NOTLARI
HAZIRLAYAN

PROF.DR. UĞUR ARİFOĞLU

2021

SAKARYA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-2

İÇİNDEKİLER
Sayfa No

1. Doğrusal Olmayan Denklemin köklerinin bulunması........................... 2


1.1. Kapalı Yöntemler.................................................................................... 2
1.1.1. İkiye Bölme Yöntemi.............................................................................. 4
1.1.2. Yer Değiştirme Yöntemi......................................................................... 6
1.2. Açık Yöntemler....................................................................................... 7
1.2.1. Basit Sabit Noktalı İterasyon................................................................. 8
1.2.2. Newton-Raphson Yöntemi.................................................................... 9
1.2.3. Secant Yöntemi....................................................................................... 10
1.4. Katlı kök durumunda çözüm önerileri.................................................. 12
2. Doğrusal Olmayan Denklem Sisteminin Köklerinin Bulunması........... 13
2.1. Sabit Noktalı İterasyon Yaklaşımı......................................................... 14
2.2. Newton-Raphson Yaklaşımı.................................................................. 15
3. Doğrusal Denklem Sistemlerinin Köklerinin Bulunması....................... 18
3.1. Basit Gauss Eleme Yaklaşımı................................................................. 18
3.2. Basit (Jacobi) iterasyonu....................................................................... 23
3.3. Gauss-Seidel iterasyonu....................................................................... 24
4. Eğri Uydurma......................................................................................... 26
4.1. Doğrusal Eğri Uydurma.......................................................................... 26
4.2. Doğrusal Olmayan Eğri Uydurma (2. dereceden polinom).................. 28
5. Ara Değer Bulma (İnterpolasyon).......................................................... 29
5.1. Birinci Dereceden (doğrusal) Ara Değer Hesabı .................................... 30
5.2. Üçüncü Dereceden (doğrusal olmayan) Ara Değer Hesabı ................... 31
6. Sayısal Türev......................................................................................... 33
6.1. Geri Fark Yaklaşımı............................................................................. 34
6.2. İleri Fark Yaklaşımı.............................................................................. 34
6.3. Merkezi Fark Yaklaşımı......................................................................... 35
7. Sayısal Entegrasyon............................................................................... 36
7.1. Yamuklar Yöntemi ile Entegrasyon..................................................... 36
7.2. Parabolik (Simpson) Yaklaşımı............................................................. 38
7.2.1. Simpson 1/3 Kuralı................................................................................ 38
7.2.2. Simpson 3/8 Kuralı................................................................................ 39
8. Birinci Mertebeden Diferansiyel Denklemin Sayısal Çözümü.............. 40
8.1. Runge-Kutta Yaklaşımları................................................................ 41
8.1.1. Dördüncü mertebeden Runge-Kutta Yaklaşımı................................... 41
8.1.2. Euler Yöntemi....................................................................................... 44
8.1.3. İkinci Mertebeden Runge-Kutta Yaklaşımı....................................... 46
8.2. Birinci Mertebeden Lineer Diferansiyel Denklem Sistemlerinin
Çözümü.................................................................................................. 49
8.2.1. Birinci Mertebeden Lineer Diferansiyel Denklem Sistemlerinin
Euler Yaklaşımı ile Çözümü............................................................... 49
8.2.2. Birinci Mertebeden Lineer Diferansiyel Denklem Sistemlerinin
4. Mertebeden R-K ile Çözümü......................................................... 50
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-3

1) Doğrusal Olmayan Denklemin köklerinin bulunması

Fonksiyonların köklerinin civarında işaret değiştirmelerinden yararlanarak çözüm yaklaşımları


geliştirildiğinde iki metod ile karşılaşılır: a) Kapalı yöntemler, b) Açık yöntemler.

1.1) Kapalı Yöntemler

Kapalı yöntemlerde kökün ilk tahmini için iki adet değere ihtiyaç duyulur. İlk tahmin edilen iki değer
kökü kıskaç içine almalı, diğer bir ifade ile kökün iki farklı (𝑥𝑎𝑙𝑡 , 𝑥ü𝑠𝑡 ) tarafında olmalıdır. Daha sonraki
adımlarda tahmin edilen değerler ile kök arasındaki farkın azaltılması işlemi yapılır. Şekil 1.1'de kökün
her iki tarafında olduğu düşünülen iki adet tahmini kök değeri ve gerçek kök değeri gösterilmiştir.

Şekil 1.1

Şekil 1.2'de köklerin 𝑥𝑎𝑙𝑡 , 𝑥ü𝑠𝑡 ile belirlenen aralıkta olduğu ve olamadığı
bazı durumlar gösterilmiştir. Şekil 1.2.a'da belirlenen aralıkta hiç bir kök
yoktur. Şekil 1.2.b'de belirlenen aralıkta tek bir kökün pozitif ve negatif
değerli 𝑓(𝑥𝑎𝑙𝑡 ), 𝑓(𝑥ü𝑠𝑡 ) tarafından kıskaca alındığı durum gösterilmiştir.
Şekil 1.2.c'de belirlenen aralıkta iki adet kökün 𝑓(𝑥𝑎𝑙𝑡 ), 𝑓(𝑥ü𝑠𝑡 ) tarafından
kıskaca alındığı durum gösterilmiştir. Dikkat edilirse bu durumda
𝑓(𝑥𝑎𝑙𝑡 ), 𝑓(𝑥ü𝑠𝑡 ) pozitif ve negatif iki farklı işaret taşımamaktadır. Şekil
1.2.d'de belirlenen aralıkta üç adet kökün pozitif ve negatif değerli
𝑓(𝑥𝑎𝑙𝑡 ), 𝑓(𝑥ü𝑠𝑡 ) tarafından kıskaca alındığı durum gösterilmiştir.

Şekil 1.2.a ve c'ye göre; eğer 𝑓(𝑥𝑎𝑙𝑡 ), 𝑓(𝑥ü𝑠𝑡 ) her ikisi de aynı işaretli ise
belirlenen aralıkta ya hiç kök yoktur ya da çift sayıda kök mevcuttur.

Şekil 1.2.b ve d'ye göre; eğer 𝑓(𝑥𝑎𝑙𝑡 ), 𝑓(𝑥ü𝑠𝑡 ) farklı işaretli ise belirlenen
aralıkta tek sayıda kök mevcuttur.

Yukarıdaki genellemelere uymayan özel durumlar da söz konusudur. Şekil


1.3'de bu duruma uygun iki farklı örnek gösterilmiştir. Şekil 1.3.a'da x
eksenine teğet geçen bir fonksiyon (burada katlı kök de olabilir), Şekil
1.3.b'de ise süreksiz bir fonksiyon gösterilmiştir.
Şekil 1.2

Şekil 1.3
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-4

1.1.1) İkiye Bölme Yöntemi

Şekil 1.1'de görüldüğü gibi f(x) fonksiyonu 𝑥𝑎𝑙𝑡 , 𝑥ü𝑠𝑡 aralığında reel ve sürekli ise aynı zamanda
𝑓(𝑥𝑎𝑙𝑡 )𝑣𝑒 𝑓(𝑥ü𝑠𝑡 ) 'in değerlerinin işaretleri ters ise, diğer bir ifade ile;

𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥ü𝑠𝑡 ) < 0 (1.1)

şartı sağlanıyor ise 𝑥𝑎𝑙𝑡 𝑣𝑒 𝑥ü𝑠𝑡 arasında en az bir adet reel kök vardır. Bu yaklaşımın algoritma mantığı
aşağıdaki gibi özetlenebilir:

Adım 1) f(x) fonksiyonunun 𝑥𝑎𝑙𝑡 , 𝑥ü𝑠𝑡 aralığında işaret değiştirecek şekilde 𝑥𝑎𝑙𝑡 ve 𝑥ü𝑠𝑡 tahminin de
bulunun. Tahmin edilen iki değerin doğruluğu (1.1) eşitliği ile test edilmelidir.

Adım 2) Kökün ilk tahmini değeri (1.2) eşitliği ile belirlenebilir:

𝑥𝑎𝑙𝑡 +𝑥ü𝑠𝑡
𝑥𝑘ö𝑘_𝑡𝑎ℎ = (1.2)
2

Adım 3) Kökün hangi aralıkta olduğunu belirlemek için aşağıdaki hesaplamalar yapılmalıdır:

a) 𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥𝑘ö𝑘_𝑡𝑎ℎ ) < 0 ise kök soldaki alt aralıktadır.Bu durumda 𝑥ü𝑠𝑡 = 𝑥𝑘ö𝑘_𝑡𝑎ℎ yazarak
Adım 2' ye geri dönün. Yani aranan kök; [𝑥𝑎𝑙𝑡 ; 𝑥𝑘ö𝑘_𝑡𝑎ℎ ] kapalı aralığı içindedir.

b) 𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥𝑘ö𝑘𝑡𝑎ℎ ) > 0 ise kök sağdaki alt aralıktadır. Bu durumda 𝑥𝑎𝑙𝑡 = 𝑥𝑘ö𝑘_𝑡𝑎ℎ yazarak
Adım 2' ye geri dönün. Yani aranan kök; [𝑥𝑘ö𝑘_𝑡𝑎ℎ ; 𝑥ü𝑠𝑡 ] kapalı aralığı içindedir.

c) 𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥𝑘ö𝑘𝑡𝑎ℎ ) = 0 ise kök 𝑥𝑘ö𝑘_𝑡𝑎ℎ değerine eşittir, algoritmayı sonlandırın. Gerçekte ise
algoritmayı sonlandırmak için (1.3) eşitliği ile verilen 𝜀𝑏𝑎ğ değeri kullanılır. Örneğin 𝜀𝑏𝑎ğ  %0.5 için
iterasyon durudurulabilir.

ÖNEMLİ NOT:

Algoritmaların hangi şartlar altında sona erdirileceği konusunda çeşitli öneriler bulunmaktadır. Bu
önerilerden bir tanesi de 𝜀𝑏𝑎ğ ile gösterilen "yaklaşık bağıl yüzde hata" dır.

𝑦𝑒𝑛𝑖 𝑒𝑠𝑘𝑖
𝑥𝑘ö𝑘_𝑡𝑎ℎ −𝑥𝑘ö𝑘_𝑡𝑎ℎ
𝜀𝑏𝑎ğ = | 𝑦𝑒𝑛𝑖 |%100 (1.3)
𝑥𝑘ö𝑘_𝑡𝑎ℎ

𝑦𝑒𝑛𝑖 𝑒𝑠𝑘𝑖
𝑥𝑘ö𝑘_𝑡𝑎ℎ : Son iterasyonun kökü; 𝑥𝑘ö𝑘_𝑡𝑎ℎ : Sondan bir önceki iterasyonun kökü

Örnek 1.1

𝑓(𝑥) = −172.8 ∗ 𝑥 0.1231 + 239.4


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-5

denkleminin kökünü ikiye bölme yaklaşımı yardımı ile bulunuz. Şekil 1.4'de verilen fonksiyon çizilmiş
ve kökün alt ve üst sınırları için 𝑥𝑎𝑙𝑡 = 12, 𝑥ü𝑠𝑡 = 16 değerlerinin uygun olduğuna karar verilmiştir.
𝜀𝑏𝑎ğ  % 0.5 şartı sağlandığında iterasyonu durdurunuz.

Şekil 1.4

Çözüm

Adım 1)

𝑥𝑎𝑙𝑡 = 12, 𝑥ü𝑠𝑡 = 16 değerleri için ilk kök tahmini için

𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥ü𝑠𝑡 ) < 0 şartı kontrol edildiğinde,

4.76 * (-3.69)< 0 sağlandığı görülmektedir.

Adım 2) Kökün ilk iterasyondaki tahmini değeri aşağıdaki gibi olur:

𝑖𝑡𝑒𝑟𝑎𝑠𝑦𝑜𝑛
𝑠𝑎𝑦𝚤𝑠𝚤
𝑥𝑎𝑙𝑡 + 𝑥ü𝑠𝑡 12 + 16
𝑥𝑘ö𝑘𝑡𝑎ℎ ( ⏞
1 )= = = 14
2 2

Adım 3)

𝑓(𝑥𝑘ö𝑘𝑡𝑎ℎ ) = 𝑓(14) = 0.271; 𝑓(𝑥𝑎𝑙𝑡 ) = 4.76 olduğundan

𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥𝑘ö𝑘𝑡𝑎ℎ ) > 0 olur. Bu durumda kök sağ alt aralıktadır (Adım 3'de b) adımı).

b) 𝑥𝑎𝑙𝑡 = 𝑥𝑘ö𝑘𝑡𝑎ℎ (1) = 14 alınmalıdır. Adım 2'ye dönülmelidir.

Adım 2)

𝑥𝑎𝑙𝑡 + 𝑥ü𝑠𝑡 𝑥𝑘ö𝑘𝑡𝑎ℎ (1) + 𝑥ü𝑠𝑡 14 + 16


𝑥𝑘ö𝑘𝑡𝑎ℎ (2) = = = = 15
2 2 2
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-6

𝑦𝑒𝑛𝑖 𝑒𝑠𝑘𝑖
𝑥𝑘ö𝑘_𝑡𝑎ℎ −𝑥𝑘ö𝑘_𝑡𝑎ℎ 15−14
KONTROL: 𝜀𝑏𝑎ğ = | 𝑦𝑒𝑛𝑖 |=| 15
|∗ 100 = 6.67 < 0.005 sağlanamadığından dolayı
𝑥𝑘ö𝑘_𝑡𝑎ℎ
iterasyon devam etmelidir.

Adım 3)

𝑓(𝑥𝑘ö𝑘𝑡𝑎ℎ (2)) = 𝑓(15) = −1.7685; 𝑓(𝑥𝑎𝑙𝑡 ) = 4.76 olduğundan

𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥𝑘ö𝑘𝑡𝑎ℎ ) < 0 olur. Bu durumda kök sol alt aralıktadır (Adım 3'de a) adımı).

a) 𝑥ü𝑠𝑡 = 𝑥𝑘ö𝑘𝑡𝑎ℎ (2) = 15 alınmalıdır. Adım 2'ye dönülmelidir. (𝑥𝑎𝑙𝑡 aynı kaldı 𝑥ü𝑠𝑡 değiştirildi)

Adım 2)

𝑥𝑎𝑙𝑡 + 𝑥ü𝑠𝑡 𝑥𝑎𝑙𝑡 + 𝑥𝑘ö𝑘𝑡𝑎ℎ (2) 14 + 15


𝑥𝑘ö𝑘𝑡𝑎ℎ (3) = = = = 14.5
2 2 2
𝑦𝑒𝑛𝑖 𝑒𝑠𝑘𝑖
𝑥𝑘ö𝑘_𝑡𝑎ℎ −𝑥𝑘ö𝑘_𝑡𝑎ℎ 14.5−15
KONTROL: 𝜀𝑏𝑎ğ = | 𝑦𝑒𝑛𝑖 |=| |∗ 100 = 0.0345 < 0.005 sağlanamadığından dolayı
𝑥𝑘ö𝑘_𝑡𝑎ℎ 14.5

iterasyon devam etmelidir.

Tablo 1.1'de diğer iterasyonlar için bulunan kök değerleri gösterilmiştir. Tablo 1.1'de gösterildiği gibi
13. iterasyonda kök değeri olan 14.1294 değerine ulaşılmıştır.

1.1.2) Yer Değiştirme Yöntemi

İkiye bölme yaklaşımında 𝑥𝑎𝑙𝑡 ile 𝑥ü𝑠𝑡 arasındaki aralık ikiye bölünürken 𝑓(𝑥𝑎𝑙𝑡 ) ile 𝑓(𝑥ü𝑠𝑡 ) ün aldığı
değerler göz önüne alınmaz. Örneğin 𝑓(𝑥𝑎𝑙𝑡 ) değeri sıfıra 𝑓(𝑥ü𝑠𝑡 )′den çok daha yakın ise aranan kök
değerinin 𝑥𝑎𝑙𝑡 değerine 𝑥ü𝑠𝑡 değerinden çok daha yakın olma olasılığı vardır. Bu problemi çözmek için
geliştirilen bir yöntem olan yer değiştirme yaklaşımında, 𝑓(𝑥𝑎𝑙𝑡 ) ile 𝑓(𝑥ü𝑠𝑡 ) bir doğru ile birbirlerine
birleştirilerek, bu doğrunun x eksenini kestiği yer 𝑥𝑘ö𝑘𝑡𝑎ℎ değeri olarak belirlenir. Şekil 1.5'de bu durum
çizim ile gösterilmiştir. Bu durumda (1.2) eşitliğinin yerine (1.4) eşitliği kullanılır.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-7

𝑓(𝑥ü𝑠𝑡 )(𝑥𝑎𝑙𝑡 −𝑥ü𝑠𝑡 )


𝑥𝑘ö𝑘_𝑡𝑎ℎ = 𝑥ü𝑠𝑡 − (1.4)
𝑓(𝑥𝑎𝑙𝑡 )−𝑓(𝑥ü𝑠𝑡 )

Yer değiştirme yaklaşımının iterasyon adımları ikiye bölme yaklaşımındaki adımlar ile aynıdır, tek fark
yukarıda da belirtildiği gibi (1.2) eşitliğinin yerini (1.4) eşitliğinin almasıdır.

Şekil 1.5

Örnek 1.2

𝑓(𝑥) = −172.8 ∗ 𝑥 0.1231 + 239.4 (Örnek 1.1'de verilen eğri ile aynı)

denkleminin kökünü yer değiştirme yaklaşımı yardımı ile bulunuz. Kökün alt ve üst sınırları için
𝑥𝑎𝑙𝑡 = 12, 𝑥ü𝑠𝑡 = 16 değerleri alınacaktır. 𝜀𝑏𝑎ğ  % 0.5 şartı sağlandığında iterasyonu durdurunuz.

Çözüm

Örnek 1.1'deki tüm işlemler burada yapıldığında (yalnızca (1.2) eşitliği yerine (1.4) eşitliği kullanılsın)
Tablo 1.2'de gösterilen değerlere ulaşılır. Tablo 1.1 ile Tablo 1.2 arasındaki iterasyon sayısındaki
azalmaya dikkat edilmelidir.

Kapalı yöntemlerde hesaplamalar ilerledikçe gerçek köke daha da yaklaşıldığından, bu yaklaşım türü
"yakınsak yöntemler" içinde yer alırlar.

1.2) Açık Yöntemler

Açık yöntemler ise bir adet başlangıç değerine ihtiyaç duyulan veya kökü kıskaca almayan, iki adet
başlangıç değerine ihtiyaç duyulmayan yöntemlerdir. Bu yöntemler hesaplama sürecinde bazen ıraksar
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-8

ve gerçek kökten uzaklaşır. Ancak bu yöntemler yakınsadıklarında ise genellikle kıskaç yöntemlerinden
çok daha hızlı yakınsarlar.

1.2.1) Basit Sabit Noktalı İterasyon

Bu yaklaşımda kök için ilk değerin tahmin edilmesi gerekir. Bunun için kullanılan yaklaşım f(x)
fonksiyonunda x değeri 𝑓(𝑥) fonksiyonunun sağ tarafında kalacak şekilde 𝑓(𝑥) = 0 fonksiyonu
yeniden düzenlenerek,

𝑥 = 𝑔(𝑥) (Ö𝑟: 𝑓(𝑥) = 𝑥 − 𝑔(𝑥) ise 𝑔(𝑥) = 𝑥 olur). (1.5)

(Amaç 𝑓(𝑥) fonksiyonu içindeki 𝑥 değerini yalnız bırakmaktır)

yapılarak ya da 𝑓(𝑥) ifadesinin her iki tarafına 𝑥 ekleyerek;

𝑥 = 𝑓(𝑥) + 𝑥 (1.6)

verilen ilk başlangıç değeri 𝑥1 = 𝑥(0) ile başlayarak (1.7) eşitliği ile verilen 𝑖. iterasyondaki kök değeri
hesaplanabilir. Eğer (1.5) eşitliği kullanılacak ise,

𝑥𝑖+1 = 𝑔(𝑥𝑖 ) (1.7)

ifadesinde iterasyonu durdurmak için (1.8) eşitliği ile verilen "yaklaşık bağıl yüzde hata" ifadesi
kullanılır:

𝑥𝑖+1 −𝑥𝑖
𝜀𝑏𝑎ğ = | 𝑥𝑖+1
| (1.8)

Örnek 1.3 ((1.5) eşitliğinin bir uygulaması için)

𝑓(𝑥) = 𝑥 2 − 8𝑥 − 15 = 0

denkleminin 𝑥1 = 𝑥(0) = 0 ilk koşulu için 𝜀𝑏𝑎ğ  % 0.5 şartı altında kökünü bulunuz.

Çözüm

(1.5) eşitliğinden 𝑓(𝑥) fonksiyonu içindeki 𝑥 değeri yalnız bırakılırsa;

𝑥 2 − 15
𝑥= = 𝑔(𝑥)
8

𝑥𝑖2 −15
𝑥𝑖+1 = 8
= 𝑔(𝑥𝑖 ) (1.9)

olacaktır. (1.8) eşitliği sağlanıncaya kadar (1.9) eşitliğindeki iterasyon değeri (i) arttırılacatır. (1.9
eşitliğine ilişkin değerler Tablo 1.3'de verilmiştir.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-9

1.2.2) Newton-Raphson Yöntemi

𝑓(𝑥) fonksiyonunun 𝑥 = 𝑥𝑖+1 noktasındaki değerini veren Taylor serisi açılımı aşağıda verilmiştir:
𝑓′′ (𝑥𝑖 ) 𝑓′′′ (𝑥𝑖 )
𝑓(𝑥𝑖+1 ) = 𝑓(𝑥𝑖 ) + 𝑓 ′ (𝑥𝑖 )(𝑥𝑖+1 − 𝑥𝑖 ) + 2!
(𝑥𝑖+1 − 𝑥𝑖 )2 + 3!
(𝑥𝑖+1 − 𝑥𝑖 )3 + ⋯ (1.10)

Newton-Raphson yöntemi, yukarıdaki açılımın ilk iki terimini göz önüne alarak denklemi çözmeye
çalışır. (1.10) eşitliğinde ele alınan ilk iki terim;

𝑓(𝑥𝑖+1 ) = 𝑓(𝑥𝑖 ) + 𝑓 ′ (𝑥𝑖 )(𝑥𝑖+1 − 𝑥𝑖 ) (1.11)

olmaktadır. İki terimli (1.11) eşitliğinde (i+1). iterasyon adımında 𝑥𝑖+1 değerinin (1.11) denklemini
sağladığı kabulünden hareketle;

0 = 𝑓(𝑥𝑖 ) + 𝑓 ′ (𝑥𝑖 )(𝑥𝑖+1 − 𝑥𝑖 ) (1.12)

yazılabilir. Buradan (i+1). iterasyon sonunda 𝑓(𝑥𝑖+1 ) = 0 yapan x değeri;


𝑓(𝑥 )
𝑥𝑖+1 = 𝑥𝑖 − 𝑓′ (𝑥𝑖 ) (1.13)
𝑖

olacaktır. (i+1). adımda ulaşılan x değeri Newton yönteminin aradığı ve 𝑓(𝑥) denklemini çözen kök
değeridir. Newton algoritmasının (i+1). iterasyon adımında sona erebilmesi için;
𝐻𝑎𝑡𝑎 = |𝑥𝑖+1 − 𝑥𝑖 | ≤ 𝑒𝑝𝑠𝑖𝑙𝑜𝑛 (1.14)

şartını (kabul edilebilir bir epsilon hata sınırı içinde) sağlaması gerekir.
Örnek 1.4

𝑓(𝑥) = 𝑒 −𝑥 + 𝑥 2 − 50

denkleminin köklerini 𝑥1 = 𝑥(0) = 0 ilk koşulu için (1.14) şartını 𝑒𝑝𝑠𝑖𝑙𝑜𝑛 = 0.001 şartını sağlayacak
şekilde bulunuz.

Çözüm

𝑓(𝑥𝑖 ) = 𝑒 −𝑥𝑖 + 𝑥𝑖2 − 50; 𝑓 ′ (𝑥𝑖 ) = −𝑒 −𝑥𝑖 + 2𝑥𝑖


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-10

𝑓(𝑥𝑖 ) 𝑒 −𝑥𝑖 + 𝑥𝑖2 − 50


𝑥𝑖+1 = 𝑥𝑖 − = 𝑥𝑖 −
𝑓 ′ (𝑥𝑖 ) −𝑒 −𝑥𝑖 + 2𝑥𝑖

𝐻𝑎𝑡𝑎 = |𝑥𝑖+1 − 𝑥𝑖 | ≤ 0.001 = 𝑒𝑝𝑠𝑖𝑙𝑜𝑛

Yukarıdaki eşitlikleri gözeterek adım adım köke ulaşan değerler Tablo 1.4'de verilmiştir.

1.2.3) Secant Yöntemi

Newton-Raphson yönteminde sıkıntılı adımlardan bir tanesi 𝑓(𝑥) fonksiyonunun türevinin alınmasında
karşılaşılan problemdir. 𝑓(𝑥) fonksiyonunun türevi yerine (1.15) eşitliğindeki karşılığı konulur;

𝑓(𝑥𝑖−1 )−𝑓(𝑥𝑖 )
𝑓 ′ (𝑥𝑖 ) ≈ 𝑥𝑖−1 −𝑥𝑖
(1.15)

ve (1.15) ifadesi de, (1.13) eşitliğinde yerine yazılırsa;

𝑓(𝑥𝑖 )(𝑥𝑖−1 −𝑥𝑖 )


𝑥𝑖+1 = 𝑥𝑖 − 𝑓(𝑥𝑖−1 )−𝑓(𝑥𝑖 )
(1.16)

elde edilir. Buna göre Newton yönteminde (1.13) yerine (1.16) eşitliği kullanılırsa, bu yaklaşıma Secant
Yöntemi adı verilir. İterasyonun durması için ise;

𝐻𝑎𝑡𝑎 = |𝑥𝑖+1 − 𝑥𝑖 | ≤ 𝑒𝑝𝑠𝑖𝑙𝑜𝑛 (1.17)

şartının sağlanması istenir.

Örnek 1.5

𝑓(𝑥) = 𝑒 −𝑥 − 𝑥

denkleminin köklerini 𝑥0 = 0 𝑣𝑒 𝑥1 = 1 ilk koşulları için (1.14) şartını 𝑒𝑝𝑠𝑖𝑙𝑜𝑛 = 0.0001 şartını
sağlayacak şekilde bulunuz.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-11

Çözüm

𝑓(𝑥𝑖 )(𝑥𝑖−1 −𝑥𝑖 ) (𝑒 −𝑥𝑖 −𝑥𝑖 )(𝑥𝑖−1 −𝑥𝑖 )


𝑥𝑖+1 = 𝑥𝑖 − = 𝑥𝑖 − (1.18)
𝑓(𝑥𝑖−1 )−𝑓(𝑥𝑖 ) (𝑒 −𝑥𝑖−1 −𝑥𝑖−1 )−(𝑒 −𝑥𝑖 −𝑥𝑖 )

𝐻𝑎𝑡𝑎 = |𝑥𝑖+1 − 𝑥𝑖 | ≤ 0.0001

Yukarıdaki başlangıç koşulları altında (1.18) eşitliğine göre iterasyon adımları Tablo 1.5'de
gösterilmiştir.

NOT: Eğer (1.16) eşitliği yerine (1.19) eşitliği kullanılırsa Secant yaklaşımının adı Düzeltilmiş Secant
Yaklaşımı olarak adlandırılır. Bu yöntem özellikle türev alımında ortaya çıkması muhtemel problem
türlerinde Secant yöntemine göre daha verimli bir yaklaşım olabilir:

𝑓(𝑥 )∗∆∗𝑥
𝑖 𝑖
𝑥𝑖+1 = 𝑥𝑖 − 𝑓(𝑥 +∆∗𝑥 )−𝑓(𝑥 )
(1.19)
𝑖 𝑖 𝑖

(1.19) ifadesinde  değeri küçük bir değeri temsil eder.  değeri çok küçük seçilirse yöntem sıkıntı
üretirken,  değeri çok büyük seçilirse yöntem verimsizleşir ve hatta ıraksar. Bu nedenle bazı
problemlerde  değeri test edilerek bulunmalıdır. Örnek 1.5 de verilen problemin =0.01 alınarak ve
𝑥1 = 1 başlangıç değeri için çözülmesi durumunda elde edilen iterasyon değerleri Tablo 1.6'da
verilmiştir.

Tablo 1.6.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-12

1.4. Katlı Kök Durumunda Çözüm Önerileri

1) Newton -Raphson Yönteminde katlı kök için önerilen formül:

Eğer 𝑓(𝑥) fonksiyonunda katlı kök var ise (1.13) eşitliği yerine (1.20) eşitliği kullanılır:

𝑓(𝑥 )∗𝑓′ (𝑥 )
𝑖 𝑖
𝑥𝑖+1 = 𝑥𝑖 − [𝑓′ (𝑥 )]2 −𝑓(𝑥 )∗𝑓′′ (𝑥 )
(1.20)
𝑖 𝑖 𝑖

2) Secant Yönteminde katlı kök için önerilen formül:

Eğer 𝑓(𝑥) fonksiyonunda katlı kök var ise (1.16) eşitliği yerine (1.21) eşitliği kullanılır:

𝑓(𝑥𝑖 )
𝑚=
𝑓′ 𝑥𝑖

olmak üzere;

𝑚(𝑥𝑖 )(𝑥𝑖−1 −𝑥𝑖 )


𝑥𝑖+1 = 𝑥𝑖 − (1.21)
𝑚(𝑥𝑖−1 )−𝑚(𝑥𝑖 )

Soru: 𝑓(𝑥) = (𝑥 − 3)(𝑥 − 1)(𝑥 − 1) = 𝑥 3 − 5𝑥 2 + 7𝑥 − 3 denkleminin kökünü 𝑥1 = 𝑥(0) = 0 ilk


koşulu için (1.20) formülünü kullanarak hesaplayınız.

Cevap:

3.iterasyonda x=1 kökü 0.00024 hata toleransı ile elde edilir.

Eğer aynı problemde x=3 kökü bulunmak istenir ise, 5. iterasyonda 𝑥1 = 𝑥(0) = 4 ilk koşulu için (1.20)
formülünü kullanarak, 2*10-7 hata toleransı ile bulunur. (işlemleri elle yaparak sonuçları kontrol ediniz)

Doğrusal olmayan denklemin MATLAB yazılımı ile çözülmesi

Soru 1: 𝑓(𝑥) = 𝑥 3 − 5𝑥 2 + 7𝑥 − 8𝑒 −2𝑥

denkleminin [0 ;5] aralığındaki tüm köklerini bulunuz.

Çözüm
>> x=fsolve(@(x) x.^3-5*x.^2+7*x-8*exp(-2*x), [0 5])
x =
0.5711 2.2911

Soru 2: 𝑓(𝑥) = 𝑥 3 − 5𝑥 2 + 7𝑥 − 8𝑒 −2𝑥

denkleminin 0 civarındaki kökünü bulunuz.

Çözüm
>> x=fzero(@(x) x^3-5*x^2+7*x-8*exp(-2*x), 0)
x =
0.5711
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-13

Polinom tipi denklemin MATLAB yazılımı ile çözülmesi

Soru 1: 𝑓(𝑥) = 𝑥 3 − 5𝑥 2 + 7𝑥 − 8

denkleminin tüm köklerini bulunuz.

Çözüm
>> katsayi=[1 -5 7 -8];
>> tum_kokler=roots(katsayi)
tum_kokler =
3.6906 + 0.0000i
0.6547 + 1.3187i
0.6547 - 1.3187i

Soru 2: 𝑓(𝑥) = 𝑥 3 + 7𝑥 − 8

denkleminin tüm köklerini bulunuz.

Çözüm
>> katsayi=[1 0 7 -8];
>> tum_kokler=roots(katsayi)
tum_kokler =
-0.5000 + 2.7839i
-0.5000 - 2.7839i
1.0000 + 0.0000i

2) Doğrusal Olmayan Denklem Sisteminin Köklerinin Bulunması

Eğer çözülmesi istenen denklem sayısı birden çok ise, diğer bir ifade ile denklem sistemi;

𝑓1 (𝑥1 , 𝑥2 , 𝑥2 , … . . , 𝑥𝑛 ) = 0

𝑓2 (𝑥1 , 𝑥2 , 𝑥2 , … . . , 𝑥𝑛 ) = 0

..........................................

𝑓𝑛 (𝑥1 , 𝑥2 , 𝑥2 , … . . , 𝑥𝑛 ) = 0 (1.22)

olarak verilmiş ise n adet bilinmeyeni bulmak için açık yöntemler kullanılır.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-14

2.1) Sabit Noktalı İterasyon Yaklaşımı

Bu yöntemde her bir denklemde farklı bir sabit yalnız bırakılır. Örneğin 1.denklemde 𝑥1 , 2.denklemde
𝑥2 , ...., n. denklemde ise 𝑥𝑛 değişkeni yalnız bırakılır. Örnek 1.6 bu yöntemi anlamak için incelenmelidir.

Örnek 1.6

𝑓(𝑥) = 𝑥 2 + 𝑥𝑦 − 8 = 0; 𝑔(𝑥) = 𝑦 + 3𝑥𝑦 2 − 50 = 0

denklemlerinin köklerini, 𝑥1 = 1.5 ve 𝑦1 = 3.5 ilk koşulları için (1.14) şartını 𝑒𝑝𝑠𝑖𝑙𝑜𝑛 = 0.0001
şartını sağlayacak şekilde bulunuz. (Köklerin (4.047, -2.071) ve (1.69, 3.043) olduğu bilinmektedir.

Çözüm

−𝑥𝑖2 +8
𝑥𝑖+1 = 𝑦𝑖
(𝑓(𝑥) denkleminden elde edildi) (1.23)

𝑦𝑖+1 = −3𝑥𝑖 ∗ 𝑦𝑖2 + 50 (𝑔(𝑥) denkleminden elde edildi) (1.24)

İterasyonun ilerleme mantığı şu şekildedir:

1.iterasyon

a) (1.23) eşitliğinde 𝑥𝑖 yerine 𝑥1 = 1.5 ve 𝑦𝑖 yerine 𝑦1 = 3.5 konur ve 𝑥𝑖+1 = 𝑥2 = 1.6429


hesaplanır.

b) (1.24) eşitliğinde 𝑥𝑖 yerine 𝑥𝑖+1 = 𝑥2 = 1.6429 ve 𝑦𝑖 yerine 𝑦1 = 3.5 konur ve 𝑦𝑖+1 = 𝑦2 =


−10.3766 hesaplanır.

2.iterasyon

c) (1.23) eşitliğinde 𝑥𝑖 yerine 𝑥2 = 1.6429 ve 𝑦𝑖 yerine 𝑦2 = −10.3766 konur ve 𝑥𝑖+1 = 𝑥3 =


−0.5108 hesaplanır.

d) (1.24) eşitliğinde 𝑥𝑖 yerine 𝑥𝑖+1 = 𝑥3 = −0.5108 ve 𝑦𝑖 yerine 𝑦2 = −10.3766 konur ve


𝑦𝑖+1 = 𝑦3 = 34.0989 hesaplanır.

AÇIKLAMA

Verilen problemin köklerinin (4.047, -2.071) ve (1.69, 3.043) olduğu daha önce belirtilmişti. 2.iterasyon
sonunda y değerlerinin kökten ıraksadığı ve iterasyon adımları arttırıldıkça kökten uzaklaşıldığı
görülecektir (köklere yakınsama sağlanamayacaktır).

Eğer 𝑓(𝑥) ve 𝑔(𝑥) eşitliklerinde 𝑥𝑖+1 ve 𝑦𝑖+1 (1.23) ve (1.24) eşitlikleri yerine;
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-15

𝑥 2 = −𝑥𝑦 + 8 → 𝑥𝑖+1 = √−𝑥𝑖 ∗ 𝑦𝑖 + 8 (1.25)

−𝑦𝑖 +50
𝑦 + 3𝑥𝑦 2 − 50 → 𝑦𝑖+1 = √ 3𝑥𝑖
(1.26)

(1.25) ve (1.26) ifadeleri kullanılarak yukarıdaki iterasyon mantığı uygulansaydı köklere ulaşamak
mümkün olabilecekti (burada ispatı yapılmayacaktır).

Sonuç olarak, Basit Sabit Noktalı iterasyon yönteminin doğrusal olmayan denklem sistemlerinin
çözümünde kullanılması zaaf oluşturmaktadır: Çözüm, x ve y değerlerinin nasıl bulunduğuna bağlı
olarak değişmektedir. Yani, 𝑓(𝑥) ve 𝑔(𝑥) denklemlerinin kökleri ancak (1.23) yerine (1.25) veya (1.24)
yerine (1.26) ifadeleri kullanıldığında bulunabilmektedir. Fakat çözümün x ve y değerlerinin elde ediliş
biçimine göre değişmemesi gerekmektedir. Bu nedenle Sabit Noktalı İterasyon Yaklaşımı'nı doğrusal
olmayan denklem sistemlerinde tercih etmek isabetli olmayabilir.

2.2) Newton-Raphson Yaklaşımı

Newton yönteminin bir adet lineer olmayan bir denklemin köklerini bulmak için nasıl kullanıldığı bölüm
8’de gösterilmişti. Burada da aynı yaklaşım geçerlidir.

 f ( x , x  ,.., x n ) 
 f ( x , x ,.., x ) 
F( X )      n 
(1.27)
 .... 
 
f n ( x , x  ,.., x n ) 

Yukarıda verilen ‘n’ adet lineer olmayan eşitlik;

 x ( ) 
 () 
x 
X ( )     (1.28)
 . 
 x (n) 

noktası civarında Taylor serisine açılır ve ikinci (dahil) üst dereceden türevler ihmal edilerek (k+1).
iterasyon için;

 f1 f1 f 
 ..... 1 
 f ( x ( k 1) ,.., x ( k 1) )   f ( x ( k ) , x ( k ) ,.., x ( k ) ) 
 x1 x1  x1k x 2 x  x k x n x  x k   x ( k 1)  x ( k ) 
1 1 n  1 1 2 n 

2 2 n n  1
 ( k 1)
1 
f 2 ( x ( k 1) ( k 1)  ( k ) ( k )
f 2 ( x , x ,.., x (nk ) )   (k ) 
1 ,.., x n ) 1 2  f 2 f 2
.....
f 2  2 x  x 2 
   
 ....   ....   x1 x1  x1k x 2 x  x k x n x  x k   .... 
2 2 n n 
 ......   .....   ............  .... 
 ( k 1)      
f n ( x1
(
,.., x n k 1) ) f n ( x1 , x 2 ,.., x n )  f n
(k ) (k ) ( k ) f n f 
..... n x n  x kn   x n
( k 1) ( k
 x n  )

 x1 x1  x1k x 2 x  x k
2 2
x n 
(1.29)

bulunur. (1.29) eşitliği matris eşitliği olarak yazılırsa;


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-16

F(X(k ) )  F(X (k ) )  J(X (k ) )X (1.30)

elde edilir. (1.30) ifadesindeki J’ye Jacobien matris adı verilir. Jacobien matrisin her bir satırının
fonksiyonlardan birinin tüm değişkenlerine göre türevlerinin alınmasından oluştuğu görülmektedir.
(1.30) eşitliğindeki X vektörü; tüm değişkenlerin (k+1). iterasyondaki değeri ile k. iterasyondaki
(k )
değeri arasındaki farkı göstermektedir. Newton algoritmasında (1.30) eşitliğindeki F(X ) vektörü

(k )
ve J(X ) matrisi her iterasyon için ayrıca hesaplanır. Newton algoritmasının (k+1). iterasyonda
yakınsaması için;

F(X(k ) )   (1.31)

olmalıdır. Bu durumda (1.30) eşitliği;

F(X(k ) )  J(X(k ) )X   (1.32)

şekline gelecektir. (1.32) eşitliğinden;

 J(X(k ) )X  F(X(k ) ) (1.33)

(k ) (k )
elde edilir. (1.33) eşitliğinde J(X ) ve F(X ) matrisleri daha önceki iterasyonlarda hesaplandıkları
için, doğrusal denklem sistem çözüm tekniklerinin her hangi biri kullanılarak X vektörü kolaylıkla
çözülebilir. X değeri bulunduktan sonra bir sonraki iterasyonda kullanılacak X ( k ) değeri ;

X ( k )  X ( k )  X (1.34)

ifadesinden hesaplanabilir. İterasyon;

X  epsilon (1.35)

şartı sağlanıncaya kadar devam eder.

Örnek 1.7

A(x, y)  x   x  y; B(x, y)  x  y    y;

denklemlerinin köklerini (x,y) bulmak için Newton-Raphson yaklaşımı kullanılacaktır. Elle hesaplama
yaparak ve ilk koşul olarak; x=0; y=1 alarak,

a) İlk iterasyon sonunda, yakınsama sağlanıp sağlanamadığını kontrol ediniz. Epsilon (hata tolerans)

değerini eps = 0.01 alınız.

b) x ve y'nin ikinci iterasyona girerken alacağı yeni değerleri bulunuz.

Çözüm
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-17

 A A 
A( x () , y () ) A( x () , y () )  x x  x y y  y   x ()  x () 
() ()

a)  () ()  
 ( ) ( ) 
   () 
 B( x , y )   B( x , y )   B B
()  
 y  y () 
 x x  x y y  y 
()

   A ( x (  ) , y (  ) )    x   x    y    x ()  x () 
        
( ) ( )  y   y    y ()  y () 
   B( x , y )    x   


      x ()         x ()    x ()    . 
        ()           ()    ()    .
     y        y    y    

 .  eps 
 
  .  eps

olduğundan, ilk iterasyonda kökler bulunmuş olamaz.

 x ()   .   . 


b)  ()      (ikinci iterasyon başlangıç değerleri)
 y   .   .

Doğrusal olmayan denklem sistemlerinin MATLAB yazılımı ile köklerinin bulunması

Soru 1: f (x, x  , x  )  x  x   x 

f  (x, x  , x  )  x  x   x   

f  ( x, x  , x  )  x  x 

doğrusal olmayan denklem sisteminin köklerini, x0=[0.1 -1 2] başlangıç koşulları altında


bulan matlab programı yazınız.

Çözüm

>> x0
>>x=fsolve(@kokbulma5_5, [0.1 -1 2])
x =
0.5559 -0.5559 0.6180

Yukarıda kullanılan kokbulma5_5.m adlı alt program dosyası ise şöyledir:


function F = kokbulma5_5(X)
F=[X(1)^2+X(2)^2-X(3);
X(1)^2+X(2)^2+X(3)^2-1;
X(1)+X(2)];
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-18

3) Doğrusal Denklem Sistemlerinin Köklerinin Bulunması

3.1) Basit Gauss Eleme Yaklaşımı

Genel olarak n. dereceden doğrusal denklem sistemi (açık formda);

ax  a x   .....  a1n x n  b (1.36.a)

a x  a  x   .....  a 2n x n  b  (1.36.b)

a x  a  x   .....  a 3n x n  b  (1.36.c)

…………………………………..

a nx  a n  x   .....  a nn x n  b n (1.36.d)

şeklinde yazılır. (1.36) denklem sisteminin köklerinin bulunma işlemi iki aşamalı yapılır: İleriye doğru
eleme ve geriye doğru yerine koyma. Bir yaklaşımın bilgisayar yardımı ile çözülmesi istendiğinde en
büyük sıkıntı sıfıra bölme hatasının varlığıdır. Gauss yöntemi bu problemi önemsemeden çözüm arar.
Bu nedenle bu yaklaşıma "Basit" Gauss Eleme yaklaşımı adı verilmiştir.

Birinci adım: İleriye doğru eleme


Bu adımda denklem sistemi üst üçgen formuna sokulmaya çalışılır. Önce 𝑥1 değişkeni (1.36.b)
eşitliğinden (1.36.d) eşitliğine kadar elenir. Bunu yapmak için (1.36.a) eşitliği (𝑎21 /𝑎11 ) katsayısı ile
çarpılır. Bu durumda (1.36.a) eşitliği;
a a b
ax  a x   ..... a 1n x n   a (1.37)
a a a

olacaktır. Şimdi ise (1.37) eşitliği (1.36.b) eşitliğinden çıkartılırsa;

a a a
  (a    a ) x   .....  (a n   an ) x n  b    b (1.38)
a a a

elde edilir. (1.38) eşitliği (1.39) formunda da yazılabilir:

  a ' x   .....  a 'n x n  b' (Bu eşitlik (1.36b) yerine yazılır) (1.39)

Benzer işlem diğer denklemler için de tekrarlanır. Örneğin (1.36.a) eşitliği (𝑎31 /𝑎11 ) katsayısı ile çarpılır
ve (1.36.c) eşitliğinden çıkartılır. Benzer işlemler (1.36) nın tüm denklemleri için yapılırsa, (1.36)
eşitlikleri (1.40) ile verilen forma dönüşürler.

ax  a x   .....  a1n x n  b (1.40.a)

  a ' x   .....  a '2n x n  b' (1.40.b)

  a ' x   .....  a 3n
'
x n  b' (1.40.c)

.............................................

  a 'n  x   .....  a 'nn x n  b'n (1.40.d)


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-19

(1.36.a) eşitliğine pivot denklemi, 𝑎11 elemanına ise pivot katsayısı adı verilir.

Şimdi (1.36) eşitliklerinde şu ana kadar yapılan tüm işlemleri 𝑥2 değişkenini yok etmek için

tekrarlanmalıdır (bu durumda pivot denklem (1.36.b) , 𝑎22 ise pivot katsayısı olacaktır). Bunun için ise
′ ′
ilk olarak (1.40.b) eşitliği (𝑎32 /𝑎22 ) katsayısı ile çarpılır ve elde edilen sonuç (1.40.c) eşitliğinden
çıkartılır. Benzer işlemler (1.40) eşitliğinin geri kalanına da uygulanırsa;

ax  a x   .....  a1n x n  b (1.41.a)

  a ' x   .....  a '2n x n  b' (1.41.b)

    a '
' ''
x   .....  a 3n x n  b'' (1.41.c)

.............................................

    a 'n'  x   .....  a 'nn


'
x n  b'n' (1.41.d)

elde edilir. (1.41) eşitliklerinde görülen üssün iki kere tekrarlanması, ilgili elemanın değerinin iki kere
değiştirildiği anlamına gelir.

Bundan sonra geriye kalan pivot denklemler kullanılarak işleme devam edilir. İşlemin son adımı (n-1).
denklemi kullanarak n. denklemden 𝑥𝑛−1 'inci değişkeni elemektir.

Eğer doğrusal denklem sistemi matris formunda yazılır ise bu aşamadan sonra (1.36) eşitlikleri (1.42)
eşitlikleri ile verilen üst üçgen formuna gelir.

ax  a x   .....  a1n x n  b (1.42.a)

  a ' x   .....  a '2n x n  b' (1.42.b)

      a '
' ''
x   .....  a 3n x n  b'' (1.42.c)

.............................................
(n )
      .....  a (n -1)
nn x n  b n (1.42.d)

İkinci adım: Geriye doğru yerine koyma


(1.42.d) eşitliğinden 𝑥𝑛 değişkeni çözülebilir. Bu sonuç (n-1). eşitlikte yerine yazılarak 𝑥𝑛−1
değişkeninin değeri bulunur. İşlemler bu şekilde geriye doğru yapılarak en son 𝑥1 değişkeninin değeri
bulunur.

 a a ... an   x   b 


a    
  a  ... a n   x    b  
 .. .. .. ..   ..   .. 
        A*x=B (1.43)
 .. .. .. ..   ..   .. 
 .. .. .. ..   ..   .. 
    
a n a n  ... a nn   x n  b n 
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-20

(1.43)’de görülen A matrisine 'katsayılar matrisi' denir. Eğer B vektörü sıfır ise (1.43) ile verilen denklem
sistemine 'homojen denklem sistemi' adı verilir. Bu durumda homojen sistemin geçerli çözümü, ancak
n. dereceden A matrisinin rank’ının N’den küçük ise (rank(A)< N ) mümkün olur. Bu durum aynı
zamanda A =0 olması gerektiğini gösterir. Bu tür bir sistem (A*X=0 sistemi) A =0 olduğundan birden
fazla çözüme sahiptir. B vektörünün sıfırdan farklı olması durumunda N bilinmeyenli lineer bir denklem
sistemi oluşur. Genişletilmiş A matrisi;

C  A B (1.44)

olmak üzere, C matrisinin rankı ile A matrisinin rankının aynı olması durumunda (rank(C) = rank(A)
ise) bu lineer denklem sistemi bir çözüme sahiptir. Bu durumda Ax=B sistemi bir yada daha fazla sayıda
çözüm içerir. Homojen olmayan sistemin çözümünün tek olması için A katsayılar matrisinin rankı
(bilinmeyen sayısı olan) n değerine eşit olmalıdır. Eğer rank(A)<N olursa sistemin belirli olmayan pek
çok çözümü vardır.

Örnek 1.8

 x  x  x   
x   x   x   
  x   x    x   

Yukarıda verilen 3. dereceden lineer denklem sisteminin köklerini Basit Gauss Eleme yaklaşımı ile
bulunuz.

Çözüm

ax  a x   a x   b        x    


a x  a  x   a  x   b         x     
a x  a  x   a  x   b         x     

elde edilir. Gauss eliminasyon yöntemi ile lineer denklem sistemini sağlayan x değerleri bulunmak
istensin:

Adım 1: Öncelikle A matrisi genişletilmelidir:

     
      
 
      

Adım 2: 1. satır dışındaki tüm satırlardaki x1 katsayıları sıfırlanmalıdır. Elde edilen genişletilmiş A
matrisinin ilk satırını olduğu gibi bırak.

İlk işlem 2. satıra uygulanmalıdır; İlk satırı a    ile çarp a   ’ye böl ve elde edilen yeni satırı eski
2. satırdan çıkart. Elde edilen satırı 2. satır olarak ata:

ax  a x   a x   b     


a  ' x   a  ' x   b  '     /    /   

a x  a  x   a  x   b        
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-21

Benzer işlem 3. satıra uygulanmalıdır; İlk satırı a    ile çarp a   ’e böl ve elde edilen yeni satırı
eski 3. satırdan çıkart. Elde edilen satırı 3. satır olarak ata:

ax  a x   a x   b     



a  ' x   a  ' x   b  '    /    /   
a  ' x   a  ' x   b  '      

Adım 3: 2. satır dışında ileriye doğru tüm satırlardaki x 2 katsayıları sıfırlanmalıdır. Amaç ana köşegenin
alt tarafını tümüyle sıfırlamaktır:

İkinci satırı a    ile çarp a    /  ’ye böl ve elde edilen yeni satırı eski 3. satırdan çıkart. Elde
edilen satırı 3. satır olarak ata:

ax  a x   a x   b      


a  ' x   a  ' x   b  '    /    /    

a  ' ' x   b  ' '     / 

Son durum için eşitlikler tekrar yazılır ise;

 x  x  x   
(/2)x   (9/2)x    3
3x   7/3

elde edilir. Yerine koyma yaklaşımı kullanarak sıra ile x   ., x   . ve x  .
değerleri bulunur.

Basit Gauss eliminasyon yöntemi ile çözülebilecek bir çok denklem sistemi olmasına karşın, yöntemi
uygulamak için genel bir bilgisayar programı yazmadan önce araştırılması gereken bazı tuzak noktalar
vardır. Bu tuzaklar (diğer eliminasyon yöntemleri için de geçerlidir) aşağıda maddeler halinde
açıklanmıştır:
 Hem ileriye doğru eleme hem de geriye doğru yerine koyma aşamalarında sıfıra bölme olasılığıdır.
A matrisinin katsayılarından birinin sıfıra yakın olması durumunda da sorun ortaya çıkar. Bu
sorunları kısmen çözebilmek için pivotlama tekniği geliştirilmiştir.
 Bilgisayarlar yaptıkları çarpma, bölme vb. işlemlerde hesaplama sonunda elde edilen rakam
değerinde yuvarlama yapar ve bu yeni (yuvarlatılmış) değeri bir sonraki işlemde kullanır. Özellikle
büyük sayıda denklem çözüleceği zaman yuvarlama hataları (daha sonraki hesaplama adımlarında)
büyük önem kazanır. Genel olarak 100 adımlık işlemlerdeki yuvarlama hataları önem kazanmaya
başlar. Hesaplama sonunda elde edilen değerleri Ax=B lineer eşitliğinde yerlerine koyarak bariz bir
hatanın oluşup oluşmadığı kontrol edilebilir.
 Ax = B eşitliğinde yer alan A matrisi 'hasta' matris olabilir. Aşağıda 'hasta' matris tanımına uyan bir
örnek matris gösterilmektedir (matlab kodları yardımı ile).

>> A=[3.021 2.714 6.913; 1.031 -4.273 1.121; 5.084 -5.832 9.155]
A =
3.0210 2.7140 6.9130
1.0310 -4.2730 1.1210
5.0840 -5.8320 9.1550
>>b=[12.648;-2.121;8.407]
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-22

b =
12.6480
-2.1210
8.4070
>>A\b
ans =
1.0000
1.0000
1.0000

Eğer A matrisindeki (2,2) elemanının değeri çok az değiştirilir ise (-4.2730 yerine –4.2750)
kullanılırsa);
>> A(2,2)= -4.2750
A=
3.0210 2.7140 6.9130
1.0310 -4.2750 1.1210
5.0840 -5.8320 9.1550
>>A\b
ans =
-1.7403
0.6851
2.3212

elde edilir. Görüldüğü gibi A matrisi ileri derecede bir 'hasta' matristir. Yuvarlama hatalarının 'hasta'
sistemler için ne kadar önemli olduğu ortadadır. Mühendislik problemlerinden elde edilen lineer
denklemlerin çoğunda, doğaları gereği, A matrisi 'hasta' matris özelliklerine sahip değildir.
 Eğer (N*N) boyutlu A matrisi içinde birbirlerinin aynısı (ya da katları) olan iki satır (ya da sütun)
mevcut ise A matrisinin rankı 1 azalır (N-1 olur), bu durumda N adet bilinmeyeni çözmek için N-1
adet denklem kullanılır. Bu durumda çözüm imkansızdır. Bu durumda A matrisi 'tekil' olacaktır ve
daha önce de bahsedildiği gibi tekil matrislerin determinantları sıfırdır. Eliminasyon işlemleri
yapılırken genişletilmiş A matrisinin köşegen elemanlarından bir tanesi sıfır olduğunda algoritma
içine bir kesme komutu konularak çıkışa da matrisin 'tekil' olduğu ve bu nedenle işlemin devam
edemeyeceği uyarısı yazılabilir.

Eliminasyon yöntemlerinin tuzaklarını gidermek için başlıca üç yaklaşım kullanılır:


 Hesaplamalarda daha fazla anlamlı basamak kullanmak. Sayıların duyarlılıklarını artırmak.
 Gauss eliminasyon yönteminde ileri doğru hesaplamalarda paydaya getirilen (pivot) sayı sıfır
olduğunda sorun çıkar. Eğer pivot eleman sıfır olmayıp sıfıra yakın bir sayı olsa dahi sorun ortadan
kalkmış olmaz. Bu durumda pivot elemanı diğer matris elemanlarına oranla küçük olursa yuvarlama
hataları ortaya çıkacaktır. Pivot elemanının altındaki sütunun en büyük katsayısını belirlemek bir
avantaj sağlar. Satırların yeri, en büyük eleman pivot elemanı olacak şekilde değiştirilebilir. Bu
işleme ‘kısmi pivotlama’ adı verilir. Eğer sütunlarla birlikte satırlarda en büyük eleman için
taranırsa ve sonra yer değiştirilirse bu sürece ‘tam pivotlama’ adı verilir. Tam pivotlama ortaya
çıkan karışıklıklar nedeni ile sık kullanılmaz. Sıfıra bölmeyi önlemenin yanında, pivotlama aynı
zamanda yuvarlama hatalarını da en aza indirir. Böylece 'hasta' sistemlere karşı bir tedbir alınmış
olur.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-23

3.2) Basit (Jacobi) iterasyonu

Genel olarak iteratif yöntemlerde izlenen yol; denklem çözümüne yaklaşık bir çözüm takımı ile
başlamak ve belirli bir algoritmayı tekrarlayarak, gerçek çözümü en az hata ile hesaplamak mantığına
dayalıdır. Dolaylı yöntemler olarak da adlandırılan bu yöntemler, hem algoritmalarının kolayca
hesaplanabilir olmaları, hem de yuvarlama hatalarının en az ve iterasyon sayısı arttıkça hata birikimi
olmaması açısından sık kullanılırlar. Basit (diğer adı ile Jacobi) iterasyon adı verilen yaklaşım ile Gauss-
Seidel iterasyon yöntemi iteratif yöntemlerin başında gelmektedir. Ancak unutulmamalıdır ki iteratif
yöntemlerin en önemli problemi, yakınsama problemidir. Bazı tip problemlerde Gauss-Seidel, bazı tip
problemlerde ise Jacobi iterasyonu daha çabuk yakınsar. Eğer bir problemde her iki iteratif yaklaşım
kullanılarak yakınsama sağlanıyor ise daha hızlı olması nedeni ile ‘Gauss-Seidel’ yöntemi tercih
edilmelidir.

Jacobi iterasyonunun yakınsayabilmesi için A matrisinin ana köşegen üzerindeki elemanlarının mutlak
değerlerinin bir koşulu (strictly diagonally dominant) yerine getirmesi gerekmektedir; A matrisinin i.
satırının köşegen üzerindeki değeri ( a ii )’nin mutlak değeri A matrisinin i. satırındaki tüm elemanların
mutlak değerlerinin toplamından büyük olmalıdır. Aşağıda verilen lineer denklem sistemi Jacobi
iterasyonu ile çözülsün:

x  x   x         x    
x   x   x          x        Ax  B
 x  x    x          x   

Yukarıdaki eşitliklerden;

( 0) ( 0) ( 0) ( 0) ( 0) ( 0)
(1) 3  3x 2  x 3 (1) 5  x 1  3x 3 (1) 11  2 x 1  x 2
x1  ; x2  ; x3 
5 7 4

( 0) (0) (0)
elde edilir. Eğer program x1  1; x2  0; x3  1 başlangıç değerleri ile başlar ise;

  *      *   *    *  
x()    . ; x ()   . ; x ()   .
  

birinci iterasyon sonunda bulunan değerler ile ikinci iterasyona gidilir ve bu işlem bu şekilde devam
ettirilir ise Tablo 1.7’de gösterildiği gibi 19. iterasyonda;

x()  . ; x ()  . ; x ()  .


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-24

Tablo 1.7

3.3) Gauss-Seidel iterasyonu

Gauss-Seidel yöntemi aynı Basit Jacobi iterasyonu gibi çalışır, tek farkı ise iterasyon içinde diğer
iterasyona daha başlamadan, değişken değerlerinde tekrar bir düzeltme yapılmasıdır. Aşağıdaki örnek
dikkatli bir şekilde analiz edilerek değişkenlerde düzeltmenin nasıl yapıldığı izlenmelidir:

( ) (0) (0)
Jacobi iterasyonunda x (0) başlangıç değerleri sırayla; ( x  ; x 2  ; x 3   )

  x ()  x ()   x()  x ()   x()  x ()


x()  ; x ()  ; x () 
  

eşitliklerinde yerlerine konulmuştu. Gauss-Seidel yönteminde ise ilk eşitlikte ( x ' e ilişkin)
()
x (0) (0)
2  ; x 3   değerleri yerlerine konur. Elde edilen x  . değeri (yine aynı iterasyon
içindeki);

  x()  x ()   .  


x ()    .
 

eşitliğinde yerine konulur. Yukarıda elde edilen x() ve x () değerleri ise x () eşitliğinde yerine
konulursa;

  x()  x ()
x ()  = 2.3929

bulunur. Aynı problem Jacobi iterasyonu ile çözüldüğünde ilk iterasyon sonunda;

x()  . ; x ()  . ; x ()  .


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-25

bulunmuştu. Gauss-Seidel yaklaşımında ise

x()  . ; x ()  . ; x ()  .

bulunur. Böyle bir yaklaşım yakınsamayı çabuklaştırarak hesaplamanın daha çabuk bitmesini temin
eder. Gauss-Seidel yaklaşımında da Jacobi yaklaşımında olduğu gibi, A matrisinin ana köşegen
elemanlarının mutlak değerleri, aynı satır üzerinde yer alan diğer elemanların mutlak değerlerinin
toplamından daha büyük olmalıdır. Aksi halde yakınsama sağlanamaz.

Tablo 1.8

Yukarıdaki işlem diğer iterasyonlar içinde yapıldığında elde edilen sonuçlar Tablo 1.8’de gösterilmiştir.
Tablo 1.7 ile Tablo 1.8 arasında bir karşılaştırma yapıldığında Gauss-Seidel yaklaşımında çok daha az
iterasyon sayısı ile yakınsama sağlandığı görülmektedir. Her iki yaklaşımın aynı probleme aynı ilk
koşullar altında uygulandığı da unutulmamalıdır.

Doğrusal denklem sistemlerinin MATLAB yazılımı ile köklerinin bulunması

Soru 1:

x  x   x   
x   x   x   
 x  x   x   

Yukarıda verilen 3. dereceden lineer denklem sisteminin köklerini bulan matlab programı yazınız.

Çözüm

>>A=[2 -1 3; 1 4 -3; -6 -2 9];

>> B=[4; -1; 7];

>> X=A\B

X =

0.4615

0.5385

4) Eğri1.2051
Uydurma
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-26

4) Eğri Uydurma

Yapılan n adet ölçme sonunda n adet ( x i ) ölçüm sonucu elde edilsin (i=1,..,n). Daha sonra bu ölçüm
değerleri x-y koordinat sistemine işaretlensin. x i değerleri temsil eden en uygun y=f(x) eğrisini bulma
işlemine eğri uydurma (curve fitting) adı verilir.

Yapılan n adet ölçme sonunda n adet ( x i ) ölçüm sonucu elde edildiğinde tüm ölçme sonuçlarını
içermeye çalışan birden çok eğri çizilebilir. Bu eğriler içinde en uygun olanın nasıl tespit edileceği
konusunda izlenen yaklaşımlardan en önemlisi en küçük kareler metodudur. Bu yaklaşımda, tahmin
edilen eğri ile, ölçülen değerler arasındaki fark, en aza indirilmeye çalışılır. Ölçüm sonuçlarından istifade
edilerek hesaplanan eğri denkleminin, tüm ölçüm sonuçlarını sağlama zorunluluğu yoktur. Burada
amaç, ölçüm sonuçlarına en yakın yani en az hatalı eğriyi elde etmektir. Eğri uydurma işleminde
uydurulacak eğrinin denklemi (y=f(x)) doğrusal olabileceği gibi doğrusal olmayan polinom (veya başka)
türde de olabilir.

4.1) Doğrusal eğri uydurma

Ölçme sonunda elde edilen değerler ( y k ) ile (doğrusal) tahmin vektörü ( ŷ ) arasındaki farkın karesinin,
ölçüm sayısına (N) bölünmesi ile hesaplanan ortalama karesel hata (OKH);

 N 
OKH =  ( ŷ - y k ) (1.45)
N k 

ve bu değerin karekökü olan;

KOKH = OKH (1.46)

değeri ne kadar küçük ise eğri uydurma o kadar başarılıdır denilebilir. Bunun için ilk adım olarak katsayıları
bilinmeyen tahmini bir doğrusal denklem (y= a t  a  ) tasarlamaktır. Denklemde kullanılan a ve a  değerleri
en küçük kareler yaklaşımı ile bulunur;

1 N 2 1 N 2
OKH =  ( ŷ - y k ) =  (a1t k  a 2  y k ) (1.47)
N k 1 N k 1

olur. Bulunacak eğrinin en uygun eğri olabilmesi için, OKH ifadesinin y(t) denklem katsayılarına ( a , a  ) göre
türevleri sıfır olmalıdır:

OKH  N  N 
  (at k  a   y k ) t k   a t k  a  t k  t k y k (1.48)
a N k  N k 

OKH   N    N   N 
   t k a    t k a     t k y k  =0 (1.49)
a N  k    k    k  

OKH  N
  ( a  t k  a   y k ) (1.50)
a  N k 

OKH   N   N 
   t k a  Na     y k  = 0 (1.51)
a  N  k    k  
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-27

2/N katsayısı ihmal edilerek (1.49) ve (1.51) denklemleri matris formunda yazılırsa;

N  N  N 
  t k  t k  a    t k yk 
k  k       k   (1.52)
 Nt   a  N
y 
k k  k k 
N


elde edilir. (1.52) eşitliğinin çözümünden elde edilecek katsayılar minimum hata ile bulunan katsayılar olacaktır.

Örnek 1.9

Bir cismin t=1:6 saniye arasındaki hız değerleri Tablo 1.9’da verilmiştir.

a) Tablo 1.9’da verilen değerleri eksen takımı üzerine işaretleyiniz. Aynı eksen yakımı üzerine y=-10*t
eğrisini Tablo 1.9’da verilen değerleri kullanarak çiziniz.

Tablo 1.9
Zaman (s)
𝑡𝑘 → 1 2 3 4 5 6
Hız (km/saat)
𝑦𝑘 → -12 -19 -32 -39 -48 -57

b) (1.52) formülünü kullanarak 𝑦 = 𝑎1 𝑡 + 𝑎𝑜 denkleminin katsayılarını bulunuz.

Çözüm

a) Ölçüm sonuçları Şekil 1.6’da siyah noktalar olarak gösterilmiştir. y=-10*t eğrisi ise siyah noktalara
en yakın geçecek şekilde çizilmeye çalışılan tahmini bir eğridir. Şekil 1.6’ya tahmini eğri de ilave
edilmiştir.

Tahmini eğri

Şekil 1.6
b)

N  N 
  tk  tk        
k  k                               
 
 N       
  tk N  
 k  
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-28

 N 
  t k y k  * ()   * ()   * ()   * ()   * ()   * ()     
k  =  =  
 N    (          )     
  k 
y
 k  

   a    


   a  =  
     

𝑎1 = −9.1143
𝑎𝑜 = −2.60

Doğrusal eğri uydurma işleminin MATLAB yazılımı yapılması

Soru 1: Örnek 1.9'u çözen matlab komutlarını üretiniz.

Çözüm
>>t =1:6; hiz = [-12 -19 -32 -39 -48 -57];
>>a = polyfit(t,hiz,1) % 1 rakamı uydurulan eğrinin 1.dereceden olduğunu

a = % göstermektedir.

-9.1143 -2.6000 % [a1 ao]

4.2) Doğrusal olmayan eğri uydurma (2.dereceden polinom)

Ölçüm sonucu elde edilen değerleri temsil edecek en uygun 2. dereceden bir polinomun katsayıları
yine yukarıda verilen mantık ile uyumlu olacaktır. Örneğin, Tablo 1.9'da verilen değerlere en uygun
ikinci mertebeden bir polinom;

𝑦 = 𝑎2 𝑡 2 + 𝑎1 𝑡 + 𝑎𝑜
olsun. Şimdiki amaç ise deney sonuçlarını temsil edebilecek en uygun 2. dereceden bir polinomun
katsayılarını bulmaktır. (1.48)-(1.51) eşitlikleri bu probleme taşınır ise;

1 N 2  N  
OKH =  ( ŷ - y k ) =  (at k  a  t k  a o  y k ) (1.53)
N k 1 N k 

OKH N
  t k (at k  a  t k  a o  y k ) = 0 (1.54)
a k 

OKH N 
  t k (at k  a  t k  a o  y k ) = 0 (1.55)
a  k 

OKH N
  (at k  a  t k  a o  y k ) = 0 (1.56)
a o k 

elde edilir. (1.54)-(1.56) eşitlikleri matrisel formda yazılırsa;


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-29

 N  t  t
 i i  a o    y i 
 
  t i  t   t    a     t i y i  (1.57)
  i i   
  
 t i  t i  t i  a    t i y i 
 

elde edilir.

Örnek 1.10

Örnek 1.9'da verilen deney sonuçlarına en uygun ikinci dereceden bir polinom katsayılarını
hesaplayınız.

Çözüm

     a o     
     a      
     
   a    

𝑎2 = −1.6
𝑎1 = −9.8643
𝑎𝑜 = −0.1071

Doğrusal olmayan eğri uydurma işleminin MATLAB yazılımı yapılması

Soru 1: Örnek 1.10'u çözen matlab komutlarını üretiniz.

Çözüm
>>t =1:6; hiz = [-12 -19 -32 -39 -48 -57];
>>a = polyfit(t,hiz,2) % 2 rakamı uydurulan eğrinin 2.dereceden olduğunu

a = % göstermektedir.

-1.6 -9.8643 -1.6 % [a2 a1 ao]

5) Ara Değer Bulma (İnterpolasyon)


Ölçüm sonuçlarından hareketle, bir fonksiyonun ölçüm aralığı içinde kalan fakat bilinmeyen
değerlerinin hesaplanması işlemine ara değer hesabı denir. Ölçüm sonuçları x-y koordinat düzleminde
yaklaşık bir doğru boyunca sıralanıyor ise, aranan ara değerler için doğrusal ara değer hesabı
kullanılması daha uygun olur. Ölçüm sonuçlarının x-y koordinat düzlemindeki sıralanışı bir doğrudan
ziyade lineer olmayan bir eğri boyunca ise eğrisel ara değer hesabı kullanılır. İnterpolasyon aralığı
daraldıkça daha doğru sonuçlar elde edilir.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-30

5.1) Birinci dereceden (doğrusal) ara değer hesabı

Şekil 1.7

Yapılan bir deneyde, k. ölçüm değeri olan x k değer için fonksiyonun aldığı değer; y k , (k+1). ölçüm
değeri olan x k 1 değeri için fonksiyonun aldığı değer ise; y k  olsun. Deneyde i. ölçüm yapılmamış
olduğundan x i ve buna karşı gelen y i değeri hakkında bir fikir istendiğinde doğrusal ara değer

yaklaşımı kullanılarak y i (x i ) değeri hesaplanabilir. Şekil 1.7’de verilen y k ( x k ) ve y i ( x i ) değerlerini


kullanarak;

y i  y k  m( x i  x k ) (1.58)

yazılabilir. (1.58) eşitliğinde kullanılan m değeri y(x) doğrusunun eğimi olup;

y  yk
m  k  (1.59)
x k   x k

eşitliği ile hesaplanır. (1.59) ifadesi (1.58)’de yerine konulur ise i.ölçüm değeri;

y  yk
yi  y k  k  (x i  x k ) (1.60)
x k   x k

ifadesi ile hesaplanır. Yukarıda da görüldüğü gibi aranan bir değeri bulabilmek için iki adet ölçüm
sonucuna ihtiyaç duyulmaktadır.

Örnek 1.11

Bir deneyde t (zaman) değerleri 0 ile 1 arasında 0.2 artarak değişirken, bu değerlere karşı gelen basınç
değerleri ise P = [0 3 7 9 11 15] vektörü ile değişmektedir. t  . ve t  . değerlerine karşı gelen
basınç değerlerinin bulunması istenmektedir. Birinci dereceden (doğrusal) interpolasyon ile bulunuz.

Çözüm

a) t  . değeri için; 𝑡𝑘 = 0.6, 𝑡𝑘+1 = 0.8, 𝑦𝑘 = 9, 𝑦𝑘+1 = 11 alınıp bu değerler (1.60) eşitliğine
konulursa;

t  . için aranan ara değer y=10 olacaktır.


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-31

b) t  . değeri için; 𝑡𝑘 = 0.8, 𝑡𝑘+1 = 1, 𝑦𝑘 = 11, 𝑦𝑘+1 = 15 alınıp bu değerler (1.60) eşitliğine
konulursa;

t  . için aranan ara değer y=13 olacaktır.

Bir boyutlu doğrusal ara değer bulma işleminin MATLAB yazılımı yapılması

Soru 1: Örnek 1.11'i çözen matlab komutlarını üretiniz.

Çözüm
>> t = 0:0.2:1; P = [0 3 7 9 11 15];

>> basinc = interp1(t,P,[0.7 0.9])

basinc =

10 13

5.2) Üçüncü dereceden (doğrusal olmayan) ara değer hesabı

Yöntem olarak Newton'un Bölünmüş Fark İnterpolasyon yaklaşımı seçilmiştir. Deney sonuçları elde
edildiğinde ; 𝑡𝑘 anında elde edilen 𝑦𝑘 sonucu ile ; 𝑡𝑘+1 anında elde edilen 𝑦𝑘+1 sonucu arasındaki bir
𝑡 anına (𝑡𝑘 < 𝑡 < 𝑡𝑘+1 ) ilişkin 𝑦 değeri (𝑦𝑘 < 𝑦 < 𝑦𝑘+1 ) değeri bulunurken bahsi geçen iki nokta arası
birinci dereceden bir eğri ile birleştirilmek yerine, örneğin üçüncü dereceden bir eğri ile birleştirilmesi
daha sağlıklı sonuç üretebilir. Bölüm 6.1'de birinci dereceden eğri üretirken 2 adet koordinat
kullanılmıştır. Bir başka ifade ile eğri mertebesi ile koordinat sayısı arasında bir sayı fark bulunmaktadır.
Bu alt başlıkta ise 2 nokta, 3. dereceden bir eğri ile birleştirileceğine göre 4 adet koordinata ihtiyaç
duyulacaktır.

Üçüncü dereceden polinom (n=3) aşağıda verilmiştir;

𝑓3 (𝑥) = 𝑎𝑜 + 𝑎1 (𝑥 − 𝑥𝑜 ) + 𝑎2 (𝑥 − 𝑥𝑜 )(𝑥 − 𝑥1 ) + 𝑎3 (𝑥 − 𝑥𝑜 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) (1.61)

(1.61) eşitliğinde görülen katsayılar;

𝑎𝑜 = 𝑓(𝑥𝑜 ) (1.62)
𝑓(𝑥1 )−𝑓(𝑥𝑜)
𝑎1 = 𝑥1 −𝑥𝑜
= 𝑓[𝑥1 , 𝑥𝑜 ] (1.63)

𝑓(𝑥2 )−𝑓(𝑥1 ) 𝑓(𝑥1 )−𝑓(𝑥𝑜 )



𝑥2 −𝑥1 𝑥1 −𝑥𝑜
𝑎2 = 𝑥2 −𝑥𝑜
= 𝑓[𝑥2 , 𝑥1 , 𝑥𝑜 ] (1.64)

𝑓(𝑥3 )−𝑓(𝑥2 ) 𝑓(𝑥2 )−𝑓(𝑥1 ) 𝑓(𝑥 )−𝑓(𝑥1 ) 𝑓(𝑥1 )−𝑓(𝑥𝑜 )


− −( 2 − )
𝑥3 −𝑥2 𝑥2 −𝑥1 𝑥2 −𝑥1 𝑥1 −𝑥𝑜
𝑎3 = 𝑥3 −𝑥𝑜
(1.65)

𝑓[𝑥3 ,𝑥2 ,𝑥1 ]−𝑓[𝑥2 ,𝑥1 ,𝑥𝑜 ]


𝑎3 = 𝑥3 −𝑥𝑜
= 𝑓[𝑥3 , 𝑥2 , 𝑥1 , 𝑥𝑜 ] (1.66)

ifadeleri kullanılarak hesaplanır. Bulunan bu katsayılar (1.61) eşitliğinde yerine konur. (1.61)-(1.66)
eşitliklerinde deney sonucunda elde edilen 4 adet 𝑥𝑜 , 𝑥1 , 𝑥2 , 𝑥3 yatay eksen değerleri, 𝑥 olarak ise
interpolasyon yapılacak yatay eksen değeri konulur.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-32

Örnek 1.12

Bir deneyde t (zaman) değerleri t = [0 0.2 0.4 0.6 0.8 1], bu değerlere karşı gelen basınç değerleri ise
P = [0 1 4 9 13 18] vektörü ile değişmektedir. t=0.7 değerine karşı gelen basınç değerinin bulunması
istenmektedir. 3. dereceden (kübik) interpolasyon ile bulunuz. 𝑡𝑜 = 0.4, 𝑡1 = 0.6, 𝑡2 = 0.8, 𝑡3 = 1

Çözüm

𝑓(𝑡𝑜 = 0.4) = 4, 𝑓(𝑡1 = 0.6) = 9, 𝑓(𝑡2 = 0.8) = 13, 𝑓(𝑡3 = 1) = 18

𝑎𝑜 = 𝑓(𝑡𝑜 = 0.4) = 4
𝑓(𝑡1 ) − 𝑓(𝑡𝑜 ) 9−4
𝑎1 = = = 25
𝑡1 − 𝑡𝑜 0.6 − 0.4
𝑓(𝑡2 ) − 𝑓(𝑡1 ) 𝑓(𝑡1 ) − 𝑓(𝑡𝑜 ) 13 − 9 9−4
𝑡2 − 𝑡1 − 𝑡1 − 𝑡𝑜 − 0.6 − 0.4
𝑎2 = = 0.8 − 0.6 = −12.5
𝑡2 − 𝑡𝑜 0.8 − 0.4
𝑓(𝑡3 )−𝑓(𝑡2 ) 𝑓(𝑡2 )−𝑓(𝑡1 ) 𝑓(𝑡 )−𝑓(𝑡1 ) 𝑓(𝑡1 )−𝑓(𝑡𝑜 )
− −( 2 − )
𝑡3 −𝑡2 𝑡2 −𝑡1 𝑡2 −𝑡1 𝑡1 −𝑡𝑜
𝑎3 = 𝑡3 −𝑡𝑜

18−13 13−9 13−9 9−4


− −( − )
1−0.8 0.8−0.6 0.8−0.6 0.6−0.4
𝑎3 = = 16.66
1−0.4

𝑓3 (𝑡 = 0.7) = 𝑎𝑜 + 𝑎1 (𝑡 − 𝑡𝑜 ) + 𝑎2 (𝑡 − 𝑡𝑜 )(𝑡 − 𝑡1 ) + 𝑎3 (𝑡 − 𝑡𝑜 )(𝑡 − 𝑡1 )(𝑡 − 𝑡2 )


𝑓3 (𝑡 = 0.7) = 4 + 25(0.7 − 0.4) − 12.5(0.7 − 0.4)(0.7 − 0.6) + 16.66(0.7 − 0.4)(0.7 − 0.6)(0.7 − 0.8)

𝑓3 (𝑡 = 0.7) = 11.075
elde edilir.

Bir boyutlu doğrusal olmayan (kübik) ara değer bulma işleminin MATLAB yazılımı yapılması

Soru 1: Örnek 1.12'yi çözen matlab komutlarını üretiniz.

Çözüm
>> t = 0:0.2:1; P = [0 1 4 9 13 18] ;
>> basinc = spline(t,P,0.7)

basinc =

11.0958 % 11.075 den farklı çıkmasının nedeni matlab ın kullandığı yöntemdir.


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-33

Bir boyutlu doğrusal olmayan dış değer bulma işleminin MATLAB yazılımı yapılması

Soru 1: Örnek 1.12'de x=6 ve x=9 için y değerlerini bulan matlab komutlarını üretiniz.

Çözüm
>> x =0:5;
>> y = [-12 -19 -32 -39 -48 -57];
>> hiz = interp1(x,y,[6 9],"linear","extrap")
hiz =
-66 -93 % çıkan sonuçlar (beklendiği gibi) y vektörünün dışında kalmaktadır.

6) Sayısal Türev
y(x) fonksiyonunun x’e göre türevi, y’deki değişimin x’deki değişime oranı anlamına gelir. y(x)’in türevi
y' (x ) ile gösterilir:

y(x=a)
Bu doğrunun eğimi (x=a)
y(x+Δx)
değerine eşittir

x=a x+Δx

Şekil 1.8
' dy( x )
y (x)  (1.67)
dx

y' (x ) değeri, y(x) fonksiyonuna x noktasında çizilen teğetin eğimi olarak ifade edilir. Şekil 1.8’de x=a
noktasındaki y(x=a) fonksiyonunun türevi; y' (x  a ) ile gösterilmektedir. y(x) fonksiyonunun x
noktasındaki türevi matematiksel olarak;

y( x )  y( x  x ) y( x )  y( x  x )
tg  y' ( x )  lim  lim (1.68)
x  x  ( x  x ) x   x

eşitliği kullanılarak hesaplanır. Sayısal türev işlemlerinde 𝑥𝑘 noktasında çizilen teğetin eğimi üç farklı
noktada alınabilir:
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-34

6.1. Geri Fark Yaklaşımı

Şekil 1.9(a)’da 𝑥𝑘−1 (𝑥𝑘 ’nın sol tarafındaki nokta) ve 𝑥𝑘 noktaları gözetilerek eğim hesabı yapılmaktadır
(geri fark yaklaşımı). Şekil 1.9(a)‘dan;

y( x k )  y( x k )
tg ()  y' ( x k )  (k değeri 2'den başlamak zorundadır) (1.69)
x k  x k 

elde edilir. (1.69) eşitliğinde x  x k  x k  olarak alınırsa;

y( x k )  y( x k )
y' ( x k )  (1.70)
x k

elde edilir.

6.2. İleri Fark Yaklaşımı

Eğim hesabı 𝑥𝑘−1 ve 𝑥𝑘 noktaları arasında yapılmaz, Şekil 1.9(b)’de gösterildiği gibi 𝑥𝑘 ve 𝑥𝑘+1 noktaları
arasında yapılırsa (ileri fark yaklaşımı);

y( x k 1 )  y( x k )
tg()  y ' ( x k )  (k değeri 1'den başlamak zorundadır) (1.71)
x k 1  x k

elde edilir. (12.7) eşitliğinde x  x k   x k olarak alınırsa;

y( x k )  y( x k )
y' ( x k )  (1.72)
x

a) b)
Şekil 1.9

elde edilir. (1.70) ve (1.72) eşitliklerinin her ikisi de y(x) fonksiyonunun 𝑥𝑘 noktasındaki türevi olmasına
rağmen farklı sonuçlar elde edilebilmektedir. Eğer  x mesafesi azaltılır ise (1.70) ve (1.72) eşitlikleri
arasındaki fark azalırken,  x mesafesi artırılır ise bu iki eşitlik arasındaki fark da artmaktadır.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-35

6.3. Merkezi Fark Yaklaşımı

(1.70) ve (1.72) eşitlikleri yerine (merkezi fark yaklaşımı);

1 y( x k 1 )  y( x k ) y( x k )  y( x k 1 ) y( x k 1 )  y( x k 1 )
y' (x k )  (  ) (k2 olmak zorundadır) (1.73)
2 x x 2x

eşitliği kullanılarak, y(x) fonksiyonunun 𝑥 = 𝑥𝑘 noktasındaki türevinin hesaplanmasına ilişkin


hesaplama hatası minimize edilebilir. (1.73) eşitliğinin payında görüldüğü gibi birbirini takip eden iki
sayı arasındaki fark değil, 𝑥𝑘+1 ile 𝑥𝑘−1 arasındaki fark hesaplanmaktadır.

Örnek 1.13

𝑥 değerleri, 𝑥 = [0 0.2 0.4 0.6 0.8 1], 𝑦 = 𝑓(𝑥) değerleri ise y = [0 1 4 9 13 18] vektörü ile
değişmektedir. 𝑦 ′ = 𝑓 ′ (𝑥) türev değerlerini; a) Geri fark, b) İleri fark, c) Merkezi fark yaklaşımı ile
hesaplayınız.

Çözüm

a) Verilen 𝑥 ve 𝑦 = 𝑓(𝑥) değerlerini kullanarak;

x = [0.2 0.2 0.2 0.2 0.2]

y = [1 3 5 4 5]

(1.70) formülü ile

y/x = [5 15 25 20 25]

vektörü elde edilir.

x(2;6) 0.2 0.4 0.6 0.8 1


y/x 5 15 25 20 25

b) (1.72) formülü ile

x(1;5) 0 0.2 0.4 0.6 0.8


y/x 5 15 25 20 25

c)

(1.73) formülü ile

x(2;5) 0.2 0.4 0.6 0.8


y/x 10 20 22.5 22.5
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-36

Sayısal türev alma işleminin MATLAB yazılımı ile yapılması

Soru 1: Örnek 1.14'ü çözen matlab komutlarını üretiniz.

Çözüm
>>x = [0 0.2 0.4 0.6 0.8 1];n=length(x);
>>y = [0 1 4 9 13 18];
>>turev=diff(y)./diff(x) % ileri veya geri fark için türev alınıyor
turev =
5 15 25 20 25
>>merkezi=(y(3:n)-y(1:n-2))./(x(3:n)-x(1:n-2)) % merkezi fark türev ifadesi
merkezi =
10
7) Sayısal Entegral 20 22.5 22.5

y(x) fonksiyonunun a  x  b aralığında entegre edilmesi, bu eğri ile x=a noktası ile x=b noktaları
arasında kalan bölgenin alanının hesaplanması olarak değerlendirilir;

S  ab y( x )dx (1.74)

Şekil 1.10’da y(x) eğrisi ve bu eğrinin entegrali gösterilmiştir. Yukarıda verilen entegralin değeri S olarak
hesaplanmaktadır. Çoğu durumda bu entegralin değeri analitik olarak hesaplanabilirse de, fazı y(x)
fonksiyonlarının analitik olarak entegrali mümkün olmayabilir. Bu durumda sayısal entegral alma
teknikleri kullanılarak y(x) eğrisinin entegrali alınabilir.

y(x) y(x)
y(a)

y(b)

x
a b
Şekil 1.10

Sayısal entegral alma tekniklerinde entegral aralığı parçalara bölünerek her bir aralıkta fonksiyon
yerine sabit doğrular (yamuk şeklinde) ya da paraboller alınarak yaklaşık hesaplama yoluna gidilir.

7. Sayısal Entegrasyon

7.1) Yamuklar yöntemi ile entegrasyon

Bu yaklaşımda [a,b] aralığı ‘n’ adet eşit paraya bölünür. Şekil 1.11’de bu yaklaşım gösterilmiştir. [a,b]
aralığı n parçaya bölünür ise her bir parçanın genişliği;

ba
x  (1.75)
n
olur. Şekil 1.11’de ABCD arasında kalan yamuğun alanı;
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-37

y( x i )  y( x i ) x
Si  ( x i   x i )  ( y( x i )  y( x i )) (1.76)
 
olur. Si alanı,

Sigerçek  xx i y( x )dx (1.77)


i

eşitliği ile hesaplanan gerçek alandan daha küçüktür. Şekil 1.11’de verilen y(x) eğrisinin yamuklar
yöntemi yardımı ile hesaplanan tüm (yaklaşık) alanı;
n x x
STop   ( y( xi )  y( xi ))  ( y( x o )   y( x)  ..   y( x n )  y( x n )) (1.78)
i   

olarak bulunur. Yatay eksen artış değeri ne kadar küçük olursa (x  0) alan hatası o kadar az olacaktır.

y B
A
y(x)

C D x
0 ....... a b ....... n

Şekil 1.11

Örnek 1.14.

𝑥 = [0 1 2 3 4 5 6 7]; 𝑦 = [ 3.1 9.5 13.2 21 30.5 29 35.4 46.8]


7
olduğuna göre yamuklar yöntemine göre verilen x aralığında; 𝑦 = ∫0 𝑓(𝑥) 𝑑𝑥 entegralini hesaplayınız.

Çözüm

Şekil 1.12

Şekil 1.12'de her bir yamuğun altında kalan hesaplanır ve tüm bu yamuk alanları toplanır ise;
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-38

toplam alan= 163.55

bulunur. (Şekil 1.12'de görülen 𝑓(𝑥) denklemi (polinomu) aşağıda verilmiştir:

p1 = 0.0021412, p2 = -0.06881, p3 = 0.91107, p4 = -6.4364, p5 = 26.353, p6 = -64.003,


p7 = 91.341, p8 = -72.293, p9 = 30.567, p10 = 3.0833
y=f(x)= p1*x^9 + p2*x^8 + p3*x^7 + p4*x^6 + p5*x^5 + p6*x^4 + p7*x^3
+ p8*x^2 + p9*x + p10

Sayısal entegral alma (yamuklar yöntemi) işleminin MATLAB yazılımı ile yapılması

Soru 1: Örnek 1.14'ü çözen matlab komutlarını üretiniz.

Çözüm
>> x = [0 1 2 3 4 5 6 7];
>> y= [3.1 9.5 13.2 21 30.5 29 35.4 46.8];
>> alan=trapz(x,y)
alan =
163.55
7.2) Simpson yaklaşımı (iki nokta arasını doğru ile değil eğri ile birleştirmek)
Yamuklar yöntemi ile entegal alınması durumunda sonucun doğruluğu yatay eksene ilişkin x
değerininin küçük olmasına bağlıydı. Eğer iki nokta arasının bir doğru (yamuklar yöntemi) ile
birleştirmek yerine bir eğri ile birleştirilmesi (yüksek dereceli polinomlar için) daha doğru sonuçlar
üretecektir. Entegrali alınacak eğrinin x=[a b] aralığında değiştiği kabul edilirse, a ve b noktaları için
fonksiyonun aldığı değerler sırasıyla 𝑓(𝑎) ve 𝑓(𝑏) ise, a ve b noktaları arasına eşit mesafede iki nokta
daha yerleştirilirse ve [a b] aralığındaki toplam 4 adet (eşit aralıklı) nokta birbirlerine 3.dereceden bir
polinom ile bağlanırsa, bu eğri ile yatay eksen arasında kalan eğrinin alanı Simpson Kuralı adı verilen
yöntem ile hesaplanabilir.

7.2) Parabolik (Simpson) Yöntem

7.2.1) Simpson 1/3 kuralı

[a b] aralığında 𝑓(𝑥) eğrisinin altında kalan alanı hesaplamak için kullanılır. Bu kuralı uygulayabilmek
için [a b] aralığında toplam 3 noktaya (iki eşit aralığa) ihtiyaç duyulur. Dolayısı ile a noktası ile b
noktasının tam ortasında bir başka değere daha ihtiyaç duyulur (toplam 3 değer). Simpson 1/3 kuralının
alan formülü (1.79) ile verilmiştir. Eğer [a b] aralığı [a1 a2 a3 a4 a5.... an b] biçiminde ise (1.79)
formülü [a1 a2 a3], [a3 a4 a5], [a5 a6 a7], ....., [a(n-1) an b] aralıklarının her birine ayrı ayrı uygulanıp,
toplam alan için her bir sonuç birbiri ile toplanmalıdır. Örnek 1.15'de bunun bir uygulaması verilmiştir.

𝐴𝑙𝑎𝑛 = (𝑓(𝑥𝑜 ) + 4𝑓(𝑥1 ) + 𝑓(𝑥2 ) ) (1.79)
3

ℎ = (𝑏 − 𝑎)/2 (aralık uzunluğu) (1.80)


𝑏+𝑎
𝑥𝑜 = 𝑎; 𝑥1 = 2
; 𝑥2 = 𝑏 (𝑥1 : [a b] aralığının tam ortasıdır) (1.81)

1/3 kuralı adını, (1.79) formülündeki h'nin katsayısı olan "1/3" sayısından almaktadır.

Örnek 1.15

𝑥 = [0 1 2 3 4 5 6 7 8]; 𝑓(𝑥) = 𝑦 = [3.1 9.5 13.2 21 30.5 29 35.4 46.8 50];


olduğuna göre [0 8] aralığında 𝑓(𝑥) eğrisinin altında kalan alanı simpson 1/3 kuralı ile bulunuz.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-39

Çözüm

[0 8] aralığında 3'er nokta içeren toplam 4 adet alt aralığa ihtiyaç vardır. Her bir alt aralık aşağıda
gösterilmiştir. Her bir alt aralığa ilişkin h değerinin; h=(b-a)/2=(2-0)/2=1 olduğu görülüyor.
ℎ 1
[0 1 2] → 𝐴𝑙𝑎𝑛1 = (𝑓(𝑥𝑜 ) + 4𝑓(𝑥1 ) + 𝑓(𝑥2 )) = ∗ (3.1 + 4 ∗ 9.5 + 13.2) = 18.1
3 3
ℎ 1
[2 3 4] → 𝐴𝑙𝑎𝑛2 = (𝑓(𝑥2 ) + 4𝑓(𝑥3 ) + 𝑓(𝑥4 )) = ∗ (13.2 + 4 ∗ 21 + 30.5) = 42.56
3 3
ℎ 1
[4 5 6] → 𝐴𝑙𝑎𝑛3 = (𝑓(𝑥4 ) + 4𝑓(𝑥5 ) + 𝑓(𝑥6 )) = ∗ (30.5 + 4 ∗ 29 + 35.4) = 60.63
3 3
ℎ 1
[6 7 8] → 𝐴𝑙𝑎𝑛4 = (𝑓(𝑥6 ) + 4𝑓(𝑥7 ) + 𝑓(𝑥8 )) = ∗ (35.4 + 4 ∗ 46.8 + 50) = 90.86
3 3
𝑇𝑜𝑝𝑙𝑎𝑚 𝐴𝑙𝑎𝑛 = 18.1 + 42.56 + 60.63 + 90.86 = 212.16

(Not: Aynı hesaplama matlab trapz komutu ile yapılsaydı, sonuç 211.95 elde edilirdi)

Sayısal entegral alma (simpson yöntemi) işleminin MATLAB yazılımı ile yapılması

Soru 1: Örnek 1.15'i çözen matlab komutlarını üretiniz.

Çözüm
>> x = [0 1 2 3 4 5 6 7];
>> alan=integral(@sayisal,0,8)
alan =
219.53 % farkın nedeni uydurulan eğri denkleminden kaynaklanmaktadır

function y = sayisal(x) % alt program


p1 = 0.0021412; p2 = -0.06881; p3 = 0.91107; p4 = -6.4364; p5 = 26.353; p6 = -64.003;
p7 = 91.341; p8 = -72.293; p9 = 30.567; p10 = 3.0833;
y= p1*x.^9 + p2*x.^8 + p3*x.^7 + p4*x.^6 + p5*x.^5 + p6*x.^4 + p7*x.^3 + p8*x.^2 + p9*x + p10;

Not: integral komutu eğrilerin noktalarını değil denklemlerini kullanır. integral komutu,
bu yönü ile de trapz komutundan farklılık taşır.

7.2.2) Simpson 3/8 kuralı

Simpson 1/3 kuralında [a b] aralığında (eşit aralıklı) 3 nokta yer alırken, Simpson 3/8 kuralında [a b]
aralığında (eşit aralıklı) 4 nokta yer alır. Simpson 3/8 kuralına ilişkin alan formülü (1.82)'de verilmiştir.
3ℎ
𝐴𝑙𝑎𝑛 = (𝑓(𝑥𝑜 ) + 3𝑓(𝑥1 ) + 3𝑓(𝑥2 ) + 𝑓(𝑥3 ) ) (1.82)
8

ℎ = (𝑏 − 𝑎)/3 (1.83)

3/8 kuralı adını, (1.82) formülündeki h'nin katsayısı olan "3/8" sayısından almaktadır.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-40

Örnek 1.16

𝑥 = [1 2 3 4 5 6 7]; 𝑓(𝑥) = 𝑦 = [9.5 13.2 21 30.5 29 35.4 46.8];

olduğuna göre [1 7] aralığında 𝑓(𝑥) eğrisinin altında kalan alanı simpson 3/8 kuralı ile bulunuz.

Çözüm

[1 7] aralığında 4'er nokta içeren toplam 2 adet alt aralığa ihtiyaç vardır. Her bir alt aralık aşağıda
gösterilmiştir. Her bir alt aralığa ilişkin h değerinin; h=(b-a)/3=(4-1)/3=1 olduğu görülüyor.
3ℎ
[1 2 3 4] → 𝐴𝑙𝑎𝑛1 = (𝑓(𝑥1 ) + 3𝑓(𝑥2 ) + 3𝑓(𝑥3 ) + 𝑓(𝑥4 ))
8
3∗1
𝐴𝑙𝑎𝑛1 = ∗ (9.5 + 3 ∗ 13.2 + 3 ∗ 21 + 30.5) = 53.475
8
3ℎ
[4 5 6 7] → 𝐴𝑙𝑎𝑛2 = (𝑓(𝑥4 ) + 3𝑓(𝑥5 ) + 3𝑓(𝑥6 ) + 𝑓(𝑥7 ))
8
3∗1
𝐴𝑙𝑎𝑛2 = ∗ (30.5 + 3 ∗ 29 + 3 ∗ 34.5 + 46.8) = 100.425
8
𝑇𝑜𝑝𝑙𝑎𝑚 𝐴𝑙𝑎𝑛 = 53.475 + 100.425 = 153.9

(Not1: Aynı işlem matlab trapz komutu ile yapılsaydı sonuç 157.25 çıkacaktır.) (Not2: Aynı
işlemin matlab integral komutu ile yapılabilmesi için 𝑦 vektöründen bir eğri denklemi
uydurulması gerekir.)

8) Birinci mertebeden diferansiyel denklemin sayısal çözümü

Diferansiyel denklemlerin sayısal çözümünde kullanılan yöntemlerden ikisi Euler ve Runge-Kutta


yaklaşımlarıdır. Bu yaklaşımlar;
(b  a )  (b  a ) n
g ( b )  g (a )  ( b  a ) * g ' ( a )  * g '' (a )  ....  * g ( n ) (a )  .... (1.84)
! n!

olarak verilen Taylor seri açılımını kullanırlar. (1.84) eşitliği, x=a noktasındaki değeri bilinen bir g
fonksiyonunun x=b noktasındaki değerini hesaplanır. Bu eşitlikte kullanılan g(a) ve g(b) değerleri g
fonksiyonunun sırası ile a ve b noktalarındaki değerleridir. g(a)′ , g(a)′′ , … , g(a)(n) ise g fonksiyonunun
sırası ile birinci, ikinci,....,n. mertebeden türevlerinin a noktasındaki değerleridir. g fonksiyonunun
Taylor serisine açılabilmesi için [a b] aralığında türevinin tanımlı olması gerekir. (1.84) eşitliği ile verilen
Taylor serisinin ‘birinci mertebeden’ açılımı;

𝑔(𝑏) 𝑔(𝑎) + (𝑏 − 𝑎) ∗ 𝑔′ (𝑎) (1.85)

olur. Taylor serisinin ‘ikinci mertebeden’ açılımı ise;

(b  a ) 
g ( b) ≈ g ( a )  ( b  a ) * g ' ( a )  * g ' ' (a ) (1.86)
!
ifadesi ile verilebilir. Yukarıda da görüldüğü gibi açılımlarda mertebe sayısı kadar türev bulunmaktadır.
(1.84) eşitliği yerine (1.85) veya (1.86) eşitliği kullanıldığında, yüksek mertebeden türevlere ihtiyaç
duyulmamaktadır. Bu yaklaşımdan dolayı ortaya çıkan hata miktarı kabul edilebilir olduğu sürece, bu
yaklaşımın bilgisayarda ciddi bir zaman tasarrufu sağladığı hemen görülebilir.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-41

Açıklama:

Birinci mertebeden diferansiyel denklemlerin entegralinde kullanılan en yaygın yöntem Runge-Kutta


(R-K) metodudur. Birinci mertebeden R-K metodu birinci mertebeden Taylor açılımını, ikinci
mertebeden R-K metodu ikinci mertebeden Taylor açılımını kullanır ve bu ilişki böyle devam eder. R-K
metodu, Euler metodunun bulunmasından sonra geliştirilmiştir. Birden çok mertebeden R-K metodu
mevcuttur. Birinci mertebeden R-K metodu ile Euler metodu, aynı algoritmayı kullanır.

8.1) Runge-Kutta yaklaşımları

Yukarıda da bahsedildiği gibi kullanılan türev mertebesi arttıkça, Runge-Kutta mertebeleri de


artacaktır. matlab’da çoğunlukla 4. mertebeye kadar Runge-Kutta yaklaşımları kullanıldığı için, 4.
mertebeden yüksek olan Runge-Kutta yaklaşımlar konu dışında bırakılmıştır. Daha genel bilgiler
içermesi bakımından öncelikle 4. mertebeden Runge-Kutta yaklaşımı tanıtılacaktır.

8.1.1) Dördüncü mertebeden Runge-Kutta yaklaşımı

Kullanıcının elinde,

dy( x )
 f ( x , y) (1.87)
dx
olarak verilen ve belirlenen aralıkta tanımlı bir adet (birinci mertebeden) diferansiyel denklem olsun.
Bu diferansiyel denklemden yola çıkarak, y(x) eğrisini sağlayan y ve x vektörlerinin sayısal karşılığının
bulunması (ve arzu edilirse y(x) eğrisinin çizdirilmesi), diferansiyel denklemin sayısal olarak çözülmesi
anlamına gelir. 4. mertebeden (n=4) R-K yaklaşımında, y vektörünün (k+1). iterasyon sonundaki değeri;

y k   y k  wk  w  k   w k   w  k  (1.88)

eşitliği ile hesaplanır. (1.88) eşitliğinde kullanılan k i değerleri (h: adım aralığı olmak üzere);

k  h * f (x k , y k )

k   h * f ( x k  ah , y k  bk )

k   h * f ( x k  a  h , y k  b  k  b  k  ) (1.89)

k   h * f ( x k  a  h , y k  b  k  b  k   b  k  )

olarak verilir. (1.87) ve (1.88) eşitliklerinin Taylor serisine açılımından;

b  a  (1)

b  b  a  (2)

b   b  b  a  (3)

w  w   w   w    (4)

w  a   w a   w  a    /  (5)

w  a  w a  
  w a   /  (6)

w  a  w a   w  a 
  /  (7) (1.90)
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-42

w  a  b   w  (a  b   a  b  )   /  (8)

w a a  b   w  a  (a b   a  b  )   /  (9)

w a b   w  (a b   a 
 b  )   /  (10)

w  a b  b    /  (11)

Şekil 1.13
elde edilir. Yukarıda verilen 11 adet eşitlikte 13 adet bilinmeyen vardır. Bu eşitlikleri çözebilmek için iki adet
eşitliğe daha ihtiyaç duyulur. Bu iki eşitlik için genellikle kullanılanlar;

a   . ; b    (bu iki değerden farklı değer kullanan yaklaşımlar da bulunmaktadır)

eşitlikleridir. Bu iki değer kullanılarak elde edilen denklem sisteminin çözümü ile;
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-43

a   . , a    , b  . , b   . , b    , b    , b    ,

w   /  , w    /  , w    /  , w    / 

değerleri bulunur. Elde edilen katsayılar, (1.88) ve (1.89)’da yerlerine konulur ve düzenlenirse;

h * (f  f   f   f  )
y k   y k  (1.91)

bulunur. (1.91) eşitliğinde verilen f ,..f  değerleri, açık olarak aşağıda gösterilmiştir:

f  f ( x k , y k )

f   f ( x k  .h , y k  .h * f )

f   f ( x k  .h , y k  .h * f  ) (1.92)

f   f ( x k  h, y k  h * f  )

Şekil 1.13'de [x1 xson] aralığında h adımla (1.87) denkleminin adım adım çözümünü veren işaret akış
şeması verilmiştir. x1 ve y1'in ilk koşullar olarak verildiği kabul edilecektir.

Örnek 1.17

dy
 f (x, y)   yx  2x 3  12x 2  20x  8.5
dx

diferansiyel denklemini, ( x ilk =0 ile x son  . aralığında h=0.5 artışla) 4. mertebeden Runge-Kutta
yöntemini kullanarak x ve y değişimini adım adım tablo içinde veriniz. x ilk =0 için y ilk (0)=1
alınacaktır.

Çözüm

Tablo 1.10'da adım adım x ve y değerleri gösterilmiştir. Sonuçları el ile yaparak kontrol ediniz.

Tablo 1.10
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-44

Dördüncü mertebeden Runge-Kutta probleminin matlab komutu ile çözümü

di( t )
Soru 1:   * i( t )   * cos( * t )  t
dt
Yukarıda verilen sabit katsayılı lineer diferansiyel denklemin çözümünü, t=[0:3] saniye zaman
aralığında ve i(0)=0 ilk koşulu altında, ode45 komutu yardımı ile (i(t)) çizdiriniz.

Çözüm
Yukarıda elde edilen diferansiyel denklem cozode2.m adlı altprogram içine yazılırsa,

function di_dt=cozode2(t,a) % alt program

di_dt = -15*a + 2*cos(2*t)+t;

elde edilir. Bu altprogramı çağıran matlab programı aşağıda verilmiş ve bu programda ode45 komutu
kullanılmıştır.

>>[t, a]=ode45('cozode2',[0 3],0);

>> plot(t,a); title('dif.denklem çözümü'); xlabel('t'),ylabel('i=i(t)')

>> grid

8.1.2) Euler yöntemi

f; gerçek çözüm (aranan) eğrisi olan y(x)’i temsil etmek üzere; y a , a ve h değerleri bilindiği kabulü ile,
y b (bir sonraki iterasyonda y(x) eğrisinin alacağı) değeri, Şekil 1.14’den;

𝑦𝑏 = 𝑦𝑎 + ℎ ∗ 𝑦𝑎′ (1.93)

olacaktır. Şekil 1.14’de, y b değerini hesaplamak için, x=a’da çizilen teğet çizgiden (𝑦𝑎′ ) faydalanılmıştır.
Şekil 1.14’de gösterildiği gibi, elde edilmesi gereken değer k olması gerekirken, y b elde edilmektedir.
Böylece, daha iterasyonun ilk adımında, y b -k değerinde bir hata ile karşılaşılmaktadır. Bu hatanın
küçülmesi h (adım) değerinin küçülmesine bağlı olduğu, Şekil 1.14’den anlaşılmaktadır. Bu hata değeri
ile bir sonraki adıma gidilecek olursa (diğer bir ifade ile y c değeri aranırsa), Şekil 1.15’den
faydalanılarak;

𝑦𝑐 = 𝑦𝑏 + ℎ ∗ 𝑦𝑏′ (1.94)

elde edilebilir. y c değerini hesaplamak için x=b’de çizilen teğet çizgiden faydalanılmıştır. (1.93) ve
(1.94) eşitlikleri, diğer x noktaları için adım adım yapılarak, y=f(x) sürekli fonksiyonunun, tanımlanan
ayrık noktalarına karşı gelen yaklaşık değerleri hesaplanır. y=f(x) fonksiyonuna ilişkin değerlerin
hesabına başlayabilmek için bir ilk koşula ( y a ) ihtiyaç duyulur.

Euler yöntemi, çok basit bir yöntem olmakla birlikte, yukarıda bahsedilen nedenlerden dolayı,
hassasiyeti düşüktür. Hesaplama adımı olarak adlandırılan h değeri büyük alınırsa, eğrinin ani değişim
gösterdiği yerlerde, önemli hatalar ortaya çıkar. Şekil 1.15’de, gerçek değer ile hesaplanan değer
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-45

arasındaki fark γ ile gösterilmiştir. h değeri büyüdükçe, γ değeri artacak, γ sapması ile hesaplanan bir
sonraki değer, daha da hatalı bir sonuç ortaya çıkaracaktır. Yukarıda açıklanan nedenlerden dolayı,
Euler yönteminin yetersiz kaldığı durumlarda, daha yüksek mertebeden R-K metodu kullanılır. Örneğin,
dördüncü mertebeden R-K metodunda, 1.,2.,3., ve 4. mertebeden türev fonksiyonları kullanılır.

y
y
k

f f
h

a b x a b c x

Şekil 1.14 Şekil 1.15

Şekil 1.16'da Euler yönteminin [x1 xson] aralığında h adımla (1.87) denkleminin adım adım çözümünü
veren işaret akış şeması verilmiştir. x1 ve y1'in ilk koşullar olarak verildiği kabul edilecektir.

Şekil 1.16
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-46

Örnek 1.18

dy
 f ( x , y)   x   x   x  
dx
diferansiyel denkleminin ( x ilk =0 ile x son   aralığında h=0.05 artışla) Euler yöntemini kullanarak x ve
y değişimini adım adım tablo içinde veriniz. Burada x ilk =0 için y ilk (0)=1 alınacaktır.

Çözüm

Tablo 1.11'de adım adım x ve y değerleri gösterilmiştir. Sonuçları el ile yaparak kontrol ediniz.

Tablo 1.11

8.1.3) İkinci mertebeden Runge-Kutta yaklaşımı

Daha önce verilen (1.88) eşitliği ikinci mertebeden Runge-Kutta yöntemi için düzenlenirse;

y k   y k  w k   w  k  (1.95)

elde edilir. 4. mertebeden Runge-Kutta yaklaşımı için yapılan işlemler burada da yapılırsa;

k  h * f ( x k , y k )

k   h * f ( x k  ah , y k  bk ) (1.96)

elde edilir. (1.86) ve (1.95) eşitlikleri Taylor serisine açılırsa bilinmeyen 4 adet sabit için 3 adet;

w   w   1; w  * a    . ; w  * b  .
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-47

eşitliği elde edilir. 4 adet denklem 3 adet bilinmeyen olduğu için, bir bilinmeyenin ( w  ) değeri biliniyor
var sayılarak diğerleri bunun cinsinden yazılırsa;

w    w  ; a   b  . / w 

bulunur. Eğer w   . alınırsa w   . , a  b   elde edilir. Bu sabitler için elde edilen 2.
mertebeden Runge-Kutta yaklaşımı Heun yöntemi olarak adlandırılır. Eğer w    seçilirse bu
durumda w    , a  b  . elde edilir. Bu sabitler için elde edilen 2. mertebeden Runga-Kutta
yaklaşımı orta nokta yöntemi olarak adlandırılır.

Şekil 1.17'de ikinci merebeden Runge Kutta yönteminin [x1 xson] aralığında h adımla (1.87)
denkleminin adım adım çözümünü veren işaret akış şeması verilmiştir. x1 ve y1'in ilk koşullar olarak
verildiği kabul edilecektir.

Şekil 1.17
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-48

Örnek 1.19

dy
 f ( x, y)  . y  xy  x   x  
dx
diferansiyel denklemini x ilk =0, x son  . ve h=0.05 için ikinci mertebeden Runge-Kutta yöntemini
kullanarak (Heun katsayıları yardımı ile) x ve y değişimini adım adım tablo içinde veriniz. x ilk =0 için
y ilk (0)=1 alınacaktır.

Çözüm

Tablo 1.12'de adım adım x ve y değerleri gösterilmiştir. Sonuçları el ile yaparak kontrol ediniz.

Tablo 1.12
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-49

8.2). Birinci mertebeden lineer diferansiyel denklem sistemlerinin çözümü

Çözülmesi istenen diferansiyel denklem sayısı birden fazla (örneğin ‘2’) ise;

dx  1.dif denklem
 f ( t , x , y)
dt
x ( t o )
 ;a  t  b (1.97)
y
 o ( t )
dy
 g ( t , x , y)  2.dif. denklem
dt

eşitlikleri daha önce verilen eşitlikler kullanılarak çözülebilir. Burada, önce birinci mertebeden lineer
diferansiyel denklem sistemlerinin çözümü Euler ile daha sonra R-K yaklaşımı kullanılarak çözülecektir.

8.2.1) Birinci mertebeden lineer diferansiyel denklem sistemlerinin Euler yaklaşımı ile çözümü

Yukarıda verilen iki adet (f(t,x,y) ve g(t,x,y)) lineer birinci mertebeden diferansiyel denklemi x ( t o ) ve
y( t o ) ilk koşulları altında, t ekseni üzerindeki [a b] aralığı M adet eşit parçaya bölünerek;

h=(b-a)/M M=adım sayısı (1.98)

ilk iterasyon adımında;

x  x   f ( t  , x  , y  ) * h

y  y   g( t  , x  , y  ) * h (1.99)

olarak hesaplanır. İkinci adımda ise;

x   x  f (t   h, x   h, y   h ) * h

y   y  g( t   h , x   h , y   h ) * h (1.100)

olarak hesaplanır. Bu işlemler, benzer şekilde n. adıma kadar devam eder:

t n   t n  h

x n   x n  h * f ( t n , x n , y n )

y n   y n  h * g( t n , x n , y n ) ; n=1,2,....,M+1 (1.101)

Böylece [ t ilk ; t son ] aralığına karşı gelen [ x ilk ; x son ] ve [ y ilk ; y son ] değerleri elde edilir.

Örnek 1.20

dx dy
 f  x  y ;  g  x  y
dt dt

diferansiyel denklem sistemini t= [0:0.2] aralığında, x(0)=4 ve y(0)=2 ilk koşulları altında Euler
yöntemine göre x ve y değişimini adım adım tablo içinde veriniz. h=0.02 alınız.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-50

Çözüm

Tablo 1.13'de adım adım x ve y değerleri gösterilmiştir. Sonuçları el ile yaparak kontrol ediniz.

Tablo 1.13

8.2.2) Birinci mertebeden lineer diferansiyel denklem sistemlerinin 4. mertebeden R-K ile çözümü

dx dy
 f ( t , x , y) ve  g( t, x, y) olarak verilen diferansiyel denklem sistemi, x o ( t )  x o , y o ( t )  y o
dt dt
ilk koşulları altında, a  t  b aralığında daha önce verilen (4. mertebeden) Runge-Kutta yaklaşımına
benzer biçimde, (k+1). iterasyon adımında x k  ve y k  değerleri için;

h * ( f    f   f   f  ) h * (g  g   g   g  )
x k   x k  ; y k   y k  (1.102)
 
yazılabilir. Yukarıda verilen eşitliklerdeki 𝑓𝑖 ve 𝑔𝑖 değerleri;

f  f ( t k , x k , y k )

g  g ( t k , x k , y k )

f   f ( t k  .h , x k  .h * f , y k  .h * g ) ; g   g ( t k  .h , x k  .h * f , y k  .h * g )

f   f ( t k  .h , x k  .h * f  , y k  .h * g  ) ; g   g( t k  .h , x k  .h * f  , y k  .h * g  )

f   f ( t k  h, x k  h * f  , y k  h * g  ) ; g   g( t k  h, x k  h * f  , y k  h * g  ) (1.103)

eşitlikleri yardımıyla bulunur.


SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-51

Birinci mertebeden denklem sisteminin dördüncü mertebeden Runge-Kutta yaklaşımını


kullanarak matlab komutu ile çözümü

Soru 1:

x '  x  y   ; y'  x  z   ; z '  y    

diferansiyel denklem sistemini x(0)=0, y(0)=-1, z(0)=2 ilk koşulları altında t  [0: 2] aralığında
hassasiyetle çözen ve x(t), y(t) ve z(t) değişimini alt alta çizdiren matlab programı yazınız.

Çözüm
x  w (:,) 
 % ode komutunda bu gösterim tercih edilir
y  w (:, ) 
z  w (:,) 

x'  x ()  x ()  h ( t )
x '  x ()  x ()  h ( t )
x '  x ()  

Yukarıda verilen eşitlikler aşağıdaki program satırları ile çözülebilir:

[t w]=ode45('gcozturev',[0 2], [0 -1 2]');


subplot(3,1,1), plot(t,w(:,1)), title('x(t) cizimi'),grid on
subplot(3,1,2), plot(t,w(:,2)), title('y(t) cizimi'),grid on
subplot(3,1,3), plot(t,w(:,3)), title('z(t) cizimi'),grid on
% w(:,1)) vektörü x=w(:,1) vektörüne eşittir ;% w(:,2)) vektörü y=w(:,2) vektörüne eşittir
% w(:,3)) vektörü z=w(:,3) vektörüne eşittir % aşağıda alt program verilmiştir.
function turev=gcozturev(t,x) % t vektörünü ode komutu içinden okur
turev = [-3*x(1)-x(2)+3; 3*x(1)-x(3)-2; -3*x(2)+2];

Örnek 1.21

dx dy
 f  x  y ;  g  x  y
dt dt
diferansiyel denklem sistemini [0, 0.2] zaman aralığında, x(t=0)=6 ve y(t=0)=4 ilk koşulları altında 4.
mertebeden R-K yöntemine göre x ve y değişimini adım adım tablo içinde veriniz. h=0.02 alınız.

Çözüm

Tablo 1.14'de adım adım x ve y değerleri gösterilmiştir. Sonuçları el ile yaparak kontrol ediniz.
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-52

Tablo 1.14

You might also like