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

Benzer Yazılar
Please follow and like us:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Doğru cevabı sayı olarak yazın. *