ФЭА / АИТ / Лабораторная работа №6 Вариант №4 Задание: -0.73x1+0.2x2+0.3x3=12.3 0.13x1-0.67x2-0.21x3=1.25 0.32x1+0.03x2-0.94x3=5.1
(автор - student, добавлено - 25-01-2014, 17:14)
СКАЧАТЬ:
Лабораторная работа №6 Вариант №4
Задание: -0.73x1+0.2x2+0.3x3=12.3 0.13x1-0.67x2-0.21x3=1.25 0.32x1+0.03x2-0.94x3=5.1 Решить систему линейных алгебраических уравнений методом последовательных приближений. Исходный код: PROGRAM l6; USES CRT; CONST n=3; e=0.000001; VAR a:array [1..n,1..n] of real; b,x,y:array [1..n] of real; i,j,k:integer; s:real;
BEGIN CLRSCR; a[1,1]:=-0.73;a[1,2]:=0.2;a[1,3]:=0.3; a[2,1]:=0.13;a[2,2]:=-0.67;a[2,3]:=-0.21; a[3,1]:=0.32;a[3,2]:=0.03;a[3,3]:=-0.94; b[1]:=12.3;b[2]:=1.25;b[3]:=5.1;
k:=1; Repeat x[k]:=0; a[k,k]:=a[k,k]+1; inc (k); Until k>n; Repeat i:=1; Repeat s:=0; j:=1; Repeat s:=s+a[i,j]*x[j]; inc(j); Until j>n; y[i]:=s-b[i]; inc (i); Until i>n; s:=0; k:=1; Repeat s:=s+abs(y[k]-x[k]); x[k]:=y[k]; inc (k); Until k>n; Until s<=e; k:=1; Repeat a[k,k]:=a[k,k]-1; inc (k); Until k>n; Writeln ('Dannie: '); For i:=1 to n do begin For j:=1 to n do Write (a[i,j]:1:4,' '); Writeln; end; Writeln; Writeln ('Korni:'); For i:=1 to n do Writeln ('x[',i,']=',x[i]:3:5); Writeln; Writeln ('Test:'); for i:=1 to n do begin s:=0; for j:=1 to n do begin s:=s+a[i,j]*x[j]; if j<n then Write ('a[',i,',',j,']*x[',j,']+') else Write ('a[',i,',',j,']*x[',j,'] - b[',i,'] = '); end; Writeln ((s-b[i]):2:5); end; Readln; END.
Результат работы программы:
Получили следующие корни: x1=-22,89772; x2=-2,14333; x3=13,28891;
Похожие статьи:
|
|