Решение систем линейных алгебраических уравнений методом Гаусса

Автор работы: Пользователь скрыл имя, 25 Ноября 2012 в 21:11, задача

Описание работы

Переставляем местами 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;

 

Результат:

 


Информация о работе Решение систем линейных алгебраических уравнений методом Гаусса