You are on page 1of 26

Bölüm 3

DOĞRUSAL
EŞİTLİKLERİN ve
SİSTEMLERİN ÇÖZÜMÜ
Nurhan Karaboğa
Bölüm 3

• “Bak, doğan ölür; ondan, eser olarak, söz


kalır; sözünü iyi söyle! Ölümsüz olursun.”

Kutadgu Bilig
TEKRARLAMA YÖNTEMLERİ

• Bu sistemde, değişkenler için sırasıyla birinci eşitlikten


x1, ikinci eşitlikten x2 ve üçüncü eşitlikten x3 çekilerek
düzenlenir.

• Elde edilen eşitlikler, başlangıç çözüm değerleri için


kullanılarak ikinci çözümler hesaplanır.

• İkinci çözümler, üçüncü çözüm değerlerinin


hesaplanması için kullanılır.

• Ardışık tekrarlama işlemleri ile gerçek çözüme


yakınsanır.
TEKRARLAMA YÖNTEMLERİ
1 ⎡ ⎛ j =n ⎞⎤
xi = ⎢bi − ⎜⎜ ∑ aij x j ⎟⎟⎥
aii ⎢⎣ ⎝ j =1, j ≠ i ⎠⎥⎦ i = 1,2,3,..., n
Bir matrisin i.satır normu aşağıdaki ifadeyle
verilmektedir.
j =n
1
Ai =
aii
∑a
j =1, j ≠i
ij i = 1,2,3,..., n

Bir matrisin tekrarlama yöntemleriyle çözülebilmesi için


A <1
olması veya yukarıdaki eşitliği sağlaması gerekmektedir.
Jacobi Tekrarlama Yöntemi

• Jacobi yöntemiyle çözüm işlemine verilen


başlangıç değerleriyle başlanır ve bu değerler
kullanılarak diğer değişkenlerin değerleri
hesaplanır.
j =n
1 i = 1,2,3,..., n
xi( k +1) = [bi − ∑ aij x (jk ) ]
aii j =1
j ≠i

xi( k +1) − xi( k )


( k +1)

xi
Jacobi Tekrarlama Yöntemi
Örnek-1
10x-4y-5z=1
2x+5y-3z=4
-3x+2y-8z=-9

• A) Yukarıda verilen denklem sisteminin


çözümünü 2 iterasyon için Jacobi tekrarlama
yöntemiyle bulunuz.
• Başlangıç değerlerinin hepsini sıfır olarak alınız.

• B) Sonuçlarınızı sistemin gerçek çözüm


değerleri olan x=y=z=1 ile karşılaştırınız.
Jacobi Tekrarlama Yöntemi Program
• clc; close all; clear all
• % Bu programla Jacobi yöntemi ile değişkenler belirlenmektedir.

• A=[10 -4 -5;2 5 -3;-3 2 -8]; % Katsayılar matrisi
• B=[1; 4; -9]; % Eşitlik vektörü
• x(1,:)=[0 0 0]; % Başlangıç değerleri
• maxiter=20; % iterasyon sayacı
• a=diag(A); % a matrisinin köşegen değerleri
• ps=size(a,1);
• hata=inf;
• tolerans=0.01; % Tolerans değeri
• k=1;
• while((k<=maxiter)&&(hata>tolerans))
• for i=1:ps
• top=0;
• for j=1:ps
• if (i~=j)
• top=top+A(i,j)*x(k,j);
• end
• end
• x(k+1,i)=(1/a(i))*[B(i)-top]
• hata=abs((x(k+1,i)-x(k,i))/x(k+1,i))
• end;
• k=k+1;
• end
Jacobi Tekrarlama Yöntemi Program Örnek-1
tolerans=0.01
• x=

• 0 0 0
• 0.1000 0.8000 1.1250
• 0.9825 1.4350 1.2875
• 1.3178 1.1795 1.1153
• 1.1295 0.9421 0.9257
• 0.9397 0.9036 0.9370
• 0.9299 0.9863 0.9985
• 0.9938 1.0271 1.0228
• 1.0223 1.0162 1.0091
• 1.0110 0.9966 0.9957
• 0.9965 0.9930 0.9950

• hata =

