dr. Öğr. Üyesi adnan sondaù - kocaeli...

18
Programlama Uygulamalarıyla Sayısal Yöntemler PROGRAMLAMA UYGULAMALARIYLA SAYISAL YÖNTEMLER Dr. Öğr. Üyesi Adnan SONDAŞ [email protected] 0262-303 22 58 1

Upload: others

Post on 21-Sep-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler

PROGRAMLAMA UYGULAMALARIYLA SAYISAL YÖNTEMLER

Dr. Öğr. Üyesi Adnan SONDAŞ

[email protected]

0262-303 22 58

1

Page 2: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler

3. Hafta

DENKLEM ÇÖZÜMLERİ (Devam)

2

Page 3: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler

İÇİNDEKİLER

3

1. Denklem Çözümleri

A. Doğrusal Olmayan Denklem Çözümleri

Açık Yöntemler

Basit İterasyon

Newton-Raphson Yöntemi

Newton’un 2. Yöntemi

Kiriş (Secant) Yöntemi

Teğet-Kiriş Birleştirilmiş Yöntem

Page 4: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 4

Denklem Çözümünde Açık Yöntemler Bu yöntem, x’in yalnızca başlangıç değeri kullanılan ya da kökü

kapsayan bir aralık kullanılması gerekmez.

Açık yöntemler hızlı sonuç vermesine karşın, başlangıç değeri uygun

seçilmediğinde ıraksayabilir.

Kökü iki başlangıç değeri arasında kıskaca alma ( f(xa).f(xü) <0 )

sorgulaması yok

Tüm açık yöntemler, kökün bulunması için matematiksel bir formül

kullanır.

Serhat Yılmaz’ın Sunusundan Alınmıştır.

xa

f(x)

f(xü)

0

f(xa) xi+1

f(x)

xi x

f(xi)

0

Eğim=f’(xi)

Kapalı Yöntem Açık Yöntem

Page 5: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 5

f(x) fonksiyonu f(x)=0 denkliği x=g(x) formuna getirilir.

Örnek: f(x)= x2 - x + 3 = 0 x = x2 + 3

f(x)= cosx = 0 x = cosx + x

Bu eşitliğin anlamı y=x doğrusu ile y=g(x) fonksiyonunun kesişim

noktasını bulmaktır.

Bir x0 başlangıç değeri seçilir,

x0 , I g’(x0) I < 1 şartını sağlar ise köke yakınsama olur.

xn+1 = g(xn) formu ile iterasyon gerçekleştirilir.

x1=g(x0)

x2=g(x1)

xn=g(xn-1)

Durdurma şartı

I xn+1 - xnI < s sağlanıncaya kadar

Ya da belirli iterasyonda durdurulabilir

Basit İterasyon Yöntemi Açık Yöntemler

Page 6: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 6

Basit İterasyon Yöntemi Açık Yöntemler

Page 7: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 7

Örnek : f(x) = x2 – 3x + 1 denkleminin kökünü mutlak hata δa = 0.1 sınırlamasına göre

Basit İterasyon yöntemini kullanarak x0 = 2 değerinden başlayarak çözünüz.

Basit İterasyon Yöntemi Açık Yöntemler

