Seidel Yöntemi C# ile programı
clear all;
clc;
disp(‘Ödev – Ekrem TÜRKAY 020306053 Bilgisayar Öğrt.-3’)
disp(sprintf(‘——————%s’,date,’-‘));
disp(‘——————-SEIDEL Yöntemi——————-‘);
A=input(‘A matrisi=’);
B=input(‘B matrisi=’);
%A=[1 10 2;2 1 10;10 2 1];
%B=[13;13;13];
N=length(B);genis=[A B];
X=zeros(1,N);
%X=input(‘X”in tahmin değerlerini giriniz’);
maxiter=input(‘Iterasyon son degerini giriniz_:’);
TD=input(‘Tolerans Değerini Giriniz_:’);
for p=1:N
[Y,J]=max(abs(genis(p:N,p)));
C=genis(p,:);
genis(p,:)=genis(J+p-1,:);
genis(J+p-1,:)=C;
if genis(p,p)==0
‘A matrisi tekil olduğu için program durduruluyor’
return
end
if genis(p,p)<=sum(genis(p,[1:p-1,p+1:N]))
‘Yakınsama şartı yok’
return
end
end
A=genis(1:N,1:N);
B=genis(1:N,N+1);
for k=1:maxiter
C=X
for j=1:N
X(j)=(B(j)-sum(A(j,[1:j-1,j+1:N]).*X([1:j-1,j+1:N])))/A(j,j)
end
if (abs(X-C)<=TD)
break
end
end
disp(sprintf(‘Iterasyon sayisi=%d’,k));
for n=1:N
eval([‘X’,int2str(n),’=X(n)’])
end