2.3.5. Сравнение методов решения нелинейных уравнений

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

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

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

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

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

2.4. Технология решения нелинейных уравнений средствами математических пакетов

2.4.1. Технология решения нелинейных уравнений средствами MathCad

В математическом пакете MathCad имеются как программные средства для реализации алгоритмов уточнения корней уравнений, приведенных в п.2.2, так и встроенные функции для численного и аналитического вычисления корней уравнений.

Рассмотрим примеры , иллюстрирующие средства MathCad.

Пример 2.4-1. Отделить корни уравнения x3-cos(x)+1=0 графическим методом.

Проведем анализ функции

1) Область допустимых значениий 2) Сократим интервал

достаточно большая

3) Получим два отрезка локализации:

Простой корень на отрезке [-0.6;-0.4] и кратный корень на отрезке [-0.2;0.2]

Пример 2.4-2. Отделить корень уравнения f(x)=1–3x+cos(x)=0 аналитически.

Первая и вторая производные на [0;1] непрерывны и знакопостоянны

a=0 b=1

Уравнение 1-3x+cos(x)=0 имеет на отрезке [0;1] один корень

Пример 2.4-3. Уточнить корень уравнения f(x)=1 – 3x + cos(x)=0 методом итерации на отрезке [0;1].

Приведем уравнение 1 – 3х + cos(x) = 0 к виду x = (cos(x) + 1) / 3 и проведем исследование:

для всех значений аргумента х на отрезке [0;1]

Пример 2.4-4. Решить уравнение x2–3∙x+3.25–5∙cos(x)=0 методом простой итерации.

Будем искать простой корень уравнения, находящийся на отрезке локализации [-1;0]

Проверим аналитическое условие существования корня на [-1; 0]

Функция f(x) на отрезке меняет знак, значит есть хотя бы один корень.

Производная

Очевидно, что производная отрицательна для всех отрицательных аргументов, т.е. и на [-1; 0] производная сохраняет знак, следовательно, функция f(x) на отрезке монотонно убывает и корень единственный.

Найдем корень с помощью встроенной функции root

Теперь найдем этот корень методом итерации.

Приведем уравнение f(x)= x2 – 3∙x + 3.25 – 5∙cos(x) = 0 к виду, x = φ(x), удобному для итерации.

1 способ. Приведем уравнение к виду x=ϕ(x) , где

Проверим условие сходимости <1 для этой итерирующей функции,

для чего вычислим производную:

График и таблица производной

Из графика и таблицы видно, что на части отрезка с корнем значение производной итерирующей функции >1, следовательно, сходимость метода не обеспечена и необходимо выбрать другой вид итерирующей функции.

2 способ. Приведем уравнение к виду x=ϕ(x) , где

Проверим условие сходимости:

График и таблица значений производной

По графику и таблице видно, что производная не существует (т.е. имеет комплексные значения) примерно на [-∞; -0.4], а в оставшейся части отрезка с корнем [-0.4; 0] значения производной больше единицы. Следовательно, такая итерирующая функция тоже не обеспечивает сходимость метода итерации

3 способ. Приведем уравнение к виду x=x-λf(x), где итерирующая функция ϕ(x)=x- λf(x), а

λ - итерационный параметр. λ выберем из условия λ=2/(m+M), где m - минимальное, а

М - максимальное по модулю значения f '(x) на отрезке [-1,0]. Найдем значения m и M

Т.к. производная , то параметр λ надо умножить на -1. Таким образом, .

Проверим условие сходимости для отрезка [-1,0]:

Из графика и таблицы видно, что на отрезке [-1,0] производная итерирующей функции <1, следовательно, сходимость метода обеспечена. Выполним три итерации:

1-я итерация:

2-я итерация:

3-я итерация: .

Т.е. после 3 итераций приближение к корню x3= -0.398

Оценка погрешности производится по формуле , где .

Из приведенной выше таблицы значений производной φ’(x) определим

Погрешность после 3 итераций

4 способ. Приведем уравнение к виду x=x+λf(x), где итерирующая функция ϕ(x)=x+ λf(x), а

λ - итерационный параметр выберем из условия

-1/r <λ<0, если f `(x)>0; или

0<λ<1/r, в том случае, если f `(x)<0 , где r=max(|f `(a)|, |f `(b)|) на [a; b].

Из таблицы значений производной f `(x), представленной в 3-м способе решения задачи определим

r=max(|f `(a)|, |f `(b)|) = 9.207. Так как f `(x)<0, то 0<λ<1/r, тогда

Возьмем λ=0.1. Получаем итерирующую функцию

Проверим условие сходимости для отрезка [-1,0]:

Из графика и таблицы видно, что на отрезке [-1,0] производная итерирующей функции <1, следовательно, сходимость метода обеспечена. Выполним три итерации:

1-я итерация:

2-я итерация:

3-я итерация:

Т.е. после 3 итераций приближение к корню x3= -0.347

Из приведенной выше таблицы значений производной φ’(x) определим q=0.7

Погрешность после 3 итераций

Пример 2.4-5. Выполнить «ручным расчетом» три итерации, решая уравнение f(x)=1 – 3x + cos(x) = 0 методом Ньютона.

В нашем случае

В Mathcad имеется ряд встроенных средств для поиска корней нелинейных уравнений. Функция

root(f(var1, var2, ...),var1, [a, b])

имеет два необязательных аргумента a и b, которые определяют границы интервала, на котором следует искать корень. На концах интервала [a;b] функция f должна менять знак (f(a)f(b)<0). Задавать начальное приближение для корня не нужно. Функция root использует алгоритм Риддера (в основу которого положен метод хорд) и Брента. Метод Брента соединяет быстроту метода Риддера и гарантированную сходимость метода деления отрезка пополам.

28