x0 = 2 ‘den başlayarak köke doğru yaklaşalım

)(1 ii xgx

2361,2512.3)( 01 xgx

3892,212361.2*3)( 12 xgx

Durdurma Kriteri (Hata Sınırlaması)

I xi+1 – xi I < s yada iterasyon

2361.022361,201 xx

1531.02361,23892,212 xx

13)(13)( 2 xxgxxxf

4835,213892.2*3)( 23 xgx 0943.03892,24835,223 xx

2828,0)(4835.2 kökkök xfx

Page 8: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 8

Örnek: f(x)= 3e-0.5x – x fonksiyonunun kökünü mutlak hata δa = 0.07

sınırlamasına göre x0 = 8 değerinden başlayarak hesaplayınız.

Her adım (iterasyon) için yeni x, g(x) ve hatayı hesaplayınız.

f(x)=0 denkliği x=g(x) formuna getirilir.

x = 3e-0.5x

g(x) = 3e-0.5x fonksiyonu x0 = 8 başlangıç değeri ve a = 0.07 hata sınırlamasına göre

iterasyona tabi tutuluyor.

13. iterasyondan sonra a = 0.07

hata ile kök değeri x=1.4 elde edilir.

( Yakınsak iterasyon )

Açık Yöntemler

Basit İterasyon Yöntemi

Page 9: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 9

Örnek : f(x) = 3e0.5x – x fonksiyonunun kökünü mutlak hata δa = 0.07 sınırlamasına

göre x0 = 8 değerinden başlayarak hesaplayan MATLAB programını Basit iterasyon

yöntemine göre yazınız.

Basit İterasyon Yöntemi

Page 10: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 10

En çok kullanılan yöntemlerden biridir.

Köke, teğetler ile yaklaşılır.

Başlangıç değerinin fonksiyonu kestiği noktadan, çizilen teğetin yatay ekseni

kestiği yeni nokta başlangıç değeri ile değiştirilerek köke yaklaşmaya

çalışmaktır.

Bir noktadaki türev, o noktadan geçen teğetin eğimine eşittir.

Newton-Raphson Yöntemi Açık Yöntemler

xi+1

f(x)

xi x

f(xi)

0

Eğim=f’(xi)

Xi+2

1

0)('

ii

i

ixx

xfxf

i

iii

xf

xfxx

'1

Page 11: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 11

Başlangıç değeri (x0) belirlenirken, fonksiyonun ikinci türevinin aynı işaretli

olduğu sınır değeri alınabilir.

Newton-Raphson Yöntemi Açık Yöntemler

bxbfbf

axafaf

0

0

0''.

0''.

Page 12: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 12

Newton-Raphson Yöntemi Açık Yöntemler

Page 13: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 13

Yakınsaklık Koşulu

Newton-Raphson Yöntemi Açık Yöntemler

Başlangıç noktasındaki türev ile köke yaklaşma

xi yalnız bırakılırsa, ifade basit iterasyondaki

gibi xn+1 = g(xn) formuna dönüştürülür

Yakınsaklık koşulu,

Page 14: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 14

Örnek : f(x) = x2 - 10 denklemini Newton-Raphson yöntemini kullanarak x0 = 3

değerinden başlayarak, tol=0.05 için çözünüz.

Serhat Yılmaz’ın Sunusundan Alınmıştır.

Newton-Raphson Yöntemi Açık Yöntemler

f(x) = x2 – 10 f’(x) = 2x

x0 = 3 ‘ten başlayarak köke doğru yaklaşalım

i

iii

xf

xfxx

'1

166,36

19

6

)1(3

' 0

001

xf

xfxx

162,3332,6

)023556,0(166,3

' 1

112

xf

xfxx

Durdurma Kriteri (Hata Sınırlaması)

I xi+1 – xi I < s yada iterasyon

166.03166,301 xx

04.0166,3162,312 xx

Page 15: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 15

Örnek : f(x) = x3 + 4x2 3 denklemini Newton-Raphson yöntemini kullanarak x0 = 0.7

değerinden başlayarak, tol=5e-5 için çözünüz?

Newton-Raphson Yöntemi Açık Yöntemler

f(x) = x3 + 4x2 – 3 f’(x) = 3x2 + 8x

x0 = 0.7 ‘den başlayarak köke doğru yaklaşalım

i

iii

xf

xfxx

'1

7986,007,7

)6970,0(7.0

7.0'

7.07.01

f

fx

7913,03019,8

0602,07986,0

' 1

112

xf

xfxx

Durdurma Kriteri (Hata Sınırlaması)

I xi+1 – xi I < s yada iterasyon

0986.07.07986,001 xx

0073.07986,07913,012 xx

7913,02092,8

0003,07913,0

' 2

223

xf

xfxx 00004.07913,07913,023 xx

Page 16: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler 16

Örnek : f(x) = x3 + 4x2 3 fonksiyonunun kökünü mutlak hata δa =5e-5 sınırlamasına

göre x0 = 0.7 değerinden başlayarak hesaplayan MATLAB programını Newton-Raphson

yöntemine göre yazınız.

Newton-Raphson Yöntemi Açık Yöntemler

Page 17: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler

ÖDEV

17

f(x) = x3 – x + 127 denklemini x0 = 5 değerinden başlayarak s = 0.00001 mutlak ve

yaklaşık hata sınırlamasına göre

Newton-Raphson

Basit iterasyon metotlarını kullanarak çözünüz?

Page 18: Dr. Öğr. Üyesi Adnan SONDAù - Kocaeli Üniversitesibilisim.kocaeli.edu.tr/upload/duyurular/...Programlama Uygulamalarıyla Sayısal Yöntemler KAYNAKLAR 18 Diğer Kaynaklar Bülent

Programlama Uygulamalarıyla Sayısal Yöntemler

KAYNAKLAR

18

Diğer Kaynaklar

Bülent ORUÇ, Adnan SONDAŞ, “Sayısal Çözümleme”, Umuttepe

Yayınları

Fahri VATANSEVER, “Sayısal Hesaplama ve Programlama”, Seçkin

Yayınları, 2018.

Steven C. Chapra, Raymond P. Canale (Çev. H. Heperkan ve U.

Kesgin), “Yazılım ve Programlama Uygulamalarıyla Mühendisler İçin

Sayısal Yöntemler”, Literatür Yayıncılık.

Serhat YILMAZ, “Bilgisayar ile Sayısal Çözümleme”, Kocaeli Üniv.

Yayınları, No:168, Kocaeli, 2005.

İlyas ÇANKAYA, Devrim AKGÜN, Sezgin KAÇAR “Mühendislik

Uygulamaları İçin MATLAB”,Seçkin Yayıncılık

İrfan Karagöz, “Sayısal Analiz ve Mühendislik Uygulamaları”, VİPAŞ

Yayınevi, 2001.

Cüneyt Bayılmış, Sayısal Analiz Ders Notları, Sakarya Üniversitesi