You are on page 1of 8

MAT307 Nümerik Analiz

MAT307 Nümerik Analiz

Kısmi diferansiyel denklemlerin sayısal çözümleri II

Dr. Mustafa Ağgül

Dr. Mustafa Ağgül Hacettepe University


MAT307 Nümerik Analiz

Daha önce adi diferansiyel denklemlerin nümerik çözümlerini bulmayı


öğrenmiştik. Şimdi bazı kısmi diferansiyel denklemlerde nümerik çözüm
bulma yöntemlerini öğreneceğiz. Öncelikle kısmi diferansiyel denklemleri
kısaca hatırlayalım.
z = f (x, y) fonksiyonunun x’e göre türevi alınırken y değişkeni sabit
kabul edilir ve sadece x değişkenine göre türev alınır. Benzer şekilde y’ye
göre türev de bulunabilir.
∂x f (x, y) = fx (x, y) = zx (x, y) veya ∂y f (x, y) = fy (x, y) = zy (x, y)
şeklinde ifade edilebilinir.
Örneğin, f (x, y) = x2 + 2xy − xy 4 fonksiyonu için, kısmi türevler

fx (x, y) = 2x + 2y − y 4
fy (x, y) = 2x − 4xy 3
fxy (x, y) = 2 − 4y 3 şeklinde bulunabilir.

Ayrıca, örneğin, 3fxy + fy + 2fx = 6 − 12y 3 + 6x − 4xy 3 + 4y − 2y 4


denklemi kısmi türevler içerdiği için kısmi diferansiyel denklemdir. Bu
denklemin bir çözümü f (x, y) = x2 + 2xy − xy 4 fonksiyonudur.

Dr. Mustafa Ağgül Hacettepe University


MAT307 Nümerik Analiz

Bu denklemler gerçek hayatta karşılaşabileceğimiz herhangi bir olayı


temsil edebilir. Bir oda içerisindeki ısı dağılımı ve bir akışkanın haraketi
gibi fiziksel olaylar bu denklemlerle ifade edilebilinir. Örneğin, bir odanın
sıcaklığını bu denklemlerle ifade ediyorsak bazı ön bilgiler gerekebilir.
Bunlar başlangıçta odada sıcaklığın nasıl dağıldığı, duvarlarda sıcaklığın
kaç derece olduğu veya tamamen izole olup olmadığı gibi bilgilerdir.
Bunları matematiksel olarak başlangıç ve sınır değerleri olarak
adlandırırız. Basitçe sınırında sıcaklık değerleri sabitlenmiş ve
başlangıçtaki sıcaklık dağılımı bilinen bir birim uzunluğundaki çubuğun
zamana bağlı sıcaklık değişimi denklemi

Tt − ρTxx = 0, 0 < x < 1, t > 0,


T (x, 0) = T0 (x)
T (0, t) = T` (t), T (1, t) = Tr (t) şeklinde ifade edilebilinir.

Başlangıç ve sınır değerleri bilinirse herhangi bir anda (örneğin t = 1)


çubuğun herhangi bir noktasındaki sıcaklık değeri bu denklem çözülerek
bulunabilir. Burada t değişkenini zaman ve x değişkenini uzay değişkeni
olarak tanımlarız.

Dr. Mustafa Ağgül Hacettepe University


MAT307 Nümerik Analiz

Adi diferansiyel denklemleri çözerken zaman aralığımızı bölüntülere ayırıp


bilinmeyen fonksiyonun değerini bu bölüntülerde bulmuştuk. Benzer
şekilde uzayımızda da bölüntüler alıp bu bölüntülerden faydalanarak
çözümümüzü bulabiliriz. Mesela, [0, 1] zaman aralığımızı her biri k birim
uzunluğunda olacak şekilde bölüntülere ayıralım. Benzer şekilde [0, 1]
uzayını da her biri h birim uzunluğunda olacak şekilde bölüntülere
ayırabiliriz. xi = ih ve tj = jk olmak üzere Tij ≈ T (xi , tj ), xi
noktasında ve tj zamanında nümerik çözümümüzü ifade etsin. Öyleyse
bu bölüntüleri ve daha önceden bulmuş olduğumuz türev yakınsamalarını
kullanarak denklemimiz için bir yakınsama yazabiliriz. Öncelikle,
türevlerimiz için aşağıdaki yakınsamaları kullanalım:

Tij+1 − Tij
Tt (xi , tj ) ≈
k
j
T − 2Tij + Ti+1
j
Txx (xi , tj ) ≈ i−1 .
h2

Dr. Mustafa Ağgül Hacettepe University


MAT307 Nümerik Analiz

Bu durumda, denklemimiz için bir iteratif yakınsamayı aşağıdaki gibi


yazabiliriz.
Tij+1 − Tij T j − 2Tij + Ti+1 j
− ρ i−1 = 0.
k h2
Bu denklem mevcut haliyle çözülemez çünkü henüz iterasyonlarımızın
hangi değerlerle başlayacağı bilinmemektedir. Bu nedenle başlangıç ve
sınır değerlerimizi kullanmamız gerekir. Verilen başlangıç değerimiz
T (x, 0) = T0 (x) olduğundan burada xi değerleri yerine konarak
başlangıçta Ti0 değerleri bulunabilir. Ayrıca, [0, 1] aralığını
0 = x0 < x1 < · · · < xn = 1 şeklinde bölüntülere ayırmıştık.
Sıcaklığımızın sınırlardaki değerleri bilindiği için bu değerleri doğrudan
bilinmeyen yakınsamalarımıza atayabiliriz. Böylece, T0j = T` (tj ) ve
Tnj = Tr (tj ) değerleri elde edilir.

