Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие ЛА май 2011 все гл.doc
Скачиваний:
10
Добавлен:
01.05.2025
Размер:
5.05 Mб
Скачать

11.2. Уточнение решения методом итераций

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

Обозначим через найденное методом Гаусса, или любым другим методом приближенное решение СЛАУ (11.1). Подставив это решение в левую часть уравнения (11.1) получим

(11.7)

Очевидно, что если значения сильно отличаются от b1,b2,…bn, то найденное решение содержит большую ошибку. Однако, даже если все близки к bi, это не значит, что ошибка в найденном решении мала. Например, рассмотрим следующую систему двух уравнений с двумя неизвестными

Эта система имеет единственное решение x=1, y=1. Попробуем теперь подставить в рассматриваемую систему значения неизвестных x=2.12, y=0. После подстановки получим

Как видим, совершенно далекие от точного решения системы значения неизвестных дают практически одинаковые с точным решением правые части этих двух систем. В данном случае мы имеем дело с так называемой плохо обусловленной системой. В случае системы двух уравнений с двумя неизвестными это связано с тем, что прямые, описываемые уравнениями системы почти параллельны и точка x=2.12, y=0 хотя и не лежит на этих прямых, но очень близка к каждой из них. Таким образом, близость правых частей системы, получаемых после подстановки найденного решения, к исходной не является критерием точности найденного решения.

Для нахождения погрешности найденного решения вычтем каждое уравнение системы (11.7) из соответствующего уравнения системы (11.1). Если ввести обозначения

то вновь полученная система уравнений, в которой неизвестными будут величины , запишется следующим образом

(11.8)

Решая эту систему методом Гаусса, мы фактически найдем значения ошибок в найденном приближенном решении . Новое, более точное приближение к решению системы (11.1) запишется таким образом

Заметим, что новые значения не есть точное решение, так как сами ошибки найдены с некоторой погрешностью.

Найденные значения снова можно подставить в левую часть уравнений системы (11.1) и, обозначив как , полученные при этом правые части, вычесть каждое уравнение новой системы из соответствующего уравнения системы (11.1). В итоге получим следующую систему уравнений относительно новых поправок к решению системы (11.1)

(11.9)

где

Новое, еще более точное приближение к решению системы (11.1) запишется в таком виде

При продолжении описанного процесса каждая следующая поправка будет меньше предыдущей, т.е. . Такой итерационный процесс уточнения решения следует продолжать до тех пор, пока не будет достигнута необходимая точность. Достигнутая точность, т.е. погрешность в определении найденного решения будет определяться значением поправок на последней итерации.

11.3. Метод прогонки

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

Рассмотрим систему уравнений с трехдиагональной матрицей.

(11.10)

Такие системы принято записывать в каноническом виде

(11.11)

Определение. Формула (11.11) называется разностным уравнением второго порядка, или трехточечным уравнением.

Выразим из первого уравнения системы (11.10) переменную x1, а из последнего - переменную xn, предполагая, что b1 ≠ 0, bn ≠0,

(11.12)

Определение. Соотношения (11.12) называются краевыми условиями для разностного уравнения (11.11).

Подставляя первое краевое условие во второе уравнение в (11.10), исключим из него переменную x1. Получим уравнение

, или

, (11.13)

где

Найденное выражение (11.13) для x2 подставим в следующее уравнение в (11.10) и получим уравнение, связывающее переменные x3 и x4 и т.д.

Предполагая, что мы уже выразили в (i–1)–ом уравнении xi-1 через xi

, (11.14)

и подставляя выражение для xi-1 (11.14) в i-е уравнение

,

получим следующую формулу обратного хода

, (11.15)

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

(11.16)

Расчет по формулам (11.16) начинается при значении i=2, при этом необходимые значения краевых коэффициентов вычисляются по формулам (11.12).

Для начала расчета по формуле обратного хода (11.15) необходимо вычислить значение xn. Подставим во второе краевое условие (11.12) выражение для xn-1, полученное из формулы (11.15) при i=n-1

(11.17)

где заданные в (11.12) краевые коэффициенты, а вычислены по формуле прямого хода (16). Из уравнения (11.17) найдем значение xn

(11.18)

Таким образом, для нахождения решения сначала по формулам (11.16) вычисляем все коэффициенты , затем по формулам (11.18), (11.15) в обратном порядке вычисляем значения неизвестных.

Вычисления по формулам прогонки (11.16), (11.18), (11.15) требуют всего 3n ячеек памяти и 9n арифметических действий, что делает их значительно более эффективными по сравнению с общими формулами метода Гаусса.

Можно доказать, что если выполнено условие преобладания диагональных элементов

(11.19)

(причем неравенство имеет место хотя бы для одного i), то в формулах прямого хода (16) и формуле (18) не возникает деления на нуль и система имеет единственное решение. Условие (19) является достаточным условием существования единственного решения системы (10). Однако в практических расчетах метод прогонки оказывается достаточно устойчивым и в случаях нарушения данного условия.