Created
May 19, 2016 14:44
-
-
Save icalik/dc47ab765f0c741bea2aa245bf357262 to your computer and use it in GitHub Desktop.
gauss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% GAUSS ELIMINASYON YÖNTEMI ILE Ax=B LINEER ESITLIGININ CÖZÜLMESI | |
% pivotlama kullanýlýyor | |
% A matrisi N*N boyutunda tekil olmayan katsayýlar matrisidir. | |
% B matrisi N*1 boyutundadýr | |
% x matrisi N*1 boyutunda çözüm matrisidir | |
% x matrisinin eleman degerleri baslangýçta sýfýr alýnmaktadýr | |
% C matrisi program içinde geçici olarak kullanýlmaktadýr | |
% A=[1 -2 4 -3;2 1 5 2;-6 2 1 4; 1 -2 8 4]; B=[1 ; 3; -1; 5] | |
A=[2 -3 2;1 1 -2;3 -2 -1]; B=[-11 ; 8; -1]; | |
[N N]=size(A); | |
x=zeros(N,1); | |
C=zeros(1,N+1); | |
% Aþaðýda geniþletilmiþ [A|B] matrisi oluþturulmaktadýr | |
genis=[A B]; | |
for p=1:N-1; | |
% p kolonu için kismi pivotlama yapýlýyor | |
[Y,J]=max(abs(genis(p:N,p))); | |
% p ve J kolonlarýnýn yerleri deðiþtiriyor | |
C=genis(p,:); | |
genis(p,:)=genis(J+p-1,:); | |
genis(J+p-1,:)=C; | |
if genis(p,p)==0 | |
disp('A matrisi tekil oldugu icin program durduruluyor') | |
break | |
end | |
% p. kolon için eliminasyon baþlýyor | |
for k=p+1:N | |
m=genis(k,p)/genis(p,p); | |
genis(k,p:N+1)=genis(k,p:N+1)-m*genis(p,p:N+1); | |
end | |
end | |
% yerine koyma iþlemi baþlýyor | |
A=genis(1:N,1:N); | |
B=genis(1:N,N+1); | |
x(N)=B(N)/A(N,N); | |
for k=N-1:-1:1 | |
x(k)=(B(k)-A(k,k+1:N)*x(k+1:N))/A(k,k); | |
end | |
x |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment