YMT 222 SAYISAL ANALİZ (Bölüm 6b) Prof. Dr. Asaf Varol 2012-2013 Bahar Dönemi
Diferansiyel Denklemlerin Sayısal Çözümü
Örnek EULER METODU Euler Metodu ile basit bir ODE çözümü Diferansiyel denklemin y’ = f( x, y ) a≤ x≤b olduğunu düşünelim y’ = x + y; 0 ≤ x ≤ 1 a = 0, b = 1, y(0) = 2. İlk olarak h=0.5 (n = 2) için yaklaşık çözümü buluruz, çok büyük basamak boyutundadır. Yaklaşık olarak x1 = 0.5 y1=y0 + h (x0 + y0)= 2.0 + 0.5 (0.0 + 2.0) = 3.0 Sonra h=0.05 olsun diye n=20 aralığında yaklaşık çözümü buluruz.
Eulerin Matlab ile çözümü
İşaret (Euler)
Değiştirilmiş Euler Metodu
Yüksek Düzey Taylor Metodları Daha iyi bir çözüm elde etmenin teknik bir yolu daha yüksek dereceden kesme hatası içerisinde Y için Taylor serilerinde daha fazla terim kullanmaktır. Örneğin ikinci düzey Taylor metodu kullanımı y(x+h)=y(x)+hy’(x)+(h2/2)y’’(x)+O(h3) O(h3), lokal kısıtlanmış hatadır.
Taylor Metodu ile basit bir ODE çözümü Diferansiyel denklem düşünelim y’=x + y; 0≤ x ≤1 önceki şart ile y(0)=2. İkinci düzey Taylor metot denklem uygulamasını buluruz. y’’=d/dx( x+ y) = 1 + y’ = 1 + x + y Bu verilenler yaklaşık formüllerdir. y(x + h)=y(x)+hy’(x)+(h2/2)y’’(x)
Devamı yi+1=yi+h(xi+yi)+(h2/2)(1+xi+yi) n=2 (h=0.5) için bulduğumuz değerler; y1=y0+h(x0+y0)+(h2/2)(1+x0+y0)= =2+0.5(0+2)+((.5)2/2)(1+0+2)=3.375 y2=y1+h(x1+y1)+(h2/2)(1+x1+y1)= =3.375+0.5(0.5+3.375)+((0.5)2/2)(1+0.5+3.375)=5.9219
MATLAB Program f. Taylor
İşaret (Taylor)
Runge-Kutta Metodu Runge-Kutta yöntemleri mühendislik uygulamalarında kullanılan en popüler yöntemdir. Sebebi basitliği ve doğruluğudur. En basit Runge-Kutta metodlarından biri, Euler metodu ile belirtilen y deki değişikliğin yarısının çekilmesiyle xi + h/2 ve yi deki akım değerinin toplanmasıyla y nin yaklaşık değeri bulunur. Bu metot midpoint metot olarak bilinir.
Midpoint Metod k1=hf(xi,yi) Euler metodunda belirtilen y deki değişiklik. k2=hf(xi+0.5h,yi+0.5k1) midpoint de hesaplanan eğimde kullanılan y deki değişiklik.
Midpoint Metodu ile basit bir ODE çözümü Diferansiyel denklem düşünelim y’=x + y; 0≤ x ≤1 önceki şartlar ile (a=0.0, b=0.0), y(0) = 2. İlk olarak h=0.5 (n=2) için yaklaşık çözümü bulmalıyız, çok büyük basamak boyutundadır. k1=hf(x0,y0)=0.5(0.0+2.0)=1.0 k2=hf(x0+0.5h,y0+0.5k1)=0.5(0.0+0.5*0.5+2.0+0.5*1.0)=1.375 Y1=y0+k2=2.0+1.375=3.375 Sonra, y2 noktası için yaklaşık çözümü buluruz. x2=0.0+2h=1.0
Devamı k1=hf(x1,y1)=0.5(x1,y1)=0.5(0.5+3.375)=1.9375 k2=hf(x1+0.5h,y1+0.5k1)=0.5(0.5+0.5*0.5+3.375+0.5*1.9375)=2.547 y2=y1+k2=3.375+2.5469=5.922
Midpoint Matlab Programı
İşaret (Midpoint)
Bölüm 6b Sonu
Referanslar Celik, Ismail, B., “Introductory Numerical Methods for Engineering Applications”, Ararat Books & Publishing, LCC., Morgantown, 2001 Fausett, Laurene, V. “Numerical Methods, Algorithms and Applications”, Prentice Hall, 2003 by Pearson Education, Inc., Upper Saddle River, NJ 07458 Rao, Singiresu, S., “Applied Numerical Methods for Engineers and Scientists, 2002 Prentice Hall, Upper Saddle River, NJ 07458 Mathews, John, H.; Fink, Kurtis, D., “Numerical Methods Using MATLAB” Fourth Edition, 2004 Prentice Hall, Upper Saddle River, NJ 07458 Varol, A., “Sayisal Analiz (Numerical Analysis), in Turkish, Course notes, Firat University, 2001