ФЭА / АИТ / Лабораторная работа №7 Вариант №4 Задание: 0.5x1+0.3x2+-0.1x3=1 0.1x1+-0.9x2+0.1x3=2 0.1x1+0.1x2-0.67x3=3
(автор - student, добавлено - 25-01-2014, 17:15)
СКАЧАТЬ:
Лабораторная работа №7 Вариант №4
Задание: 0.5x1+0.3x2+-0.1x3=1 0.1x1+-0.9x2+0.1x3=2 0.1x1+0.1x2-0.67x3=3 Решить систему линейных алгебраических уравнений методом простой итерации. Исходный код: program l7; uses CRT; const n=3; e=0.0001; var a:array [1..n,1..n] of real; x,y,b:array [1..n] of real; k,i,j:integer; s:real; begin clrscr; a[1,1]:=0.5; a[1,2]:=0.3; a[1,3]:=-0.1; a[2,1]:=0.1; a[2,2]:=-0.9; a[2,3]:=0.1; a[3,1]:=0.1; a[3,2]:=0.1; a[3,3]:=-0.67; b[1]:=1; b[2]:=2; b[3]:=3; writeln ('Ishodnie dannie:'); for i:=1 to n do begin for j:=1 to n do if j<>n then write (a[i,j]:1:3,' ') else write (a[i,j]:1:3,' = ',b[i]:1:3); writeln; end; writeln; for i:=1 to n do begin s:=0; for j:=1 to n do if i<>j then s:=s+abs(a[i,j]); if s>=abs(a[i,i]) then begin write ('Is not correct parametr on line: ',i); readln; halt; end; end; for i:=1 to n do x[i]:=0; repeat for i:=1 to n do begin s:=b[i]/a[i,i]; for j:=1 to n do if i<>j then s:=s-a[i,j]*x[j]/a[i,i]; y[i]:=s; end; s:=0; k:=1; while k<=n do begin s:=s+abs(y[k]-x[k]); x[k]:=y[k]; inc (k); end; until s<e; writeln ('Korni:'); for i:=1 to n do writeln ('x[',i,']=',x[i]:1:4); writeln; writeln ('Proverka: '); for i:=1 to n do begin s:=0; for j:=1 to n do begin s:=s+x[j]*a[i,j]; Write ('a[',i,';',j,']*x[',j,']'); if j<>n then Write ('+'); end; write (' = ',(b[i]-s):1:4); writeln; end; readln; end.
Результат работы программы:
Получили следующие корни: x1=2.5678 x2=-2.4322 x3=-4.4574
Похожие статьи:
|
|