У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





Міністерство освіти і науки України

Лабораторна робота №

Розв’язування систем лінійних алгебраїчних рівнянь

Розв’язати систему лінійних алгебраїчних рівнянь:

Середовище MathCad

Середовище Turbo Pascal

Метод Зейделя

program Method_of_Zeidel;

uses crt;

const n=3; eps=0.001;

var a:array[1..n,1..n] of real;

b,x,z:array[1..n] of real; i,j,k,s:integer;

begin clrscr;

writeln('Введiть значення коефiцiєнтiв:');

for i:=1 to n do for j:=1 to n do

begin write('a[',i,',',j,']='); readln(a[i,j]); end;

for i:=1 to n do

begin write('b[',i,']='); readln(b[i]); end;

for i:=1 to n do z[i]:=0;

s:=0;

repeat

k:=0;

for i:=1 to n do

begin

x[i]:=-b[i];

for j:=1 to n do x[i]:=x[i]+a[i,j]*z[j];

if abs(x[i]/a[i,i])>eps then begin k:=1; s:=s+1; end;

x[i]:=z[i]-x[i]/a[i,i];

z[i]:=x[i];

end;

until k=0;

writeln('Коренi рiвняння:');

for i:=1 to n do writeln('x[',i,']=',x[i]:8:4);

writeln('Кiлькiсть iтерацiй = ',s:4);

readln;

end.

Введiть значення коефiцiєнтiв:

a[1,1]=0.1 a[1,2]=0.12 a[1,3]=-0.13

a[2,1]=0.12 a[2,2]=0.71 a[2,3]=0.15

a[3,1]=-0.13 a[3,2]=0.15 a[3,3]=0.63

b[1]=0.1 b[2]=0.26 b[3]=0.38

Коренi рiвняння

x[1]= 3.5654 x[2]= -0.5467 x[3]= 1.4691

Кiлькiсть iтерацiй 47

Метод Гауса

program Method_of_Gauss;

uses crt;

const n=3;

var i,j,k,m:integer;

a:array [1..n,1..n+1] of real;

x:array[1..n+1] of real;

c,s:real;

Begin

clrscr;

writeln('Введiть значення коефiцiєнтiв:');

for i:=1 to n do for j:=1 to n+1 do

begin write('a[',i,',',j,']='); readln(a[i,j]); end;

for k:=1 to n-1 do

begin

c:=a[k,k];

for m:=1 to n+1 do a[k,m]:=a[k,m]/c;

for i:=k+1 to n do

begin

c:=a[i,k];

for j:=1 to n+1 do

a[i,j]:=a[i,j]-c*a[k,j]/a[k,k];

end;

end;

c:=a[n,n];

for m:=1 to n+1 do a[n,m]:=a[n,m]/c;

writeln('Результати:');

writeln(' Трикутна матриця A:');

for i:=1 to n do

begin

for j:=1 to n+1 do write(' ',a[i,j]:4:2);

writeln;

end;

x[n]:=a[n,n+1];

i:=n-1;

for i:=n-1 downto 1 do

begin

s:=0;

for j:=i+1 to n do s:=s+a[i,j]*x[j];

x[i]:=(a[i,n+1]-s);

end;

writeln('Коренi рiвнянння:');

for i:=1 to n do writeln('x[',i,']=',x[i]:4:4);

readln;

end.

Введiть значення коефiцiєнтiв:

a[1,1]=0.1 a[1,2]=0.12 a[1,3]=-0.13 a[1,4]=0.1

a[2,1]=0.12 a[2,2]=0.71 a[2,3]=0.15 a[2,4]=0.26

a[3,1]=-0.13 a[3,2]=0.15 a[3,3]=0.63 a[3,4]=0.38

Результати:

Трикутна матриця A:

1.00 1.20 -1.30 1.00

0.00 1.00 0.54 0.25

0.00 0.00 1.00 1.47

Коренi рiвнянння:

x[1]=3.5667 x[2]=-0.5471 x[3]=1.4694

Блок-схема до методу Гауса

Блок-схема до методу Зейделя