Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Метод Гаусса. Рассмотрим его на примере системы трех уравнений:






Рассмотрим его на примере системы трех уравнений:

, где (2.2)

поэтому .

 

Метод Гаусса содержит два этапа:

На первом этапе матрица А приводится к верхней треугольной форме, а на втором этапе, полученная система решается обратной подстановкой.

 

 

1 этап.

Водим множитель и умножаем на него первое уравнение. Затем вычитаем из второго уравнения полученное первое: .

Так как , второе уравнение приобретает вид Новые обозначения понятны.

Введем множитель . Вновь умножим на него первое уравнение и вычтем его из третьего:

.

Вновь и получили третье уравнение системы:

(2.3)

Вводим новый множитель . Умножаем на него второе уравнение системы (2.3) и вычитаем его из третьего уравнения:

.

Получили систему уравнений в виде:

(2.4)

Матрица А приобрела верхнюю треугольную форму:

.

 

2 этап.

Теперь легко выполнить второй этап метода Гаусса – обратную подстановку: Ясно, что реализовать алгоритм метода Гаусса можно лишь в том случае, если

В противном случае система является вырожденной.

В общем виде решение системы уравнений обратной подстановкой можно записать так:

i – строка,

j - столбец,

n – число уравнений.

Доказано, что накопление ошибок округления можно уменьшить, если оперировать с множителями Гауссова исключения mi < 1. Для этого требуется переставлять строки матрицы A так, чтобы диагональный элемент был максимально возможным. Это усложняет алгоритм, но уменьшает ошибки округления. Существуют алгоритмы, позволяющие переставлять не только строки, но и столбцы при выборе наибольшего диагонального элемента. В этом случае приходится переименовывать переменные. Такое усложнение алгоритма не всегда оправдано, так как существенно понижает его эффективность.

Рассмотрим алгоритм Гаусса на примере системы:

10x1-7x2=7

-3x1+2x2+6x3=4

5x1-x2+5x3=6

Запишем в векторно-матричной форме

 

, т.е. Ax=b.

Рассмотрим последовательные шаги превращения матрицы А в верхнюю треугольную форму.

Прямой ход

1)Умножаем первое уравнение на коэффициент m=а2111=3/10=0, 3 и складываем со вторым уравнением

1 – 2, 1х2 = 2, 1

-3х1 + 2х2 + 6х3 = 4

0 – 0, 1х2 +6х3 = 6, 1

получим матрицу и

2) Умножаем первое уравнение на коэффициент m=а3111= - 5/10=-0, 5 и складываем с третьим уравнением:

-5х1 + 3, 5х2 = -3, 5

1 - х2 + 5х3 = 6

0 + 2, 5х2 +5х3 = 2, 5

матрицы ; ;

3) В данном примере можно на следующем шаге алгоритма поступить, как и ранее, но мы сделаем следующее:

Переставим строки 2 и 3 матрицы А и b местами. Это позволит избежать в общих случаях ошибок округления. Получим матрицы А и b в виде:

4) Умножим второе уравнение на коэффициент m=а3222=+0, 04 и сложим с третьим уравнением:

 

0 + 0, 1х2 + 0, 2х3 = 0, 1

0 – 0, 1х2 + 6х3 = 6, 1

0 + 0 +6, 2х3 = 6, 2

Получаем матрицы А и b в виде:

, .

В третьем уравнении осталась неизвестная х3, которая х3 =6, 2/6, 2=1.

Обратный ход

Т.е. мы приступили ко второму этапу метода – к обратной подстановке (обратному ходу). Точно также из второго уравнения получим и из первого уравнения . В общем случае обратный ход можно выполнить по формулам:

.

 

Метод Гаусса пережил ряд метаморфоз. В 40-х годах работы Д.Неймана подчеркнули наиболее пессимистические особенности метода и он утратил популярность. В 60-х годах благодаря работам Д.Уилкинсона метод вновь занял достойное положение в численном анализе. Современные исследования подтверждают качественную работу алгоритма Гаусса, если система не вырожденна.

Наиболее достоверной оценкой вырожденности матрицы является число обусловленности cond. Если cond(A) велико (несколько порядков), то матрица близка к вырожденной. Малость числа обусловленности не является препятствием для получения решения.

Приведем программу, реализующую метод Гаусса с выбором главного элемента:

function [X]=gauss(A, B)

%Вводятся матрицы A=[1 2 1 4; 2 0 4 3; 4 2 2 1; -3 1 3 2];

% и B=[13 28 20 6]';

%Выход - вектор X - решение системы

%Обращение [X]=gauss(A, B)

[N N]=size(A);

X=zeros(N, 1);

C=zeros(1, N+1);

%Расширенная матрица AuB

AuB=[A B];

for p=1: N-1

%Выбор главного элемента для столбца p

[Y, j]=max(abs(AuB(p: N, p)));

%Меняем местами строки p и j

C=AuB(p,:);

AuB(p,:)=AuB(j+p-1,:);

AuB(j+p-1,:)=C;

if AuB(p, p)==0 'A вырождена'

break

end

%Процесс исключения для столбца p

for k=p+1: N

m=AuB(k, p)/AuB(p, p);

AuB(k, p: N+1)=AuB(k, p: N+1)-m*AuB(p, p: N+1);

end

end

%Обратная подстановка

X=obrpodst(AuB(1: N, 1: N), AuB(1: N, N+1));

Программа метода обратной подстановки.

function X=obrpodst(A, B)

%Верхняя треугольная матрица А

%Матрица превой части В

%Решение X

n=length(B);

X=zeros(n, 1);

X(n)=B(n)/A(n, n);

for k=n-1: -1: 1

X(k)=(B(k)-A(k, k+1: n)*X(k+1: n))/A(k, k);

end






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.