КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Точные и приближенные методы решения систем линейных уравнений
Самое простое уравнение — это линейное уравнение с одной переменной х вида: ах = b. (1) Обобщением таких уравнений является линейное уравнение с несколькими переменными х1, х2,..., хn вида: a1x1 + a2x2 +...+ anxn = b. (2) Многие задачи сводятся к решению конечного множества уравнений вида (2), то есть системы линейных уравнений. В общем виде система n линейных уравнений с n переменными x1, x2,..., xn записывается как совокупность числовых равенств:
Коэффициенты aij системы для их упорядочения снабжаются двумя индексами, причем индекс i соответствует номеру строки, а j —номеру столбца (i = 1, 2,..., n; j = 1, 2,..., n). Тогда свободный член запишется в виде bi (i = 1, 2,..., n), а переменная— хj (j = 1, 2,..., n). Будем далее считать, что упорядоченные наборы чисел aij, xj и bi берутся из множества действительных чисел R. Решением системы (3) n уравнений с n переменными называют упорядоченную совокупность n чисел c 1, c2 ,..., cn В частном случае, при n = 2 и n = 3 получаем хорошо знакомые системы двух линейных уравнений с двумя переменными:
и трех линейных уравнений с тремя переменными:
Решением системы (4) является упорядоченная пара чисел (c1, c2), а решением системы (5) — упорядоченная тройка чисел (с1, c2, c3). Известно, что исследование и нахождение решения для систем (4) и (5) не представляют особых трудностей. Но задачи практического содержания сводятся к исследованию и решению систем линейных уравнений, содержащих десятки, сотни и даже тысячи переменных. Число элементарных операций при решении линейных систем с n переменными пропорционально примерно n3, поэтому решение таких задач стало возможным только с появлением быстродействующих ЭВМ. Не останавливаясь на вопросах исследования систем линейных уравнений, в дальнейшем будем предполагать, что система имеет единственное решение. Поэтому основной задачей этой главы и будет изучение универсальных вычислительных алгоритмов, используемых для нахождения единственного решения системы линейных уравнений, когда число переменных совпадает с числом уравнений. Методы решения систем линейных уравнений можно разделить на две группы: точные и итерационные (приближенные) методы. Точными являются такие методы, которые позволяют получить решение системы после выполнения конечного числа арифметических операций над коэффициентами системы и их свободными членами. Причем решение получится точным только тогда, когда коэффициенты и правые части системы (3) известны точно и все арифметические действия над ними выполняются без округлений. Из точных методов рассмотрим метод Гаусса и правило Крамера. Однако на практике даже этими методами не всегда удается получить точное решение, ибо в ЭВМ точные коэффициенты представляются приближенно с некоторой погрешностью, а в процессе вычислений необходимо проводить округление чисел. Итерационными являются методы, позволяющие получать решение системы с заданной точностью путем сходящихся бесконечных процессов. Из приближенных методов рассмотрим ниже метод итераций.
1. Алгоритм метода Гаусса Пусть дана система n линейных уравнений с n переменными:
Коэффициенты аij при переменных будем рассматривать как элементы двумерного массива A (N, N), а свободные члены bi — как элементы одномерного массива В (N). Решение xi(i =
Предписываемые методом Гаусса преобразования будем выполнять над элементами расширенной матрицы. Опишем формально алгоритм решения линейной системы методом Гаусса без выбора главного элемента. 1. Элементы первой строки расширенной матрицы (А | В) делим на а11. Полученную после такого деления первую строку умножаем последовательно на ak1(k =
2. Элементы второй строки расширенной матрицы делим на 3. Продолжаем этот процесс исключения переменных (получения нулей) до тех пор, пока подобная процедура не будет проделана с (n — 1)-й строкой матрицы. После этого получим матрицу:
4. Элементы n-й строки делим на
На этом закончился прямой ход метода Гаусса. 5. Выполняем обратный ход метода Гаусса: в (п— 1)-ю строку последней матрицы подставляем значение хn и находим значение xn-1, затем последовательно находим xn-2, xn-3,..., x2, x1 по формулам:
Этот алгоритм является экономичным в смысле использования памяти, так как все промежуточные и окончательные значения элементов в процессе преобразования матриц последовательно хранятся в тех же ячейках памяти, что и массивы А и В. Очередные значения диагональных элементов Значения переменных xn, xn-1,...,x1 присваиваются элементам массива свободных членов В. Метод Гаусса с выбором главного элемента заключается в том,что при прямом ходе производится выбор наибольшего по модулю (главного) элемента и перестановка строк или столбцов. Последнее исключает деление на 0, если матрица коэффициентов содержит нулевые элементы, и повышает точность вычислений при наличии ошибок округления. Обычно для программ, ведущих вычисления с числами с плавающей точкой, достаточен выбор Aii ¹ 0. Метод вращения является разновидностью метода Гаусса. Он обладает повышенной устойчивостью к “провалам” промежуточных вычислений. Этот метод обеспечивает приведение исходной системы к системе с верхней треугольной матрицей (см. литературу). 2. Правило Крамера Правило Крамера рассмотрим на примере двух линейных уравнений с двумя переменными:
хотя оно применимо и для решения системы n линейных уравнений с n переменными, но с увеличением n требует большого объема вычислительной работы. Умножим первое уравнение системы (17) на коэффициент а22, а второе — на — a12 и полученные уравнения сложим. Тогда имеем:
Если a11a22 - a21a12
Аналогично, умножая первое уравнение системы (17) на —a21, второе — на а11 и складывая их, получаем:
Введем обозначения: a11a22 - a21a12 = b1a22 - b2a12 = a11b2 - a21b1 = Следовательно, B = Определитель Определитель Если главный определитель Таким образом, если главный определитель системы уравнений (17)
Формулы (18) называются формулами Крамера. Нахождение решения линейной системы (17) по формулам (18) называется правилом Крамера, который одним из первых пришел к понятию определителя и доказал сформулированное выше предложение. Справедливы также следующие два предложения: 1. Если главный определитель системы (17) 2. Если все три определителя Легко дать геометрическое истолкование этим предложениям. Поскольку каждому уравнению системы (17) в плоскости соответствует некоторая прямая, то система (17) имеет единственное решение, если прямые имеют одну общую точку; не имеет решений, если прямые параллельны; и имеет бесконечное множество решений, если прямые сливаются. Правило Крамера решения системы n линейных уравнений с n переменными имеет определенное теоретическое значение; практически им уже при n = 4 не пользуются. Установлено, что число операций умножения и деления, которые необходимо выполнить при решении линейной системы алгебраических уравнений порядка n по формулам Крамера, равно: N(n) = (n2 — 1)n! + n, а по схеме единственного деления метода Гаусса: N(n) = Для сравнения объема вычислительной работы по этим двум алгоритмам подсчитаем количество операций: по Крамеру по Гауссу при n = 5 2885 65 при n =10 360*106 430 Поэтому все современные ЭВМ имеют стандартные подпрограммы, реализующие различные модификации метода Гаусса.
3. Метод итераций и метод Зейделя
Метод итераций позволяет получить последовательность приближенных значений, сходящуюся к точному решению системы линейных уравнений. В отличие от метода Гаусса, метод итераций не требует контроля промежуточных вычислений, так как отдельные ошибки на каком-либо шаге итерации не искажают окончательных результатов, хотя и удлиняет процесс счета. Иначе говоря, метод итераций решения систем линейных уравнений является самоисправляющимся. Кроме того, метод итераций легко запрограммировать для ЭВМ. Пусть имеем систему
или, короче,
Предположим, что определитель системы отличен от нуля и что диагональные коэффициенты Выразим из первого уравнения x1, из второго x2, и т. д. Тогда получим эквивалентную систему:
где Полученную систему запишем так:
и назовем ее системой нормального вида. Будем решать ее методом последовательных приближений. За нулевое приближение возьмем, например, столбец свободных членов
Подставив в правую часть системы (20) значения Затем аналогично второе: Таким образом, зная k- e приближение, (k + 1)-е приближение вычисляют по формуле Если последовательность приближений (
то
Описанный метод последовательных приближений называется методом итераций. Рабочие формулы метода итераций имеют вид:
Существование предела
гарантирует теорема о достаточном признаке сходимости процесса итераций. Достаточным условием сходимости итерационных методов является условие
При методе Зейделя итерационный процесс подобен описанному для метода простых итераций, однако уточненные значения Хij+1 сразу подставляются в последующие уравнения. Формула итерационного процесса имеет вид:
Дата добавления: 2014-01-06; Просмотров: 1888; Нарушение авторских прав?; Мы поможем в написании вашей работы! |