Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к лаб.раб..doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1.22 Mб
Скачать

Лабораторная работа № 6 Тема: Решение систем линейных уравнений методом итераций

Цель работы: Найти корни системы линейных уравнений методами итераций.

1. Теоретические сведения

Имеется система трех линейных уравнений с определителем не равным нулю, а значит с единственным решением.

a11 х1 + a12 х2+ a13 х2= b1,

a21 х1+ a22 х2+ a23 х3 = b2, (2)

a31 х1+ a32 х2 + a33 х3 = b3.

Разрешаем первое уравнение относительно х1 , второе относительно х2 и третье относительно х3 , т.е. приводим исходную систему уравнений к нормальному виду.

Для первого уравнения получим

х1 =

Введем обозначения

= ; = ; = .

В результате будет получена система линейных уравнений нормального вида

х1 = + х2 + х3

х2 = + х1 + х3 (3)

х3 = + х1 + х2

Для решения системы необходимо принять начальные приближения и утонить их в процессе решения. Если ничего неизвестно о значениях корней, то за начальное приближение обычно принимают

, т.е.

; ; .

Начальные приближения подставляются в систему нормального вида (3) и после вычисления будут получены следующие приближения . Для первого уравнения этой системы получим

= + +

Если последовательность приближений ………. имеет предел, то он является приближенным решением исходной системы и итерационный процесс сойдется.

Признаком сходимости итерационного процесса для системы линейных уравнений будет

| (i = 1, 2, ….., n ) , (4)

т.е. абсолютная величина ведущего элемента а11, а22 …..аnn больше суммы остальных элементов каждого уравнения.

Итерации продолжаются до тех пор, пока абсолютное значение разности двух соседних приближений не станет меньше или равным заданной величины точности

| - | (5)

2. Порядок выполнения работы

  1. Найти корни системы линейных уравнений методом итераций, используя компьютерную программу из приложения.

  2. Выполнить проверку, сохраняя в вычислениях четыре знака в дробной части чисел.

3. Задание к лабораторной работе

3.1. Выбрать систему линейных уравнений в соответствии с вариантом.

1. 2.

3. 4.

5. 6.

7. 8.

9. 10.

11. 12.

13. 14.

15. 16.

17. 18.

19. 20.

21. 22.

23. 24.

25. 26.

27. 28.

29. 30.

3.2. Найти корни системы линейных уравнений методами итераций с точностью 0,001.

3.3. Сравнить результаты с результами, получеными методом главных элементов.

3.4. Оценить точность использованных методов по степени близости системы уравнений к тождеству при подстановке в нее значений корней.

3.5. Оформить отчет по лабораторной работе.

Приложение

program labrab6;

type mat=array [1..20,1..21] of real;

vec=array [1..20] of real;

var

a:mat;

x,k,y:vec;

i,l,m,n:integer;

e,t:real;

procedure matr (n:integer; var a:mat; var x:vec);

var i,j:integer;

Begin

for i:=1 to n do begin x[i]:=0.0;

for j:=1 to n+1 do begin

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

end;

end;

End;

procedure seid(n:integer; var l:integer;a:mat;x:vec;e:real);

var

i,j,n1:integer;

s:real;

Begin

l:=0;

s:=1;

while abs(s)>e do

begin

write('¦',l:2,' ¦');

for i:=1 to n do

begin

s:=a[i,n+1];

for j:=1 to n do

s:=s-a[i,j]*x[j];

s:=s/a[i,i]; y[i]:=x[i]+s;

if (i mod 3)=0 then writeln ( y[i]:8:4, ' ¦')

else write (y[i]:8:4, ' ¦');

k[i]:=s;

end;

for i:=1 to n do

x[i]:=y[i];

l:=l+1;

end;

End;

BEGIN

cls;

writeln ('Решение систем линейных уравнений методом итераций');

writeln;

write ('Введите порядок системы n=');read(n);

write ('Введите точность');read(e);

matr(n,a,x);

write ('+----------------------');

writeln ('-----------------+');

write ('¦ L ¦ X1 ¦ X2 ');

writeln('¦ X3 ¦');

write ('+---+----------------+--');

writeln('+---------------+');

seid(n,l,a,x,e);

end.