Professional Documents
Culture Documents
Sayisal Anali̇z Ders Notlari
Sayisal Anali̇z Ders Notlari
ARİFOĞLU 1-1
SAYISAL ANALİZ
DERS NOTLARI
HAZIRLAYAN
2021
İÇİNDEKİLER
Sayfa No
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.
Şekil 1.3
SAYISAL ANALİZ DERS NOTLARI-U.ARİFOĞLU 1-4
Ş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;
ş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.
𝑥𝑎𝑙𝑡 +𝑥ü𝑠𝑡
𝑥𝑘ö𝑘_𝑡𝑎ℎ = (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
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
𝑥𝑘ö𝑘𝑡𝑎ℎ ( ⏞
1 )= = = 14
2 2
Adım 3)
𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥𝑘ö𝑘𝑡𝑎ℎ ) > 0 olur. Bu durumda kök sağ alt aralıktadır (Adım 3'de b) adımı).
Adım 2)
𝑦𝑒𝑛𝑖 𝑒𝑠𝑘𝑖
𝑥𝑘ö𝑘_𝑡𝑎ℎ −𝑥𝑘ö𝑘_𝑡𝑎ℎ 15−14
KONTROL: 𝜀𝑏𝑎ğ = | 𝑦𝑒𝑛𝑖 |=| 15
|∗ 100 = 6.67 < 0.005 sağlanamadığından dolayı
𝑥𝑘ö𝑘_𝑡𝑎ℎ
iterasyon devam etmelidir.
Adım 3)
𝑓(𝑥𝑎𝑙𝑡 ) ∗ 𝑓(𝑥𝑘ö𝑘𝑡𝑎ℎ ) < 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)
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.
İ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
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.
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.
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,
𝑥 = 𝑓(𝑥) + 𝑥 (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,
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)
𝑓(𝑥) = 𝑥 2 − 8𝑥 − 15 = 0
denkleminin 𝑥1 = 𝑥(0) = 0 ilk koşulu için 𝜀𝑏𝑎ğ % 0.5 şartı altında kökünü bulunuz.
Çözüm
𝑥 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
𝑓(𝑥) 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;
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;
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
Yukarıdaki eşitlikleri gözeterek adım adım köke ulaşan değerler Tablo 1.4'de verilmiştir.
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)
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;
Ö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
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
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)
𝑖 𝑖 𝑖
Eğer 𝑓(𝑥) fonksiyonunda katlı kök var ise (1.16) eşitliği yerine (1.21) eşitliği kullanılır:
𝑓(𝑥𝑖 )
𝑚=
𝑓′ 𝑥𝑖
olmak üzere;
Cevap:
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)
Çözüm
>> x=fsolve(@(x) x.^3-5*x.^2+7*x-8*exp(-2*x), [0 5])
x =
0.5711 2.2911
Çö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
Soru 1: 𝑓(𝑥) = 𝑥 3 − 5𝑥 2 + 7𝑥 − 8
Çö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
Çö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
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
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
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.iterasyon
2.iterasyon
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
−𝑦𝑖 +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.
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 )
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)
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;
(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)
X epsilon (1.35)
Örnek 1.7
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)
Çö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
f (x, x , x ) x x x
f ( x, x , x ) x x
Çözüm
>> x0
>>x=fsolve(@kokbulma5_5, [0.1 -1 2])
x =
0.5559 -0.5559 0.6180
…………………………………..
ş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.
a a a
(a a ) x ..... (a n an ) x n b b (1.38)
a a a
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 3n
'
x n b' (1.40.c)
.............................................
(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 3n x n b'' (1.41.c)
.............................................
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 3n x n b'' (1.42.c)
.............................................
(n )
..... a (n -1)
nn x n b n (1.42.d)
(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
elde edilir. Gauss eliminasyon yöntemi ile lineer denklem sistemini sağlayan x değerleri bulunmak
istensin:
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:
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:
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:
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.
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;
Tablo 1.7
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 )
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);
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;
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.
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
>> 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.
Ö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
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
(at 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
Çö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
𝑎1 = −9.1143
𝑎𝑜 = −2.60
Çö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.
Ö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 ) = (at k a t k a o y k ) (1.53)
N k 1 N k
OKH N
t k (at k a t k a o y k ) = 0 (1.54)
a k
OKH N
t k (at k a t k a o y k ) = 0 (1.55)
a k
OKH N
(at k a t k a o y k ) = 0 (1.56)
a o k
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
Çö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.
Ş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
y i y k m( x i x k ) (1.58)
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;
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;
Bir boyutlu doğrusal ara değer bulma işleminin MATLAB yazılımı yapılması
Çözüm
>> t = 0:0.2:1; P = [0 3 7 9 11 15];
basinc =
10 13
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.
𝑎𝑜 = 𝑓(𝑥𝑜 ) (1.62)
𝑓(𝑥1 )−𝑓(𝑥𝑜)
𝑎1 = 𝑥1 −𝑥𝑜
= 𝑓[𝑥1 , 𝑥𝑜 ] (1.63)
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 ) − 𝑓(𝑡𝑜 ) 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 −𝑡𝑜
𝑓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ı
Çözüm
>> t = 0:0.2:1; P = [0 1 4 9 13 18] ;
>> basinc = spline(t,P,0.7)
basinc =
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
Ş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
y( x k ) y( x k )
y' ( x k ) (1.70)
x k
elde edilir.
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
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
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 ) ( ) (k2 olmak zorundadır) (1.73)
2 x x 2x
Ö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
y = [1 3 5 4 5]
y/x = [5 15 25 20 25]
c)
Çö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;
Ş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
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;
ba
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ı,
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.
Çö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
Sayısal entegral alma (yamuklar yöntemi) işleminin MATLAB yazılımı ile yapılması
Çö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.
[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
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
Çö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ı
Çö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
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.
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
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.)
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ı;
(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:
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 wk 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 ah , y k bk )
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 )
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;
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
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 )
Ş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
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,
elde edilir. Bu altprogramı çağıran matlab programı aşağıda verilmiş ve bu programda ode45 komutu
kullanılmıştır.
>> grid
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.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
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 )
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
Çö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;
x x f ( t , x , y ) * h
y y g( t , x , y ) * h (1.99)
x x f (t h, x h, y h ) * h
y y g( t h , x h , y h ) * h (1.100)
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 ) (1.103)
Soru 1:
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 ()
Ö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