sayısal yöntemlerle kök bulma

13
1/13 Sayısal Yöntemlerle Kök Bulma Sayısal yöntemler neden kullanılır? Fonksiyon yoksa Fonksiyon çok karmaşıksa Fonksiyon “kara kutu” ise

Upload: murat-oezalp

Post on 11-Apr-2017

449 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: Sayısal Yöntemlerle Kök Bulma

1/13

Sayısal Yöntemlerle Kök Bulma

Sayısal yöntemler neden kullanılır?

• Fonksiyon yoksa• Fonksiyon çok karmaşıksa• Fonksiyon “kara kutu” ise

Page 2: Sayısal Yöntemlerle Kök Bulma

2/13

Kök bulma temelleri

Page 3: Sayısal Yöntemlerle Kök Bulma

3/13

İterasyon kavramı

Page 4: Sayısal Yöntemlerle Kök Bulma

4/13

Ne kadar iterasyon?

Page 5: Sayısal Yöntemlerle Kök Bulma

5/13

Kök Bulma Metotları

Avantaj DezavantajArdışık yakınlaşma(Successive Approx.)

● Anlamak ve kullanmak kolay ● Yakınsama garantisi yok● Yavaş yakınsama● Yakınsama için güzel başlangıç

değeri tahmin edilmeli

İkiye bölme(Bisection)

● Anlamak ve kullanmak kolay● Aralık doğru belirlenebilirse,

yakınsama garantisi var.

● Aralık doğru tahmin edilmeli● Yavaş yakınsama

Newton-Raphson ● Anlamak ve kullanmak kolay● Hızlı (üstel) yaklaşım. Köke

yaklaştıkça hız artar.

● Türevin analitik çözümü gerekli● Türev sıfır olduğunda, işe

yaramaz● Başlangıç değer tahmini gerekir.

Sekant(Kiriş)

● Tek kök olduğunda, doğrusal yaklaşıma göre daha hızlıdır.

● Çok kök varsa doğrusal yaklaşım hızındadır.

● Türev işlemine gerek yoktur.

● İterasyon ıraksak olabilir.● Hata miktarı kestirilebilir değildir.

Page 6: Sayısal Yöntemlerle Kök Bulma

6/13

ÖRNEKLER

● Colebrook denklemi– Akışkanlar mekaniğinde, boruda türbülans hesabı yaparken,

borunun çapını bulmak için kullanılıyor.

● Re: Reynold sayısı

● E : pürüzlülük katsayısı

● f: Darcy sürtünme katsayısı

● D: boru çapı

Page 7: Sayısal Yöntemlerle Kök Bulma

7/13

Colebrook Denklemi

● Eşitliğin bir tarafında 0 kalacak şekilde düzenlenebilir:

Page 8: Sayısal Yöntemlerle Kök Bulma

8/13

İkiye Bölme Algoritması

● f(xa) ve f(xü) değerleri hesaplanır.

● f(xa) * f(xü) < 0 olup olmadığı kontrol edilir.

● Yeni yaklaşık kök (xy) bulunarak ve f(xy) hesaplanır. Bunun için aralığın orta noktası alınır.

● Eğer f(xa).f(xy) < 0 ise xü=xy değilse xa=xy alınır.

● Hata toleransına ulaşınca kök bulunmuş olur.

Page 9: Sayısal Yöntemlerle Kök Bulma

9/13

Colebrook Bisection uygulaması

% bisection_cb.m

function x=bisection_cb(y,a,b,tol)

sfb = sign(y(b));

width = b-a;

%disp(' a b sfx')

while width > tol

width = width/2;

x = a + width;

sfx = sign(y(x));

%disp(sprintf('%0.8f %0.8f %2.0f', [a b sfx]))

disp(sprintf('%0.8f', b))

if sfx == 0, a = x; b = x; return

elseif sfx == sfb, b = x;

else, a = x; end

end

%cb.m

Re = input('\n Reynolds Numarası (Re) = ');

e = input(' Bağıl pürüzlülük (e/D) = ');

y = @(f) 1/sqrt(f) + 0.86*log(e/3.7 + 2.51/Re/sqrt(f));

bisection_cb(y,0.7,0.8,1e-3);

>> bisection_cb(y,0.7,0.8,1e-3);

0.80000000

0.75000000

0.72500000

0.71250000

0.70625000

0.70312500

0.70156250

Page 10: Sayısal Yöntemlerle Kök Bulma

10/13

ÖRNEKLER

● Kepler Yasası & İki cisim problemi

Page 11: Sayısal Yöntemlerle Kök Bulma

11/13

Newton Raphson Metodu

Page 12: Sayısal Yöntemlerle Kök Bulma

12/13

Eliptik Yörünge Newton-Raphson%CalcEA.m

function E = CalcEA(M,e,tol)

%Checking for user inputed tolerance

if nargin == 2

%using default value

tol = 10^-8;

elseif nargin > 3

error('Too many inputs. See help CalcE')

elseif nargin < 2

error('Too few inputs. See help CalcE')

end

Etemp = M;

ratio = 1;

while abs(ratio) > tol

f_E = Etemp - e*sin(Etemp) - M;

f_Eprime = 1 - e*cos(Etemp);

ratio = f_E/f_Eprime;

if abs(ratio) > tol

Etemp = Etemp - ratio;

else

E = Etemp;

end

end

>> CalcEA(2,2)

ans =

2.754673754247060

>>

>> CalcEA(2,2,10^-2)

ans =

2.758967322944334

Page 13: Sayısal Yöntemlerle Kök Bulma

13/13

Kaynaklar

● http://utkstair.org/clausius/docs/che301/pdf/rootfind.pdf

● http://butler.cc.tut.fi/~piche/numa/lecture0506.pdf

● http://www.pearsonhighered.com/samplechapter/0130138517.pdf

● http://www.imo.org.tr/resimler/ekutuphane/pdf/5148.pdf

● http://www.math.utah.edu/mathcircle/notes/non_linear_root_finding.pdf

● http://binnerd.blogspot.com.tr/2012/04/elliptical-motion-solver.html

● http://www.mathworks.com/moler/zeros.pdf

● http://people.cs.uchicago.edu/~ridg/newna/nalrs.pdf

● https://www.wolframalpha.com/examples/NumericalRootFinding.html