basit gaus eleme 1 yöntemi - İstanbul Üniversitesi basit gaus eleme [a][x]=[c] formundaki lineer...
TRANSCRIPT
Basit Gaus Eleme
Yöntemi1
Basit Gaus Eleme
[A][X]=[C] formundaki lineer denklem takımının çözümü için bir yöntemdir.
İki adımı vardır1. İleriye Doğru Eleme
2. Geriye Doğru Yerine Koyma
2
İleriye Doğru Eleme
735.0
21.96
8.106
7.000
56.18.40
1525
3
2
1
x
x
x
2.279
2.177
8.106
112144
1864
1525
3
2
1
x
x
x
İleriye Doğru Elemenin amacı katsayı matrisini üst üçgensel matris biçimine dönüştürmektir.
3
İleriye Doğru Eleme
n bilinmeyen ve n eşitlikten oluşan bir sistem
11313212111 ... bxaxaxaxa nn
22323222121 ... bxaxaxaxa nn
nnnnnnn bxaxaxaxa ...332211
. .
. .
. .
İleriye Doğru Eleme için (n-1) adım bulunur
4
İleriye Doğru Eleme
Adım 1 Eşitlik 2 için, Eşitlik 1’i ile böl ve ile çarp.
)...( 11313212111
11
21 bxaxaxaxaa
ann
1
11
211
11
21212
11
21121 ... b
a
axa
a
axa
a
axa nn
11a21a
5
İleriye Doğru Eleme
1
11
211
11
21212
11
21121 ... b
a
axa
a
axa
a
axa nn
22323222121 ... bxaxaxaxa nn
1
11
2121
11
212212
11
2122 ... b
a
abxa
a
aaxa
a
aa nnn
'
2
'
22
'
22 ... bxaxa nn
Sonucu Eşitlik 2’den çıkart.
−_________________________________________________
veya
6
İleriye Doğru Eleme
Bu prosedürü geriye kalan tüm eşitliklere uygula
11313212111 ... bxaxaxaxa nn
'
2
'
23
'
232
'
22 ... bxaxaxa nn
'
3
'
33
'
332
'
32 ... bxaxaxa nn
''
3
'
32
'
2 ... nnnnnn bxaxaxa
. . .
. . .
. . .
Adım 1’in sonu
7
Adım 2Eşitlik 3’ün 3. terimi için aynı prosedürü tekrar et
İleriye Doğru Eleme
11313212111 ... bxaxaxaxa nn
'
2
'
23
'
232
'
22 ... bxaxaxa nn
"
3
"
33
"
33 ... bxaxa nn
""
3
"
3 ... nnnnn bxaxa
. .
. .
. .
Adım 2’nin sonu
8
İleriye Doğru Eleme
(n-1) İleriye Doğru Eleme adımı sonucu, denklem sistemi şöyle görünür
'
2
'
23
'
232
'
22 ... bxaxaxa nn
"
3
"
33
"
33 ... bxaxa nn
11 n
nn
n
nn bxa
. .
. .
. .
11313212111 ... bxaxaxaxa nn
(n-1) Adım sonu
9
İleriye Doğru Eleme Sonunda
Matris Formu
)(n-
n
"
'
n
)(n
nn
"
n
"
'
n
''
n
b
b
b
b
x
x
x
x
a
aa
aaa
aaaa
1
3
2
1
3
2
1
1
333
22322
1131211
0000
00
0
10
Geriye Doğru Yerine Koyma
735.0
21.96
8.106
7.000
56.18.40
1525
3
2
1
x
x
x
Son eşitlikten başlayarak herbir denklemi çözün
3 denklemli bir sistem örneği
11
Geriye Doğru Yerine Koyma
'
2
'
23
'
232
'
22 ... bxaxaxa nn
"
3
"
3
"
33 ... bxaxa nn
11 n
nn
n
nn bxa
. .
. .
. .
11313212111 ... bxaxaxaxa nn
12
Geriye Doğru Yerine Koyma
1 1 1 1
, 1 1 , 2 2 ,
1
... 1,...,1 için
i i i i
i i i i i i i i n n
i i
ii
b a x a x a xx i n
a
1 1
1
11,...,1 için
ni i
i ij jj i
i i
ii
b a x
x i na
)1(
)1(
n
nn
n
n
na
bx
13
En son denklemle başlanılmaktadır çünkü sadece
bir bilinmeyen vardır.
Diğer bilinmeyenler için
En genel ifadesi:
Örnek
239
248
247
9428.02357.02357.0
9701.02425.00
9701.002425.0
3
2
1
x
x
x
14
Aşağıda matris formunda verilmiş olan lineer denklem sistemini Gaus Eleme yöntemini kullanarak x1 , x2 vex3 bilinmeyenlerini bulunuz.
Örnek
İleriye Doğru Eleme: Adım 1
02 ( 1)
0.2425Satır Satır
239
248
247
9428.02357.02357.0
9701.02425.00
9701.002425.0
3
2
1
x
x
x
15
Örnek
İleriye Doğru Eleme: Adım 1
0.23573 ( 1)
0.2425Satır Satır
07.479
248
247
x
x
x
8857.12357.00
9701.02425.00
9701.002425.0
3
2
1
16
Örnek
Geriye Doğru Yerine Koymaadımına geçebiliriz
İleriye Doğru Eleme: Adım 2
0.23573 ( 2)
0.2425Satır Satır
12.720
248
247
x
x
x
8286.200
9701.02425.00
9701.002425.0
3
2
1
17
Örnek
Geriye Doğru Yerine Koyma: Üçüncü eşitliği kullanarakx3 buluruz
3
3
2.8286.x 720.12
720.12x
2.8286
254.59
18
Örnek
Geriye Doğru Yerine Koyma: İkinci eşitliği kullanarak x2
buluruz
2328.4
2425.0
)59.254()9701.0(248x
2425.0
x)9701.0(248x
2
32
248x)9701.0(x2425.0 32
19
Örnek
Geriye Doğru Yerine Koyma: Birinci eşitliği kullanarakx1 buluruz
247)9701.0(02425.0 321 xxx
10905.0
2425.0
)59.254()9701.0(247x
2425.0
x)9701.0(x0247x
1
321
20
Örnek
Çözüm vektörü
59.254
2328.4
10905.0
x
x
x
3
2
1
21
Tuzak#1. Sıfıra Bölme22
955
11326
3710
321
321
32
xxx
xxx
xx
9
11
3
515
326
7100
3
2
1
x
x
x
Burada sıfır bölme sorunu var mı?
955
14356
1571012
321
321
321
xxx
xxx
xxx
9
14
15
515
356
71012
3
2
1
x
x
x
23
Burada sıfır bölme sorunu var mı?
EVET
28
14
15
5124
356
71012
3
2
1
x
x
x
2
5.6
15
192112
5.600
71012
3
2
1
x
x
x
İleriye Doğru Elemenin herhangi bir Adımında sıfıra bölme sorunu ortaya
çıkabilir.
24
1
1
1
3
2
1
x
x
x
9
751.1
45
315
7249.23
101520
3
2
1
x
x
x
Tam Çözüm
25 Tuzak#2. Büyük yuvarlama hataları
Tuzak#2. Büyük yuvarlama hataları26
999995.0
05.1
9625.0
3
2
1
x
x
x
9
751.1
45
315
7249.23
101520
3
2
1
x
x
x
6 anlamlı basamağa budama kullanarak bulunan çözüm
Tuzak#2. Büyük yuvarlama hataları27
99995.0
5.1
625.0
3
2
1
x
x
x
9
751.1
45
315
7249.23
101520
3
2
1
x
x
x
Yuvarlama hatasından kurtulmanın bir yolu bulunabilir mi ?
5 anlamlı basamağa budama kullanarak bulunan çözüm
Tuzaklardan Kaçınma
Anlamlı Basamak sayısını artırmak
• Yuvarlama hatasını azaltır
• Sıfıra bölme tuzağını önlemez
28
Tuzaklardan Kaçınma
Kısmi pivot uygulaması kullanmak ile GausEleme yöntemi
• Sıfıra bölme tuzağını önlemez
• Yuvarlama hatasını azaltır
29
Kısmi pivot uygulaması ile Gaus
Eleme yöntemi30
Kısmi pivot uygulamasında farklı
olan nedir ?
pka
,npk
İleriye Doğru Eleme aşamasının k ’ncı adım başlangıcında
nkkkkk aaa .......,,........., ,1
31
mutlak katsayılarının en büyüğü bulunur. Eğer en büyük değer olacak şekilde p. satırdaki ise , o zaman p. ve k. satırları değiştirilir.
İleriye Doğru Elemenin 2.
adımının başında Matris
Formu
'
'
3
2
1
3
2
1
''
4
'
32
'
3
'
3332
22322
1131211
0
0
0
n
'
nnnnn
'
n
n
'
'
n
''
n
b
b
b
b
x
x
x
x
aaaa
aaa
aaa
aaaa
32
Örnek (İDE’nin 2. adımı)
3
9
8
6
5
431112170
862390
1111240
21670
67.31.5146
5
4
3
2
1
x
x
x
x
x
Hangi iki satırı değiştirir siniz?
33
Örnek (İDE’nin 2. adımı)
6
9
8
3
5
21670
862390
1111240
431112170
67.31.5146
5
4
3
2
1
x
x
x
x
x
34
Kısmi pivot uygulaması ile Gaus
Eleme yöntemi Örneği 2
2279
2177
8106
112144
1864
1525
3
2
1
.
.
.
a
a
a
Kısmi pivot uygulaması ile Gaus Eleme yöntemini kullanarak aşağıdaki denklem sistemini çözünüz.
35
Örnek 2 devam
2279
2177
8106
112144
1864
1525
3
2
1
.
.
.
a
a
a
1. İleriye Doğru Eleme2. Geriye Doğru Yerine Koyma
2.279112144
2.1771864
8.1061525
36
Örnek 2 devam. İleriye Doğru Eleme
İlk kolonun mutlak değerleri
144,64,25
• En büyük mutlak değer 144 tür ve 3. satırdadır
• Birinci satır ile üçüncü satırı değiştir.
8.1061525
2.1771864
2.279112144
2.279112144
2.1771864
8.1061525
37
Örnek 2 devam. İleriye Doğru
Eleme Adım 138
8.1061525
2.1771864
2.279112144
.
1.1244444.0333.599.634444.02.279112144
10.53.55560667.2 0
124.1 0.44445.33363.99
177.21 8 64
8.1061525
10.535556.0667.20
2.279112144
Satır 1’i 144 ile böl ve 64 ile çarp, .4444.0
144
64
Sonucu Satır 2’den çıkart
Sonucu ikinci satıra yaz
Örnek 2 devam. İleriye Doğru
Eleme Adım 139
.
47.481736.0083.200.251736.0279.2112144
33.588264.0 917.20
48.470.17362.08325
106.81 5 25
8.1061525
10.535556.0667.20
2.279112144
33.588264.0917.20
10.535556.0667.20
2.279112144
1736.0144
25
Satır 1’i 144 ile böl ve 25
ile çarp, .
Sonucu Satır 3’den çıkart
Sonucu üçüncü satıra yaz
Örnek 2 devam. İleriye Doğru Eleme
Adım 2
İkinci kolon, ikinci satır ve aşağısının mutlak değerleri
2.917,667.2
• En büyük mutlak değer 2.917 dir ve 3. satırdadır• 2. satır ve 3. satırı değiştir.
10.535556.0667.20
33.588264.0917.20
2.279112144
33.588264.0917.20
10.535556.0667.20
2.279112144
40
Örnek 2 devam. İleriye Doğru Eleme
Adım 2
.
33.537556.0667.209143.058.330.82642.9170
10.535556.0667.20
33.588264.0917.20
2.279112144
23.02.0 0 0
53.33 0.75562.6670
53.10 0.55562.6670
23.02.000
33.588264.0917.20
2.279112144
Satır 2’yi 2.917’e böl ve 2.667ile çarp,
.9143.0917.2
667.2
Sonucu Satır 3 den çıkart
Satır 3 yerine yeni Satırı yaz
41
Örnek 2 devam. Geriye Doğru Yerine
Koyma
1.15
2.0
23.0
23.02.0
3
3
a
a
Önce a3 bulunur:
230
3358
2279
2000
8264091720
112144
23.02.000
33.588264.0917.20
2.279112144
3
2
1
.
.
.
a
a
a
.
..
42
Sonra a2 bulunur :
6719.
917.2
15.18264.033.58
917.2
8264.033.58
33.588264.0917.2
32
32
aa
aa
230
3358
2279
2000
8264091720
112144
3
2
1
.
.
.
a
a
a
.
..
43
Örnek 2 devam. Geriye Doğru
Yerine Koyma
Örnek 2 devam. Geriye Doğru
Yerine Koyma
2917.0
144
15.167.19122.279
144
122.279
2.27912144
321
321
aaa
aaa
230
3358
2279
2000
8264091720
112144
3
2
1
.
.
.
a
a
a
.
..
44
Sonra a1 bulunur :
Örnek 2 devam.
2279
2177
8106
112144
1864
1525
3
2
1
.
.
.
a
a
a
15.1
67.19
2917.0
3
2
1
a
a
a
45
Örnek 3
655
901.36099.23
7710
321
321
21
xxx
xxx
xx
Aşağıdaki denklem sistemini ele alalım:
Matris formunda:
515
6099.23
0710
3
2
1
x
x
x
6
901.3
7
=
Kısmi pivot uygulaması ile Gaus Eleme yöntemini kullanarak denklem
sistemini çözünüz. Beş anlamlı basamağa kadar budama kullanınız.
46
Örnek 3 devam. İleriye Doğru
Eleme: Adım 1İlk kolonun mutlak değerleri
|10|, |-3|, ve |5| veya 10, 3, and 5
En büyük mutlak değer 10’dur, ve birinci
satırdadır bu yüzden değiştirme gerektirmez.
6
901.3
7
515
6099.23
0710
3
2
1
x
x
x
5.2
001.6
7
55.20
6001.00
0710
3
2
1
x
x
x
İleriye Doğru Eleme
uygulandığında
47
Örnek 3 devam. İleriye Doğru Eleme:
Adım 2
001.6
5.2
7
6001.00
55.20
0710
3
2
1
x
x
x
İkinci kolon, ikinci satır ve aşağısının mutlak değerleri
|-0.001| ve |2.5| veya 0.0001 ve 2.5
En büyük mutlak değer 2.5’dir ve üçüncü satırdadır,
böylece ikinci satır üçüncü satır ile yer değiştirilir.
5.2
001.6
7
55.20
6001.00
0710
3
2
1
x
x
x
Satır değişimi yapıldığında
48
Örnek 3 devam. İleriye Doğru
Eleme: Adım 2
İleriye Doğru Eleme uygulandığında
002.6
5.2
7
002.600
55.20
0710
3
2
1
x
x
x
49
Örnek 3 devam. Geriye Doğru
Yerine Koyma
002.6
5.2
7
002.600
55.20
0710
3
2
1
x
x
x
1002.6
002.63 x 1
5.2
55.2 32
xx
010
077 32
1
xx
x
50
Örnek 3
1
2gerçek
3
0
1
1
x
X x
x
1
2hesaplanan
3
0
1
1
x
X x
x
Hesaplanan ve gerçek çözümleri karşılaştıralım.
Tamamen aynı olması raslantı olabilir fakat kısmi
pivot uygulamasının avantajını da ortaya
koymaktadır.
51
Gaus Eleme Yöntemini
Kullanarak bir kare Matrisin
Determinantını bulma
52
Determinant Teoremi
Eğer [A]nxn‘nin bir satırının katı diğer bir satırı ile
toplandığında veya çıkarıldığında elde
edilecek matris [B]nxn ise
det(A)=det(B) ‘dır.
53
Determinant Teoremi
[U]nxn üst-üçgensel matrisinin determinantı
11 22det U ... ...ii nnu u u u
1
n
ii
i
u
54
Kare Matrisin, İleriye Doğru Eleme ile üst-
üçgensel matrisinin eldesi ve determinantı
nnnn UA
UA detdet
55
1
n
ii
i
u
Örnek 4
112144
1864
1525
Gaus eleme yöntemini kullanarak aşağıdaki kare matrisin determinantını hesaplayınız.
56
Örnek 4 devam. İleriye Doğru Eleme:
Adım 1
112144
1864
1525
.
56.28.126456.21525
56.18.40
56.2 8.1264
1 8 64
112144
56.18.40
1525
56.225
64
57
Satır 1’i 25 ile böl ve 64 ile çarp, .
Sonucu Satır 2’den çıkart
Sonucu ikinci satıra yaz
Örnek 4 devam. İleriye Doğru Eleme:
Adım 1
112144
56.18.40
1525
.
76.58.2814476.51525
76.48.16 0
76.5 8.28144
1 12 144
76.48.160
56.18.40
1525
76.525
144
58
Satır 1’i 25 ile böl ve 144 ile çarp, .
Sonucu Satır 3’den çıkart
Sonucu üçüncü satıra yaz
Örnek 4 devam. İleriye Doğru
Eleme: Adım 1
.
76.48.160
56.18.40
1525
46.58.1605.356.18.40
7.0 0 0
46.58.160
76.48.160
7.000
56.18.40
1525
5.38.4
8.16
59
Satır 2’yi -4.8 ile böl ve -16.8 ile çarp, .
Sonucu Satır 3’den çıkart
Sonucu üçüncü satıra yaz
Determinantı bulma
.
7.000
56.18.40
1525
112144
1864
1525
İleriye Doğru Eleme sonrası
00.84
7.08.425
Adet 332211
uuu
60
Özet
-İleriye Doğru Eleme
-Geriye Doğru Yerine
Koyma
-Tuzaklar
-İyileştirmeler
-Kısmi Pivot Uygulaması
-Bir matrisin determinantı
61
clc, clear all, close all;
% Gauss Eliminasyon Yöntemi – KP yok % Ax=B % A=[3 5 7;2 4 9;1 6 8]; % B=[18;17;16]; A=[3 -2 4 1;2 2 5 1; 4 3 6 1;1 -4 3 2]; B=[-4;3;2;-1];
[r,c]=size(A); %r: denklem sayisi, c: bilinmeyen sayisi
if r==c n=r; else disp('Matris boyutu hatalı (A)'); end
%ileriye doğru eleme (Kısmi pivotlama haric) GNL=[A B];
for k=1:n-1 for j=k+1:n GNL(j,:)= GNL(j,:) - GNL(k,:)/GNL(k,k)*GNL(j,k); end end
By=GNL(:,end); Ay=GNL(:,1:end-1);
%Geriye dogru yerine koyma x=zeros(size(By)); x(n)=By(n)/Ay(n,n);
for i=n-1:-1:1 x(i)= (By(i)-Ay(i,i+1:n)*x(i+1:n))/Ay(i,i); end
disp(A*x) disp(B)
clc, clear all, close all;
% Gauss Eliminasyon Yöntemi – KP var % Ax=B % A=[3 5 7;2 4 9;1 6 8]; % B=[18;17;16]; A=[3 -2 4 1;2 2 5 1; 4 3 6 1;1 -4 3 2]; B=[-4;3;2;-1];
[r,c]=size(A); %r: denklem sayisi, c: bilinmeyen sayisi
if r==c n=r; else disp('Matris boyutu hatalı (A)'); end
%ileriye doğru eleme (Kısmi pivotlama dahil) GNL=[A B];
for k=1:n-1 p=find(abs(GNL(k:n,k))==max(abs(GNL(k:n,k)))); p=p(1); p=p+k-1; tmp=GNL(p,:); GNL(p,:)=GNL(k,:); GNL(k,:)=tmp;
for j=k+1:n GNL(j,:)= GNL(j,:) - GNL(k,:)/GNL(k,k)*GNL(j,k); end end
By=GNL(:,end); Ay=GNL(:,1:end-1);
%Geriye dogru yerine koyma x=zeros(size(By)); x(n)=By(n)/Ay(n,n);
for i=n-1:-1:1 x(i)= (By(i)-Ay(i,i+1:n)*x(i+1:n))/Ay(i,i); end
disp(A*x) disp(B)
clc, clear all, close all;
% Ileri doğru eleme ile determinant % det(A)=det(U) % A=[3 5 7;2 4 9;1 6 8]; A=[3 -2 4 1;2 2 5 1; 4 3 6 1;1 -4 3 2];
[r,c]=size(A); %r: denklem sayisi, c: bilinmeyen sayisi
if r==c n=r; else disp('Matris boyutu hatalı (A)'); end
%ileriye doğru eleme (KP yok) U=A;
for k=1:n-1 for j=k+1:n U(j,:)= U(j,:) - U(k,:)/U(k,k)*U(j,k); end end
detU=1; for k=1:n detU=detU*U(k,k); end
det(A) det(U) detU