Автор работы: Пользователь скрыл имя, 25 Ноября 2012 в 21:11, задача
Переставляем местами l-ю и (k + 1)-ю строки. Если при этом, =0 то это означает, что определитель матрицы А равен нулю и система уравнений либо не имеет решений, либо имеет их бесконечно много (теорема Кронекера — Капелли). Далее продолжаем применять стандартный метод Гаусса, пока не спустимся на ступеньку ниже, после чего повторим процедуру.
«Решение систем линейных алгебраических уравнений
методом Гаусса»
Теоретическая часть
Решение алгебраических уравнений методом Гаусса
Рассмотрим систему линейных алгебраических уравнений
(СЛАУ) вида
,
где
Перепишем ее в развернутом виде:
… … (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;
Результат:
Информация о работе Решение систем линейных алгебраических уравнений методом Гаусса