• 6.9613e-004
Jacobi Tekrarlama Yöntemi Program Örnek-1
tolerans=0.000001
• x=
• 0 0 0
• 0.1000 0.8000 1.1250
• 0.9825 1.4350 1.2875
• 1.3178 1.1795 1.1153
• 1.1295 0.9421 0.9257
• 0.9397 0.9036 0.9370
• 0.9299 0.9863 0.9985
• 0.9938 1.0271 1.0228
• 1.0223 1.0162 1.0091
• 1.0110 0.9966 0.9957
• 0.9965 0.9930 0.9950
• 0.9947 0.9984 0.9996
• 0.9992 1.0019 1.0016
• 1.0015 1.0013 1.0008
• 1.0009 0.9999 0.9997
• 0.9998 0.9995 0.9996
• 0.9996 0.9998 0.9999
• 0.9999 1.0001 1.0001
• 1.0001 1.0001 1.0001
• 1.0001 1.0000 1.0000
• 1.0000 1.0000 1.0000
• hata = 1.4750e-005
Gauss-Seidel Tekrarlama Yöntemi
• Gauss-Seidel yönteminde, iterasyonlarda her değişkenin
hesaplanmış değeri diğer değişkenlerin hesaplanması
için kullanılarak Jacobi tekrarlama yöntemine göre
yakınsamanın daha hızlı olması sağlanmıştır.

1 ⎡ ⎛ j =n ⎞⎤
⎢b1 − ⎜⎜ ∑ a1 j x j ⎟⎟⎥
( k +1)
x1 = (k )

a11 ⎢⎣ ⎝ j =2 ⎠⎥⎦
1 ⎡ ⎛ j = n −1 ( k +1) ⎞⎤
⎢bn − ⎜⎜ ∑ anj x j ⎟⎟⎥
( k +1)
x n =
ann ⎢⎣ ⎝ j =1 ⎠⎥⎦
• Yöntemin çözüme yakınsamadığı durumlarda olabilir. Bu
da yöntemin dezavantajıdır.
Gauss-Seidel Tekrarlama Yöntemi
Örnek-2
• Örnek-1’i Gauss-Seidel yöntemi için çözerek
sonuçları karşılaştırınız.
10x-4y-5z=1
2x+5y-3z=4
-3x+2y-8z=-9
DOĞRUSAL SİSTEMLERİN ÇÖZÜMLENMESİNDE
MATLAB’IN KULLANIMI

• MATLAB hesaplamalarında bir matris, iki boyutlu


yani mxm elemanlı bir dizidir.

• MATLAB’da hesaplamaların çoğunluğu matris


esasına dayanmaktadır:

– Katsayılar Matrisinin Tersinin Alınması ile Doğrusal Sistemlerin


Çözümü,

– Normal Kesme; ”/” ve Ters Kesme; “\” ile Doğrusal Sistemlerin


Çözümü.
Katsayılar Matrisinin Tersinin Alınması ile
Doğrusal Sistemlerin Çözümü:

[a][x] = [b]
[x ] = [a ]−1[b]
• MATLAB ortamında “inv” komutu kullanılarak
sistemlerin çözümü belirlenebilir.
x = inv ( a ) * b
Normal Kesme; ”/” ve Ters Kesme; “\” ile
Doğrusal Sistemlerin Çözümü:
• Katsayılar matrisi ve eşitlik vektörü
tanımlandıkta sonra, sola “\” veya sağa “/”
bölme işlemleri yapılarak da sistemlerin
çözümü bulunur.

• a\b
• b/a
Katsayılar Matrisinin Tersinin Alınması ile
Doğrusal Sistemlerin Çözümü
Örnek-3
• >> A=[10 -4 -5;2 5 -3;-3 2 -8]
• A=
• 10 -4 -5
• 2 5 -3
• -3 2 -8
• >> B=[1; 4; -9]
• B=
• 1
• 4
• -9
• >> x=inv(A)*B
• x=
• 1.0000
• 1.0000
• 1.0000
Katsayılar Matrisinin Tersinin Alınması ile
Doğrusal Sistemlerin Çözümü
Örnek-3
• >> A=[10 -4 -5;2 5 -3;-3 2 -8];
• >> B=[1; 4; -9];

• >> x=A^-1*B

• x=

• 1.0000
• 1.0000
• 1.0000
Katsayılar Matrisinin Tersinin Alınması ile
Doğrusal Sistemlerin Çözümü
Örnek-3
• >> A=[10 -4 -5;2 5 -3;-3 2 -8];
• >> B=[1; 4; -9];

• >> x=A\B

• x=

• 1
• 1
• 1
Ödev
• Şekildeki devrede düğüm noktalarındaki ve
gerilimlerini, MATLAB’da katsayılar matrisinin
tersini alınması yöntemiyle bulunuz.
• Verilen dirençler ohm cinsindendir.
Hata

• Gerçek hata, gerçek çözüm değeri bilinmiyorsa


doğru olarak hesaplanamaz.

• Çözümün hassaslığının belirlenmesinde alternatif


olarak, eşitlik vektörü ile hesaplama sonucunda
elde edilen sayısal çözümle katsayılar matrisinin
çarpımının farkına bağlı olarak elde edilen ile
gösterilen “rezidü” değeri kullanılır.
[e] = [ xgç ] − [ xsç ]
[r ] = [ a ][ xgç ] − [ a ][ xsç ] = [b] − [ a ][ xsç ]
Rezidü Örnek-4

