Решение систем линейных алгебраических уравнений методом Гаусса
Задача, 25 Ноября 2012, автор: пользователь скрыл имя
Описание работы
Переставляем местами l-ю и (k + 1)-ю строки. Если при этом, =0 то это означает, что определитель матрицы А равен нулю и система уравнений либо не имеет решений, либо имеет их бесконечно много (теорема Кронекера — Капелли). Далее продолжаем применять стандартный метод Гаусса, пока не спустимся на ступеньку ниже, после чего повторим процедуру.
Файлы: 1 файл
решение СЛАУ методом Гаусса.docx
— 42.01 Кб (Скачать файл)
«Решение систем линейных алгебраических уравнений
методом Гаусса»
Теоретическая часть
Решение алгебраических уравнений методом Гаусса
Рассмотрим систему линейных алгебраических уравнений
(СЛАУ) вида
,
где
Перепишем ее в развернутом виде:
… … (1)
Прямой ход метода Гаусса
Предположив, что a11 ≠ 0, разделим первое уравнение системы на a11.
Получим
(2)
Из каждого из оставшихся уравнений в (1) (i = 2, 3, …, n) вычтем уравнение (2), умноженное на соответствующий коэффициент ai1.
Получим
i = 1,2…n;
Предположив, что разделим первое уравнение в (3)на :
(4)
Из каждого из оставшихся уравнений в (3) (i = 3, 4, …, n) вычтем уравнение (4), умноженное на соответствующий коэффициентa .
Получим
i = 3,4…n;
В результате придем к системе
(6)
i = 1,2…n;
Прямой ход метода Гаусса завершен.
Обратный ход метода Гаусса
Из формулы (6) следует
(7)
i = n-1, n-2, …, 1;
Количество арифметических операций при использовании метода Гаусса составляет порядка const n3.
Для того чтобы повысить точность вычислений и избежатьвозможного деления на нуль (см. выше: «В предположении, что a11≠ 0…»), используют метод Гаусса с выбором главного элемента.
Метод Гаусса с выбором главного элемента
Пусть на k-м шаге (при k = 0 — исходная система уравнений)
получена система уравнений:
i = 1,2…k;
i = k+1, k+2, …, n.
Пусть
i = k+1, k+2, …, n.
Переставляем местами l-ю и (k + 1)-ю строки. Если при этом, =0 то это означает, что определитель матрицы А равен нулю и система уравнений либо не имеет решений, либо имеет их бесконечно много (теорема Кронекера — Капелли). Далее продолжаем применять стандартный метод Гаусса, пока не спустимся на ступеньку ниже, после чего повторим процедуру.
Аналитическое решение системы
Текст программы
a=[-2 0 -1 -1;-2 -1 4 4;3 -1 -3 3;4 4 -1 -4]
b=[5;-33;-3;35]
n=4
for i=1:1:n
x(i,1)=0
end;
for i=1:1:n
b(i,1)=b(i,1)/a(i,i)
for j=n:-1:1
a(i,j)=a(i,j)/a(i,i)
end;
for j=i+1:1:n
b(j,1)=b(j,1)-b(i,1)*a(j,i)
for k=n:-1:i
a(j,k)=a(j,k)-a(i,k)*a(j,i)
end;
end;
end;
for i=n:-1:1
x(i,1)=b(i,1)
for j=n:-1:i+1
x(i,1)=x(i,1)-x(j,1)*a(i,j)
end;
end;
Результат: