БЕСПЛАТНОЕ РЕШЕНИЕ ЗАДАЧ

Решение системы уравнений методом итерации

Предлагаем код программы для численного решения систем линейных алгебраических уравнений методом простой итерации. Программа реализована на языке программирования Pascal. Такая программа - готовый код для курсовой работы по численным методам, с реализацией на Паскале.

program iter;
uses CRT;
var i,j,n,k,V:integer;
M:longint;
A,B:array [1..24,1..24] of double;
E,S,Cc,maxDi,C,Mm: double;
Xx,X,Ba,Bd: array [1..24] of double;
z:char;

procedure Matrln;
begin 
for var i:=1 to n do 
for var j:=1 to n do
read(A[i,j]);
end;

procedure Vectln;
begin
for var i:=1 to n do
read(Ba[i]);
end;

BEGIN
ClrScr;
Repeat
write('Vvedite nomer variant V=');
readln(V);
if V=0 then 
writeln('------------Testoviy primer----------')
else 
writeln('------------Variant',V,'----------');
writeln('------------VVOD ISHODNIX DANNIX :----------');
write('Vvedite tochnost vichisleniu, E=');
readln(E);
write('Vvedite razmernost sistemi, N=');
readln(N);
write('Vvodite postrochno matrix A sistemi');
Matrln;
write('Vvodite vector stolbec B sistemi');
Vectln;

maxDi:=-1000;
for i:=1 to n do begin
B[i,i]:=0;
for j:=1 to n do
if j<>i then B[i,j]:=-(A[i,j]/A[i,j]);
Bd[i]:=Ba[i]/A[i,i];
if Bd[i]>maxDi then maxDi:=Bd[i]
end;
writeln('maxDi=',maxDi:8:4);

C:=0;
for i:=1 to n do begin
Xx[i]:=Bd[i];
S:=0;
for j:=1 to n do
S:=S+abs(B[i,j]);
if C<=S then C:=S;
end;
writeln('C=',C:6:4);

if C<1 then begin
 Mm:=abs((1/ln(C))*(ln(maxDi)-ln(E*(1-C)))-1);
 M:=Round(Mm);
 if Frac(Mm)<0.5 then M:=M+1;
 writeln('Kolichestvo iterachiy M=',M:3);
 
 for k:=1 to M do begin
 for i:=1 to n do begin;
 Cc:=0; 
 for j:=1 to n do
 Cc:=Cc+B[i,j]*Xx[j];
 X[i]:=Bd[i]+Cc;
 end;
 for i:=1 to n do Xx[i]:=X[i];
 end;
 
 write('X= [');
 for i:=1 to n do write(X[i]:8:4);
 writeln(']');
 end
 else writeln('Yslovie shodimosti ne vipoln9ets9');
 write('Bydete prodolshat vichisleniy?(Y/N) Y');
 z:=ReadKey;
 writeln(z);
 until (z='N') or(z='n');
End.

Скрин выполнения программы

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 5
Гостей: 5
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте