19 Ağustos 2009 Çarşamba

Sayısal Türev

Merhabalar;

Türev bir fonksiyona ilişkin bir eğrinin herhangi bir X noktasındaki teğetinin eğimidir.

Sonlu fark tablolarında kullandığımız ileri,geri ve merkezi farkları kullanarak bir fonksiyonun sayısal türevini kolaylıkla hesaplaybiliriz.

ehDºEº1+Δº(1-∇)-1
*Bu bağıntıyı sonlu farklardan biliyoruz.

İleri Farklar İle Sayısal Türev Hesabı

ehD=1+Δ
hD = ln(1+Δ)=Δ-Δ2/2+Δ3/3-Δ4/4....
D = 1/h(Δ-Δ2/2+Δ3/3-Δ4/4....)
Dyi = 1/h(Δyi2yi/2+Δ3yi/3-Δ4yi/4....)
Dy = y¢
O halde 1. türevimizin değeri:
y¢=1/h(Δyi-Δ2yi/2+Δ3yi/3-Δ4yi/4....)
2.Türevi hesaplamak istersek:
h2D2= Δ23+11/12*Δ4...



y'nin k. dereceden türevine ilişkin genel formül;

yi(k) = 1/h(k)kyi-k/2(Δ(k+1)yi)+k(3k+1)/24(Δ(k+1))yi...)


Herkese Kolay gelsin=)

Ara Değer Hesabı - En Küçük Kareler Yöntemi(Least Square Method)

Merhabalar;
En küçük kareler yöntemi (Xi,Yi) i=0,1,2... noktalarının birikme gösterdiği noktalardan geçen bir fonksiyonun bulunması yöntemidir.
Bulunan fonksiyon çoğu noktayı sağlamayacaktır ancak noktaların bulunabileceği bir sonraki adımı hesaplayabilir.EKK problemi dolayısıyla aslında bir optimizasyon problemidir.
Elimizdeki her (Xi,Yi) için;

y = A0 + A1 X1 + ... + An Xin geçerlidir.
y'yi karşıya atarsak;

0£(Ya da ³) A0 + A1 X1 + ... + An Xin - Yi haline gelir
Her tarafın karesini alırsak;

0£(A0 + A1X1 + ... + AnXin - Yi)2 haline gelir.

Noktalar bütün fonksiyonu sağlamayacağı için 0'dan farklı değerler gelecektir.Bizim amacımız bu farkın en küçük olmasını sağlamak.

Her nokta için aynı işlem yapılır ve bu farklar toplanırsa elimizde şöyle bir fonksiyon olur;

H(A0,A1,A2..An) = Σ (A0+A1X1+..+AnXin)2
Toplamını 0'a eşitleyip her katsayı için ayrı ayrı türevler alınırsa elimize katsayıların çözümü için bir lineer sistem gelir.
dH / dA0 = 0
dH / dA1 = 0
.
.
dH / dAn = 0
Son olarak lineer sistemimizi kurar ve katsayıları bulur yerine koyarız.Böylece fonksiyonumuzu elde ederiz.
Bir örnek çözelim.

Örnek:(1,3.0),(2,5.2),(3,8.0) noktalarından geçen en uygun doğruyu bulun.
Soruda noktaların bir doğru etrafında toplandığı verilmiş.
En uygun doğrumuz y = Ax + b olsun
H(A,B) = (A*X0 + B - Y0)2 +(A*X1 + B - Y1)2 +(A*X2 + B - Y2)2
H(A,B) = (A+B -3)2 + (2A+B-5.2)2 + (3A+B-8)2

dH / dA = 28A+12B - 74.8 = 0
dH/dB=12A+6B-32.4=0
Bu denklem sistemini çözdüğümüzde A=2.5 B=0.4 geliyor.
En uygun doğrumuz y = Ax + B idi.
Yerine koyarsak y = 2.5A + 0.4 sorumuzun cevabı olur.
Herkese kolay gelsin =)

17 Ağustos 2009 Pazartesi

Sayısal Çözüm Yöntemleri - Sabit Kesen Yöntemi (Regula-Falsi)

Merhabalar;

Sabit kesen yöntemi(False position method - Regula Falsi) bisection method ve secant methodun kombinasyonu şeklindedir.y=f(x) verilen [a,b] aralığında sürekli ve f(a)*f(b)<0 (yani verilen aralıkta fonksiyonun bir kökü bulunması gerekiyor.)Aralığı bisectiondan farklı olarak ağırlıklı ortalamaya bölerek adımlarımızı ilerlettiğimizde k.adımın limit durumunda bulduğumuz ağırlıklı ortalama fonksiyonun köküne eşittir.Hangi aralıkta devam etmemiz gerektiğine ise;

f(a)*f(w)<0>f(w)*f(b)<0 ise yeni aralık [w,b]

w = ( a*f(b) - b*f(a) ) / (f(b) - f(a))


Bir örnek çözelim.

Örn:f(x) = x3 - x -1 = 0 fonksiyonunun [1,2] aralığındaki kökünü bu sefer regula falsi ile bulalım.
1.Adım

f(1) = -1
f(2) = 5
w = ( 1*5 - 2*(-1) ) / ( 5 - (-1)) = 1.16667
f(w) = (1.16667)3 - 1.16667 - 1 = -0.57869
f(1.16667)*f(2)<0 yeni aralık [1.16667,2]

2.Adım

f(1.16667) = -0.57869
f(2) = 5
w = (1.16667*5 - 2*(-0.57869)) / (5-(-0.57869)) = 1.25311
f(w) = f(1.25311) = -0.28537
f(1.25311)*f(2)<0 yeni aralık [1.25311,2]

SolSınır SağSınır

1.00000 2.00000
1.16667 2.00000
1.25311 2.00000
**
**
**
1.32572 2.00000

16.adımda gelen sonuç.Fark ettiyseniz sabit kesen yöntemi kökün uzak olduğu sınır değerini sabit kalıyor. Regula-Falsi bisection methoddan daha iyi yakınsar.


Herkese kolay gelsin=)


16 Ağustos 2009 Pazar

Sayısal Çözüm Yöntemleri - İkiye Bölme Yöntemi(Bisection Method)

Herkese Merhaba ;

y=f(X) verilen bir [a,b] aralığında sürekli ve f(a)*f(b)<0>

f(a)*f(c)<0>f(c)*f(b)<0>
Bir örnek çözelim.

Örn: y = f(x) = x3 - x -1 = 0 fonksiyonunun [1,2] aralığındaki kökünü bisection method ile bulunuz.

1.Adım:
f(1) = 13 -1 -1 = -1
f(2) = 23 -2 - 1 = 5
c =( 1 + 2 ) /2 = 1.5
f(c) = 1.53 - 1.5 - 1 = 0.875000
f(1)*f(1.5) ters işaretli.Yeni aralık [1,1.5]

2.Adım:
f(1) = -1

f(1.5) = 0.87500
c = (1 + 1.5)/2 = 1.25
f(c) = f(1.25) = 1.253 - 1.25 - 1 =-0.29688
f(1.25) ve f(1.5) ters işaretli.Yeni aralık [1.25,1.5]

SagSınır SolSınır
1.00000 2.00000
1.00000 1.50000
1.25000 1.50000
* * *
* * *
1.324717 1.324718
20. adımda karşımıza gelen sonuç. Bisection method çok zor yakınsayan bir yöntemdir.


Herkese kolay gelsin=)