Dr. Mustafa Ağgül Hacettepe University


MAT307 Nümerik Analiz

Bu algoritmayı asansörle yukarı çıkmaya benzetebiliriz. Öncelikle Ti0


değerleri ve sınırlardaki değerler kullanılarak, Ti1 değerleri ve bunlar da
kullanılarak Ti2 değerleri bulunarak devam edilir. Burada aradığımız değer
hariç bütün değerler bilindiği için aradığımız değer için kolayca çözmek
mümkündür.

Dr. Mustafa Ağgül Hacettepe University


MAT307 Nümerik Analiz

Dikkat edersek bu algoritmada zaman türevi için ileri Euler metodu


uygulanmıştır, yani bulmak istediğimiz zaman seviyesinden bir önceki
zaman seviyesindeki değerler kullanılmıştır. Benzer şekilde geri Euler
metodu kullanılarak da bir algoritma oluşturabiliriz. Bu durumda zaman
türevi dışında kalan bütün terimlerin bulmak istediğimiz zaman
seviyesindeki değerlerini kullanmamız gerekir.

Tij+1 − Tij T j+1 − 2Tij+1 + Ti+1


j+1
− ρ i−1 = 0.
k h2
Bu durumda bulmak istediğimiz değeri eskisi kadar kolay bulamayız. Yine
de algoritmik nedenlerle bu yöntemi kullanmamız gerekebilir. Bu
ρk
algoritmada s = 2 seçip, bilinenleri bir tarafta ve bilinmeyenleri diğer
h
tarafta toplarsak,
j+1
−sTi−1 j+1
+ (1 + 2s)Tij+1 − sTi+1 = Tij , elde edilir.

Buna ek olarak, Ti0 başlangıç değeri ilk iterasyon için sağ tarafta
kullanılabilinir. Bu değer kullanılarak bulunan Ti1 değeri ile de Ti2
değerleri bulunabilir ve böylece devam edilebilinir. Şimdi sol taraf için
neler yapabileceğimize bakalım.
Dr. Mustafa Ağgül Hacettepe University
MAT307 Nümerik Analiz

Sol tarafta 3 bilinmeyenin aynı anda belirdiğini görürüz. Bu gibi


durumlarda doğrusal denklem sistemi kurmak mantıklı bir yol olacaktır.
Eğer, (T0j+1 , T1j+1 , . . . , Tnj+1 ) vektörünü dikkate alırsak, yukarıdaki
denklemleri
    
1 0 0 0 0 ... 0 T0j+1 T` (tj+1 )
    
−s −s ...  j+1  T1j
1 + 2s 0 0   T1
0 
  
   
   j+1   
 0 −s 1 + 2s −s 0 ... 0   T2   T2j 
=
    
 .. .. .. .. .. .. .
  .. .. 

 . . . . . ... .
 
  . 

   j+1   j


 0 0 ... 0 −s 1 + 2s −s 
  Tn−1
  
  Tn−1 

0 0 ... 0 0 0 1 Tnj+1 Tr (tj+1 )

şeklinde bir doğrusal denklem sistemi olarak ifade edebiliriz. Burada


matrisimizin boyutu seçtiğimiz h değerinin küçülmesi ile büyüyecektir.
Eğer çok küçük h değerleri seçersek doğruluğumuzu artırırız ancak çok
büyük boyutlu matrislerle çalışmak zorunda kalırız. Ayrıca, k değeri
küçüldükçe iterasyon sayımız artacaktır, bu da verilen sistemin daha fazla
sayıda çözülmesi demektir. Yani doğruluktan kazanırken çözmemiz
gereken doğrusal denklem sistemi sayısını artırırız.
Dr. Mustafa Ağgül Hacettepe University

You might also like