Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧИСЛЕННЫЕ МЕТОДЫ Конспект лекций Ч 1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
457.22 Кб
Скачать

Решение систем нелинейных уравнений

Рассмотренные методы можно применять и к итерационному решению систем нелинейных уравнений. При этом самым простым приемом является сведение системы нелинейных уравнений к системе квазилинейных уравнений, т.е. таких уравнений которые по структуре соответствуют СЛАУ, но коэффициенты которых не постоянны, а определяются на каждой текущей итерации по результатам предыдущей. Другими словами в этом случае учет всех нелинейных зависимостей осуществляется путем периодического пересчета значений коэффициентов матрицы. Более подробно этот прием рассмотрен далее в примере № 8.

Решение алгебраических и трансцендентных уравнений

Во многих научных и инженерных задачах часто возникает необходимость решения уравнений вида

(1.18)

где f - заданная функция.

Уравнение (1.18) может иметь как конечное, так и бесконечное количество решений, что зависит от вида функции f(x).

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

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

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

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

Метод половинного деления

Считаем, что отделение корней уравнения (1.18) проведено и на отрезке [а,b] расположен один корень, который необходимо уточнить с абсолютным итерационным допуском ε. Метод половинного деления, заключается в следующем.

Как видно из рисунка 1.1, вначале определяем середину отрезка [а, b] x*=(а+b)/2 и вычисляем функцию f(x*). Далее делаем выбор, какую из двух частей отрезка взять для дальнейшего уточнения корня. Если левая часть уравнения f(x) есть непрерывная функция аргумента х, то корень будет находиться в той половине отрезка, на концах которой f(x) имеет разные знаки. На рисунке 1.1 это будет отрезок [а, х*]. Для очередного шага уточнения точку b перемещаем в точку х* и продолжаем процесс аналогичным образом. Итерационный процесс будем продолжать до тех пор, пока интервал [а, b] не станет меньше заданного итерационного допуска ε.

Используя метод половинного деления, следует учитывать, что функция f(x) вычисляется с некоторой абсолютной погрешностью, а вблизи корня значения функции f(x) малы по абсолютной величине и поэтому могут оказаться сравнимыми с погрешностью ее вычисления. Другими словами, при подходе к корню существует опасность попасть в полосу “шумов” 2ε1 (Рис. 1.1) и дальнейшее уточнение корня окажется невозможным. В этом случае процесс уточнения значения корня прекращается. При практических расчетах обычно принимают ε1=ε.

Метод половинного деления обладает быстрой сходимостью, так как за каждую итерацию интервал, где расположен корень, уменьшается в два раза. Таким образом через п итераций интервал будет равен (b - a)/2n.