Лабы / ЧМ.Лабы.Лисовец / ЧМ.labs.by mice / lab08 / doc / from www.alglib.sources.ru (11.05.2005) / Решение СЛАУ методом Гаусса / Решение СЛАУ методом Гаусса - Библиотека алгоритмов
.htmРешение СЛАУ методом Гаусса - Библиотека алгоритмов H2 { FONT-SIZE: larger; FONT-FAMILY: Tahoma,sans-serif } H3 { FONT-SIZE: 12pt; FONT-FAMILY: Arial,sans-serif } INPUT { FONT-SIZE: 9pt; FONT-FAMILY: Courier New,monospace } UL { TEXT-ALIGN: justify } OL { TEXT-ALIGN: justify } A.leftmenu { FONT-SIZE: 8pt; COLOR: #cc0000; FONT-FAMILY: Tahoma,sans-serif; TEXT-DECORATION: none } A.leftmenu:hover { TEXT-DECORATION: underline } A.artlist { COLOR: #111177; TEXT-DECORATION: none } A.artlist:visited { COLOR: #111177; TEXT-DECORATION: none } A.artlist:hover { COLOR: #111177; TEXT-DECORATION: underline } A.special { FONT-SIZE: 10pt; COLOR: #000066 } A.special:visited { FONT-SIZE: 10pt; COLOR: #000066 } A.specialatt { FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #aa0000 } A.specialatt:visited { FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #aa0000 } .compact { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px } .code { FONT-SIZE: 9pt; COLOR: #006699; FONT-FAMILY: Courier New, monospace } .smalltext { FONT-SIZE: 10pt } .halfsmalltext { FONT-SIZE: 11pt } .attention { FONT-WEIGHT: bold; COLOR: #aa0000 }
Главная Новости Форум Terms of use SOURCES.RU Алгоритмы - Системы линейных уравнений - Метод Гаусса Решение СЛАУ методом Гаусса Процедура решает неоднородную систему n линейных алгебраических уравнений с n неизвестными:
a11 x1 + a12 x2 + ... +a1n xn = a1n+1
a21 x1 + a22 x2 + ... +a2n xn = a2n+1
....
an1 x1 + an2 x2 + ... +ann xn = ann+1
Вначале находим отличный от нуля коэффициент при x1 . Соответствующее уравнение переставляем с первым (если это необходимо). Получаем систему с a11 отличным от нуля. Разделив коэффициенты этого уравнения на a11 , получим:
x1 + b12 x2 + ... + b1n xn = b1n+1
При помощи этого уравнения исключаем x1 из исходной системы:
a (1)22 x2 + a (1)23 x3 + ... + a (1)2n xn = a (1)2n+1
....
a (1)n2 x2 + a (1)n3 x3 + ... + a (1)nn xn = a (1)nn+1
где
a (1)ij = aij - ai1 b1j , i,j= 2...n
Полученная система содержит n-1 уравнение. Применяем описанную выше процедуру к этой системе. Операции повторяем требуемое число раз, пока не приведем систему к треугольному виду:
x1 + с12 x2 + ... + с1n xn = с1n+1
x2 + ... + c2n xn = c2n+1
....
xn = cnn+1
Теперь легко определить xn , xn-1 , ..., x1 .
Если при поиске отличного от нуля коэффициента такого не окажется, то матрица системы вырождена и алгоритм неприменим. Для сравнения с нолем в алгоритм передается малое число epsilon, и любое число, по модулю меньшее epsilon, считается нолем. В случае вырожденой матрицы функция возвращает False. Если матрица невырождена, то функция возвращает True, а переменная X содержит решение системы.
Если нашли ошибку в алгоритме - сообщите!
Реализация алгоритма Исходный код данного алгоритма доступен в версиях на C++, Visual Basic 6 и Delphi. Все версии идентичны по своей функциональности.
Для каждого из языков программирования выводится список файлов, содержащий ссылку на код алгоритма (в начале списка) и вспомогательные алгоритмы, если такие есть (выделены курсивом).
Если вы в первый раз посетили этот сайт, то: Скачайте и подключите библиотеку AP (12 КБ) - библиотеку классов и функций, которая необходима для работы программ с сайта. Архив содержит версии библиотеки для каждого из языков, представленных на сайте. Обязательно прочитайте FAQ. Обратите внимание на раздел, посвященный выбранному вами языку. И ещё - читайте комментарии. Сэкономите много времени, поскольку НУМЕРАЦИЯ ЭЛЕМЕНТОВ МАССИВОВ НЕ ВСЕГДА НАЧИНАЕТСЯ С НОЛЯ, а не все это замечают.
C++ Решение СЛАУ методом Гаусса (скачать, открыть в браузере)
Delphi Решение СЛАУ методом Гаусса (скачать, открыть в браузере)
Visual Basic 6 Решение СЛАУ методом Гаусса (скачать, открыть в браузере)
Реализация алгоритма на AlgoPascal Реализация алгоритма на AlgoPascal доступна для лучшего понимания сути алгоритма, если вы захотите разобраться в нем. Автоматический перевод позволяет получить работоспособную программу, но оригинал на AlgoPascal гораздо легче читать, поскольку он набирается человеком.
открыть AP-файл в браузере
БлоксхемыСкачать блок-схему алгоритма (для просмотра блок-схем используйте редактор блок-схем) ВНИМАНИЕ! Поддержка блок-схем приостановлена на неопределенный срок. Вы по-прежнему можете скачивать и просматривать их, но ошибки в них больше не исправляются, и новые алгоритмы размещаются на сайте без блок-схем. О причинах этого можно узнать в выпуске новостей от 23.09.04. Это не относится к программам на C++/Delphi/VB, которые сопровождаются в полном объеме.
Бочканов Сергей, Быстрицкий Владимир
Copyright © 1999-2005
При поддержке проекта MANUAL.RU