русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метод исключений Гаусса.


Дата добавления: 2014-05-05; просмотров: 1676; Нарушение авторских прав


Решим рассмотренную ранее систему (пример 4.1) методом исключения Гаусса.

Пример 3.2. Решение проводиться в два этапа.

1 этап Прямой ход - матрица A преобразуется к треугольному виду: путем эквивалентных линейных преобразований уравнений системы поддиагональные коэффициенты матрицы А обнуляются.

x1 + 5×x2 - x3 = 2

x1 2×x3 = -1

2×x1 - x2 – 3×x3 = 5

Исключим x1 из 2-го и 3-го уравнения: ко 2-му уравнению прибавим 1-ое, умноженное на (-1); к 3-му уравнению прибавим 1-ое, умноженное на (-2).

x1 + 5×x2 - x3 = 2

- 5×x2 + 3×x3 = -3

- 11×x2 – x3 = 1

Исключим x2 из 3-го уравнения: к 3-му уравнению прибавим 2-ое, умноженное на (-11/5). Полученный вид системы после прямого хода

x1 + 5×x2 - x3 = 2

- 5×x2 + 3×x3 = -3

– 38/5×x3 = 38/5

2 этап Обратный ход - вычисляются значения неизвестных, начиная с последнего уравнения:

x3* = -1

-5×x2 + 3×x3*=-3 Þ x2*=(3 + 3×x3*)=(3 + 3×(-1))=0

x1 +5×x2* - x3*=2 Þ x1*=2 + 5×x2* + x3*=2 + 5×0 + (-1)=1

Полученное решение нужно обязательно проверить, подставив в исходную систему!

Словесное описание алгоритма метода исключения Гаусса. Схема алгоритма приведена на рисунках 4.1-4.6.

 

Алгоритм прямого хода:

Шаг 1. Примем k=1

Шаг 2. Выбираем рабочую строку.

Если akk ≠ 0, то k-ая строка – рабочая.

Если нет, меняем k-ю строку на m-ю (n≥m>k), в которой amk ≠ 0, . Если такой строки нет, система вырожденная, решение прекратить.

Шаг 3. Для строк i=k+1, k+2, …, n вычисляются новые значения коэффициентов.

, , и новые правые части

Шаг 4. Увеличиваем k = k + 1. Если k = n, прямой ход завершен, иначе алгоритм повторяется со второго шага.

Получаем верхнюю треугольную матрицу А:



,

 

Алгоритм обратного хода:

Шаг 1. Вычислим

Шаг 2. Вычислим:

,

 
 

 

 


Рис. 4.1. Основной алгоритм решения СЛУ методом исключения Гаусса.

Для контроля правильности решения нужно считать невязки δi по формуле (4.5).

δi , (4.5)

Если невязки велики, задача решена неверно.Причиной может быть сбой машины (крайне редко), ошибки в программе, погрешность округления (при большом n и когда DA = detA = 0- система плохо обусловлена).

Разновидности метода исключения:

 

а) Метод исключения Гаусса с выбором главного элемента в столбце.

В алгоритме прямого хода на шаге 2 рабочая строка выбирается из условия

,

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

 

б) Метод Гаусса-Жордана.

В алгоритм прямого хода нужно внести следующие изменения:

- на шаге 3

- на шаге 4 прямой ход завершиться при достижении условия k>n.

 

Вид матрицы коэффициентов после прямого хода

Упрощается обратный ход: xi =bi / ai,i , i =1,2,…,n

Недостаток метода – увеличение общего числа действий, и соответственно, влияния погрешности округления.


 

       
 
   
 

 

 


Рис. 3. Алгоритм запоминания коэффициентов.

 

Рис. 4.2. Алгоритм прямого хода

 


 

       
   
 
 

 

 

 

 

 

 


Рис. 4.6. Алгоритм расчета невязок

Рис. 4.5. Алгоритм обратного хода.

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




<== предыдущая лекция | следующая лекция ==>
Формулы Крамера. | Метод простых итераций.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.139 сек.