NÜMER· IK ANAL· IZ
Bilimsel Hesaplama Matemati¼gi
Nuri ÖZALP
Diferensiyel Denklemlerin Say¬sal Çözümleri
1. Çözümlerin Varl¬k ve Tekli¼gi
Varl¬k ve Teklik
( dx
dt =f(t, x) x(t0) =x0
(1)
formunda bir ba¸slang¬ç-de¼ger problemini göz önüne alal¬m.
Teorem (Varl¬k)
E¼ger f, (t0, x0)merkezli bir
R = f(t, x) : jt t0j α, jx x0j βg (2) dikdörtgeninde sürekli ise, bu durumda (1) ba¸slang¬ç-de¼ger problemi jt t0j min(α, β/M)için bir x(t)çözümüne sahiptir. Burada M,R dikdörtgeni içinde jf(t, x)j in maksimumudur.
1. Çözümlerin Varl¬k ve Tekli¼gi
Teorem (Teklik)
E¼ger (2) ile tan¬ml¬R diktörtgeninde f ve ∂f/∂x sürekli ise, bu durumda (1) ba¸slang¬ç-de¼ger problemi jt t0j <min(α, β/M)aral¬¼g¬nda tek bir çözüme sahiptir.
Teorem
E¼ger f , a t b, ∞<x< ∞ ¸seridinde sürekli ve orada
jf(t, x1) f(t, x2)j Ljx1 x2j (3) e¸sitsizli¼gini ( Lipschitz ko¸sulu) sa¼gl¬yorsa, bu durumda (1) ba¸slang¬ç-de¼ger problemi [a, b]aral¬¼g¬nda tek bir çözüme sahiptir.
2. Taylor Serisi Yöntemi
Taylor Serisi Yöntemi
x0 =f(t, x) x(t0) =x0
ba¸slang¬ç-de¼ger problemini göz önüne alal¬m. Burada f önceden verilmi¸s iki de¼gi¸skenli bir fonksiyon ve (t0, x0), çözüm e¼grisinin geçti¼gi, verilen tek bir noktad¬r. bdp-nin bir çözümü, t0 ¬n bir kom¸sulu¼gundaki tüm t ler için dx(t)/dt =f(t, x(t))ve x(t0) =x0 olacak ¸sekilde bir x 7 !x(t) fonksiyonudur.
x(t)çözümünü t nin bir fonksiyonu olarak veren bir formül olarak elde etmek yerine, genellikle fonksiyon de¼gerlerinin
t0 t1 t2 t3 . . . tm x0 x1 x2 x3 xm
formunda bir tablosunu olu¸stururuz. Burada xi, ti deki kesin çözüm olan x(t) nin hesaplanm¬¸s yakla¸s¬k de¼geridir.
2. Taylor Serisi Yöntemi
Örnek
Taylor serisi yöntemi için somut bir örnek alal¬m:
x0 =cos t sin x+t2 x( 1) =3.
Yöntemin temeli,
x(t+h) =x(t) +hx0(t) +h
2
2!x00(t) +h
3
3!x000(t) + h
4
4!x(4)(t) + (4) olarak yaz¬lan x için Taylor serisidir. Burada görünen türevler diferensiyel denklemden elde edilebilir. Bunlar,
x00 = sin t x0cos x+2t
x000 = cos t x00cos x+ (x0)2sin x+2 x(4) = sin t x000cos x+3x0x00sin x+ (x0)3cos x
2. Taylor Serisi Yöntemi
Örnek (Devam)
(4) formülündeh4 ü içeren terimlere kadar olan¬kullanmaya karar verirsek, almad¬¼g¬m¬z terimler h5 ile ba¸slayanlar olup, yöntemin toplamdaki kesme hatas¬n¬verir. Bu durumda ortaya ç¬kan say¬sal yöntem 4 üncü
basamaktand¬r denir. ( E¼ger hnx(n)(t)/n! e kadar olan terimler
kullan¬l¬rsa, Taylor serisi yönteminin basama¼g¬n dir.) Dikkat edilirse sin x gibi t ye göre türevi al¬nan terimlerde, onu dfsin[x(t)]g/dt olarak dü¸sünüp, türevde zincir kural¬n¬ uyguluyoruz. Bu da ku¸skusuz x00, x000, ...
formüllerinin karma¸s¬kl¬¼g¬n¬do¼gurur. Sa¼g tarafta x in türevlerini içermeyecek ¸sekilde x00, x000, ...için formüller elde etmek için birçok yerle¸stirme yapmal¬y¬z. Fakat, e¼ger formüller ardarda s¬rada kullan¬l¬rsa bunu yapmam¬z gerekmez. Çünkü, do¼gas¬gere¼gi ard¬¸s¬kt¬rlar.
2. Taylor Serisi Yöntemi
Örnek (Devam)
A¸sa¼g¬da, (3) ba¸slang¬ç-de¼ger problemini çözmek için bir algoritma verilmi¸stir. t = 1 den ba¸slayarak h =0.01ad¬m uzunluklar¬al¬nm¬¸st¬r.
[ 1, 1]aral¬¼g¬nda bir çözüm arzu etti¼gimiz için 200 ad¬m uygulamal¬y¬z.
girdi M 200; h 0.01; t 1.0; x 3.0 ç¬kt¬0, t, x
k =1 den M ye döngü x0 cos t sin x+t2 x00 sin t x0cos x+2t
x000 cos t x00cos x+ (x0)2sin x+2 x(4) sin t+ ((x0)3 x000)cos x+3x0x00sin x x x+h(x0+ h2(x00+h3(x000+ h4(x(4))))) t t+h
ç¬kt¬k, t, x döngü sonu
2. Taylor Serisi Yöntemi
Örnek (Devam)
Hesaplad¬¼g¬m¬z çözümün hatas¬hakk¬nda ne söyleyebiliriz? Taylor serisindeki h5, h6, ... terimlerini almad¬¼g¬m¬z için, herbir ad¬mda yerel kesme hatas¬O(h5)dir. Bu nedenle yerel hatalar¬n davran¬¸s¬h !0 için Ch5 e benzer olmal¬d¬r. Ne yaz¬k ki C yi bilmiyoruz. Fakat, h=10 2 oldu¼gundan h5 =10 10 dur. O halde, e¼ger ¸sansl¬ysak, herbir ad¬mdaki hata, boyut olarak kabaca 10 10 olmal¬d¬r. Birkaç yüz ad¬mdan sonra, bu küçük hatalar birikir ve say¬sal çözümü mahveder. (·Ilki hariç) herbir ad¬mda x(tk) n¬n xk tahmini halihaz¬rda hata içermektedir ve sonraki hesaplamalar bu hatalar¬art¬rmaya devam eder. Bu uyar¬lar, bir diferensiyel denklemin say¬sal çözümündeki tüm desimal de¼gerleri körü körüne kabul etme konusunda çok dikkatli olmak gerekti¼gini söylemektedir. Yukar¬daki algoritma programlan¬p çal¬¸st¬r¬l¬rsa t =1deki çözüm x200 =6.42194olur.
Program¬n örnek bir ç¬kt¬s¬¸su ¸sekildedir:
2. Taylor Serisi Yöntemi
k t x
0 1.00000 3.00000 1 0.99000 3.01400 2 0.98000 3.02803 3 0.97000 3.04209 4 0.96000 3.05617 5 0.95000 3.07028 6 0.94000 3.08443 7 0.93000 3.09861
... ... ...
... ... ...
196 0.96000 6.36566 197 0.97000 6.37977 198 0.98000 6.39386 199 0.99000 6.40791 200 1.00000 6.42194
Bir sonraki bilgisayar çal¬¸st¬rmas¬nda diferensiyel denklem, bu x200 de¼geri ba¸slang¬ç ko¸sulu al¬n¬p,h = 0.01 ile çal¬¸st¬r¬ld¬¼g¬nda; program bu kez t = 0.99999da x200 3.00000verir. Orjinal ba¸slang¬ç de¼gerine olan bu yak¬nl¬k, say¬sal çözümün, yakla¸s¬k olarak görünen 6 de¼gerinin, yani
görünen rakamlar¬n tümüne kadar duyarl¬oldu¼gunu dü¸sünmemizi sa¼glar.
2. Taylor Serisi Yöntemi
Tart¬¸st¬¼g¬m¬z örnekte, say¬sal çözümün her ad¬m¬ndaki yerel kesme hatas¬n¬
tahmin etmek güç de¼gildir. Bunun için (4) Taylor serisindeki hata teriminin
En = 1
(n+1)!hn+1x(n+1)(t+θh) (0< θ<1) oldu¼gunu hat¬rlayal¬m. Bu, h n¬n toplamda içerilen son kuvvetinin hn olmas¬durumundaki hatad¬r. Örnekte, n=4 ve h =0.01 alm¬¸st¬k. Basit bir sonlu-fark ile x(5)(t+θh)e bir yakla¸s¬m yap¬l¬rsa
E4 1 5!h5
"
x(4)(t+h) x(4)(t) h
#
= h
4
120 h
x(4)(t+h) x(4)(t)i (5)
elde edilir. Taylor yönteminde n =1durumuna Euler yöntemi denir. Yani x(t+h) =x(t) +hf(t, x)
Bu formül aç¬k olarak f nin herhangi türevini içermeme avantaj¬na sahiptir. Bu avantaj, kabul edilebilir bir duyarl¬l¬k için h n¬n küçük