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

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

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

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

Метод применяется для решения систем линейных уравнений. Пусть для определенности это система третьего порядка вида

, (1)

где

неизвестные элементы (корни системы),

элементы расширенной матрицы системы.

Алгоритм решения системы включает два этапа.

1 этап (прямой ход) состоит в последовательном исключении неизвестных из уравнений, начиная с .

Из первого уравнения системы находим неизвестное

(2)

Это возможно, если не равен нулю. В противном случае, необходимо провести перестройку уравнений системы.

Таким образом, согласно (2), надо каждый элемент первой строки расширенной матрицы системы линейных уравнений разделить на диагональный элемент.

Затем подставляем выражение (2) во все остальные уравнения системы, исключая таким образом из всех уравнений, кроме первого. В результате исключения первого неизвестного из всех уравнений все элементы первого столбца преобразованной матрицы равны нулю.

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

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

2 этап (обратный ход) заключается в последовательном определении значений неизвестных, начиная с последнего.

Метод главных элементов является точным методом, и погрешность результата определяется только погрешностью округления при выполнении арифметических действий.

Известный метод Гаусса для решения систем линейных уравнений является частным случаем метода главных элементов.

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

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

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

  3. Все вычисления проводить с четырьмя знаками в дробной части десятичного числа.

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. Найти корни системы линейных уравнений.

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

Приложение

program labrab5;

type

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

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

var a:mat;

x:vec;

i,n:integer;

s:real;

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

var

i,j:integer;

begin

cls;

for i:=1 to n do

begin

write('Ввод коэффициентов уравнения ',i);

writeln;

for j:=1 to n+1 do

begin

if j<n+1 then write('Введите коэффициент при X',j,' ')

else write('Введите свободный член ');

readln(a[i,j])

end;

writeln;

end;

end;

procedure gauss(n:integer; var a:mat; var x:vec;

var s:real);

var i,j,k,l,k1,n1:integer;

r:real;

begin

n1:=n+1;

for k:=1 to n do

begin

k1:=k+1;

s:=a[k,k];

j:=k;

for i:=k1 to n do

begin

r:=a[i,k];

if abs(r)>abs(s) then

begin

s:=r;

j:=i

end

end;

if s=0.0 then

begin

exit

end;

if j<>k then

begin

for i:=k to n1 do

begin

r:=a[k,i]; a[k,i]:=a[j,i]; a[j,i]:=r

end

end;

for j:=k1 to n1 do

a[k,j]:=a[k,j]/s;

for i:=k1 to n do

begin

r:=a[i,k];

for j:=k1 to n1 do

a[i,j]:=a[i,j]-a[k,j]*r

end

end;

if s<>0.0 then

for i:=n downto 1 do

begin

s:=a[i,n1];

for j:=i+1 to n do

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

x[i]:=s

end

end;

begin

cls;

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

writeln;

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

readln(n);

matr(n,a);

gauss(n,a,x,s);

if s<>0.0 then

for i:=1 to n do

writeln('X',i,'=',x[i]:8:4);

end.