• Aşağıda verilen sistemin gerçek hatası e ile r


rezidü değerini hesaplayınız.
• Not:Sistemin gerçek çözüm değerleri sırasıyla 2 ve 1’dir.
0.0004 x1 + 19.78 x2 = 19.7808
⎡3.6819⎤
0.5432 x1 + x2 = 2.0864 Gauss eleme ile : [ x sç ] = ⎢ ⎥
⎣ 1 ⎦
⎡0.0004 19.78⎤ ⎡ x1 ⎤ ⎡19.7808⎤
⎢0.5432 1 ⎥ ⎢ x ⎥ = ⎢ 2.0864 ⎥
⎣ ⎦⎣ 2 ⎦ ⎣ ⎦

[e] = [ xgç ] − [ xsç ] ⎡2⎤ ⎡3.6819⎤ ⎡− 1.6819⎤


[e] = ⎢ ⎥ − ⎢
1 1 ⎥=⎢ 0 ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦

19.7808⎤ ⎡0.0004 19.78⎤ ⎡3.6819⎤ ⎡− 0.0007 ⎤


[r ] = [b] − [a ][ x sç ] [r ] = ⎡⎢ ⎥ − ⎢0.5432 ⎥ ⎢ 1 ⎥ = ⎢− 0.9136⎥
⎣ 2.0864 ⎦ ⎣ 1 ⎦⎣ ⎦ ⎣ ⎦
Normlar ve Koşul Sayısı

• Aşağıdaki dört özelliği sağlayan vektör veya bir


matrise atanan gerçek bir sayı “norm” olarak
bilinir.
[a] ≥ 0 [a] = 0 [a] = 0
α [a ] = α [a ]

[a][x] ≤ [a] [x]


[a + b] ≤ [a] + [b]
Vektör Normları

• Vektörlerin sonsuzluk normu v ∞ = max vi


1≤i ≤ n

i =n
• Vektörlerin 1 normu: v 1 = ∑ vi
i =1
Matris Normları:
j =n

• Matrisin sonsuzluk normu: [a] ∞ = max ∑ aij


1≤i ≤ n
j =1

i =n
• Matrisin 1-normu: [a ] 1 = max ∑ aij
1≤ j ≤ n
i =1
Matris Normları
Örnek-5
j =n −1 − 3 ⎤ ⎡ x1 ⎤ ⎡ 13 ⎤
1 ⎡ 10 1
Ai =
aii
∑a
j =1, j ≠i
ij ⎢− 2 15 − 3 0.5 ⎥ ⎢ x ⎥ ⎢ 42 ⎥
⎢ ⎥⎢ 2 ⎥ = ⎢ ⎥
⎢2 − 4 11 1.5 ⎥ ⎢ x3 ⎥ ⎢− 13⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣ 0. 5 − 2. 5 5. 5 − 15 ⎦⎣ 4 ⎦ ⎣
x 22 ⎦

1 1
A1 = ( a12 + a13 + a14 ) A1 = (1 + 1 + 3) = 0.5
a11 10

1 1
A2= (2 + 3 + 0.5) = 0.3667 A3 = (2 + 4 + 1.5) = 0.6818
15 11

1
A4= (0.5 + 2.5 + 5.5) = 0.5667
15
Matris Normları
Örnek-5
⎡ 1 ⎤ ⎡ 1.0076 ⎤ ⎡− 0.0076⎤
[e] = [ xgç ] − [ xsç ] ⎢ 3 ⎥ ⎢ 3.0029 ⎥ ⎢− 0.0029⎥
[e] = ⎢ ⎥ − ⎢ ⎥=⎢ ⎥
⎢ 0 ⎥ ⎢ − 0.162 ⎥ ⎢ 0.162 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
− 2
⎣ ⎦ ⎣ − 1. 9244 ⎦ ⎣ − 0. 0756 ⎦

⎡ 10 −1 1 − 3 ⎤ ⎡− 0.0076⎤ ⎡ 0.3157 ⎤
[ r ] = [ a ][e] ⎢− 2 15 − 3 0.5 ⎥ ⎢− 0.0029⎥ ⎢− 0.5521⎥
[r ] = ⎢ ⎥⎢ ⎥=⎢ ⎥
⎢ 2 − 4 11 1.5 ⎥ ⎢ 0.162 ⎥ ⎢ 1.6650 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣0.5 − 2.5 5.5 − 15⎦ ⎣− 0.0756⎦ ⎣ 2.0284 ⎦
MATLAB’da: matrisin sonsuzluk normu

• MATLAB’da: matrisin sonsuzluk normu

• “norm(a,inf)”
• komutuyla hesaplanmaktadır.

You might also like