Решение нелинейных уравнений. Нахождение корня нелинейного уравнения Найти корень уравнения можно численным методом

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

Пусть требуется решить уравнение

Где
– нелинейная непрерывная функция.

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

Полное решение поставленной задачи можно разделить на 3 этапа:

    Установить количество, характер и расположение корней уравнения (1).

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

    Найти значение корней с требуемой точностью (уточнить корни).

Существуют различные графические и аналитические методы решения первых двух задач.

Наиболее наглядный метод отделения корней уравнения (1) состоит в определении координат точек пересечения графика функции
с осью абсцисс. Абсциссы точек пересечения графика
с осью
являются корнями уравнения (1)

Промежутки изоляции корней уравнения (1) можно получить аналитически, опираясь на теоремы о свойствах функций, непрерывных на отрезке.

Если, например, функция
непрерывна на отрезке
и
, то согласно теореме Больцано – Коши, на отрезке
существует хотя бы один корень уравнения (1)(нечетное количество корней).

Если функция
удовлетворяет условиям теоремы Больцано-Коши и монотонна на этом отрезке, то на
существует только один корень уравнения (1).Таким образом, уравнение (1) имеет на
единственный корень, если выполняются условия:


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


Полезным средством для отделения корней является также использование теоремы Штурма.

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

Пример Решим уравнение
методом простой итерации . Зададим
. Построим график функции.

На графике видно, что корень нашего уравнения принадлежит отрезку
, т.е.
– отрезок изоляции корня нашего уравнения. Проверим это аналитически, т.е. выполнение условий (2):


Напомним, что исходное уравнение (1) в методе простой итерации преобразуется к виду
и итерации осуществляются по формуле:

(3)

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

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

На практике часто выражают
непосредственно из уравнения (1). Если не выполняется условие сходимости, преобразуют его к виду (3) и подбирают. Представим наше уравнение в виде
(выразим x из уравнения). Проверим условие сходимости метода:

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

Выберем
. Организуем итерации по формуле:



Программно организуем процесс итераций с заданной точностью:

> fv:=proc(f1,x0,eps)

> k:=0:

x:=x1+1:

while abs(x1-x)> eps do

x1:=f1(x):

print(evalf(x1,8)):

print(abs(x1-x)):

:printf("Кол. итер.=%d ",k):

end :

На 19 итерации мы получили корень нашего уравнения

c абсолютной погрешностью

Решим наше уравнение методом Ньютона . Итерации в методе Ньютона осуществляются по формуле:

Метод Ньютона можно рассматривать как метод простой итерации с функцией, тогда условие сходимости метода Ньютона запишется в виде:

.

В нашем обозначении
и условие сходимости выполняется на отрезке
, что видно на графике:

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



Программно организуем процесс итераций с заданной точностью. На 4 итерации получим корень уравнения

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

методом Ньютона с
, находим корень уравнения на [-1,5;-1]:

Задание : Решить нелинейные уравнения с точностью

0.


    деления отрезка пополам (дихотомии)

    простой итерации.

    Ньютона (касательных)

    секущих – хорд.

Варианты заданий рассчитываются следующим образом: номер по списку делится на 5 (
), целая часть соответствует номеру уравнения, остаток – номеру метода.

Цель работы

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

Методические указания

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

Нелинейные уравнения можно разделить на 2 класса – алгебраические и трансцендентные. Алгебраическими уравнениями называют уравнения, содержащие только алгебраические функции (целые – в частности многочлен, рациональные, иррациональные). Уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и др.) называются трансцендентными. Нелинейные уравнения могут решаться точными или приближенными методами. Точные методы позволяют записать корни в виде некоторого конечного соотношения (формулы). К сожалению, большинство трансцендентных уравнений, а также произвольные алгебраические уравнения степени выше четвертой не имеют аналитических решений. Кроме того, коэффициенты уравнения могут быть известны лишь приблизительно и, следовательно, сама задача о точном определении корней теряет смысл. Поэтому для решения используются итерационные методы последовательного приближения. Вначале следует вначале отделить корни (т.е. найти их приближенное значение или отрезок их содержащий), а затем методом последовательных приближений их уточнить. Отделить корни можно – установив знаки функции f (x ) и ее производной в граничных точках области ее существования, оценив приближенные значения из физического смысла задачи, или из решения аналогичной задачи при других исходных данных.

Широко распространен графический способ определения приближенных значений действительных корней – строят график функции f (x ) и отмечают точки пересечения его с осью ОХ. Построение графиков часто удается упростить, заменив уравнение f (x )= 0 равносильным ему уравнением , где функции f 1 (x ) и f 2 (x ) - более простые, чем функция f (x ). В этом случае следует искать точку пересечения этих графиков.

Пример 1. Графически отделить корни уравнения x lg x = 1. Перепишем его в виде равенства lg x= 1/xи найдем абсциссы точек пересечения логарифмической кривой y = lg x и гиперболы y = 1/x (рис. 5). Видно, что единственный корень уравнения .

Реализация классических приближенных методов решения в пакете MathCAD.

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

Отрезок, на концах которого функция принимает значения разного знака, делится пополам и, если корень лежит правее центральной точки, то к центру подтягивается левый край, а если – левее, то правый край. Новый суженный отрезок снова делится пополам и процедура повторяется. Этот метод прост и надежен, всегда сходится (хотя часто медленно – расплата за простоту!). Программная реализация его в пакете MathCAD рассмотрена в лабораторной работе №7 данного пособия.

Метод хорд

В качестве последовательных приближений к корню уравнения принимаются значения х 1 , х 2 , ..., х n точек пересечения хорды АВ с осью абсцисс (рис. 6).

Уравнение хорды AB имеет вид: . Для точки пересечения ее с осью абсцисс (х=х 1 , y= 0) имеем:

Пусть для определенности кривая у = f (x ) будет выпукла вниз и, следовательно, расположена ниже своей хорды АВ , т.е. на отрезке f ²(x )>0. Возможны два случая: f (а )>0 (рис. 6, а ) и f (а )<0 (рис. 6, б ).

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

x 0 = b ; . (4.1)

Во втором случае неподвижен конец b , последовательные итерации образуют ограниченную монотонно возрастающую последовательность: и определяются согласно уравнениям:

x 0 = а ; . (4.2)

Таким образом, неподвижным следует выбирать тот конец, для которого знак функции f (х ) и ее второй производной f ²(х ) совпадают, а последовательные приближения x n лежат по ту сторону корня x, где эти знаки противоположны. Итерационный процесс продолжается до тех пор, пока модуль разности двух последовательных приближений не станет меньше, чем заданная точность решения.

Пример 2. Найти положительный корень уравнения f (x ) º x 3 –0,2x 2 –0,2х –1,2 = 0 с точностью e= 0,01. (Точный корень уравнения x = 1,2).

Для организации итерационных вычислений в MathCAD документе используется функция until(a, z ), котораявозвращает значение величины z , пока выражение a не становится отрицательным.

Метод Ньютона

Отличие этого метода от предыдущего состоит в том, что вместо хорды на каждом шаге проводится касательная к кривой y=f (x )при x=х i и ищется точка пересечения ее с осью абсцисс (рис. 7):

При этом не обязательно задавать отрезок [а, b], содержащий корень уравнения), а достаточно лишь задать начальное приближение корня x=х 0 , которое должно находиться на том же конце интервала [а, b], где знаки функции и ее второй производной совпадают.

Уравнение касательной, проведенной к кривой y = f (x ) через точку В 0 с координатами х 0 и f (х 0), имеет вид:

Отсюда найдем следующее приближение корня х 1 как абсциссу точки пересечения касательной с осью Ох (y = 0):

Аналогично могут быть найдены и последующие приближения как точки пересечения с осью абсцисс касательных, проведенных в точках В 1 , В 2 и так далее. Формула для (i + 1) приближения имеет вид:

Условием окончания итерационного процесса является неравенство ïf (x i

Пример 3 . Реализация итерационного метода Ньютона.

Метод простой итерации (последовательных итераций )

Заменим исходное нелинейное уравнение f (х )=0 равносильным уравнением вида x =j(x ). Если известно начальное приближение корня х = х 0 , то новое приближение может быть получено по формуле: х 1 =j(х 0). Далее, подставляя каждый раз новое значение корня в исходное уравнение получаем последовательность значений:

Геометрическая интерпретация метода состоит в том, что каждый действительный корень уравнения является абсциссой точки пересечения М кривой у= j(х ) с прямой у=х (рис. 8). Отправляясь от произвольной т. А 0 [x 0 ,j(x 0)] начального приближения, строим ломаную А 0 В 1 А 1 В 2 А 2 .., которая имеет форму «лестницы» (рис. 8, а ) если производная j’(x) положительна и форму «спирали» (рис. 8, б ) в противоположном случае.

в)
Рис. 8. Метод простой итерации: а, б – сходящаяся итерация, в – расходящаяся итерация.

Отметим, что следует заранее проверить пологость кривой j(х ), поскольку если она не является достаточно пологой ( >1), то процесс итерации может быть расходящимся (рис. 8, в ).

Пример 4. Решитьуравнение x 3 – x – 1 = 0 методом простой итерации с точностью e = 10 -3 . Реализация этой задачи представлена следующим MathCAD документом.

Реализация приближенных методов решения встроенными функциями MathCAD

Использование функции root

Для уравнений вида f (x ) = 0 решение находится с помощью функции: root(f (х ),х,a,b ) , которая возвращает значение х , принадлежащее отрезку [a, b ] , при котором выражение или функция f (х ) обращается в 0. Оба аргумента этой функции x и f(x) должны быть скалярами, а аргументы a, b – являютсянеобязательными и, если используются, то должны быть вещественными числами, причем a < b. Функция позволяет находить не только вещественные, но и комплексные корни уравнения (при выборе начального приближения в комплексной форме).

Если уравнение не имеет корней, они расположены слишком далеко от начального приближения, начальное приближение было вещественным, а корни – комплексные, функция f (х ) имеет разрывы (локальные экстремумы между начальными приближениями корня) то появится сообщение (отсутствует сходимость). Причину ошибки можно выяснить, исследуя график f (x ). Он поможет выяснить наличие корней уравнения f (x ) = 0 и, если они есть, то определить приблизительно их значения. Чем точнее выбрано начальное приближение корня, тем быстрее будет сходиться функция root .

Для выражения f (x ) с известным корнем а нахождение дополнительных корней f (x ) эквивалентно поиску корней уравнения h (x )=f (x )/(x‑a ). Проще искать корень выражения h (x ), чем пробовать искать другой корень уравнения f (x )=0, выбирая различные начальные приближения. Подобный прием полезен для нахождения корней, расположенных близко друг к другу, он реализован в приведенном ниже документе.

Пример 5 . Решить алгебраическое уравнения с помощью функции root:

Примечание. Если увеличить значение системной переменной TOL (tolerance), то функция root будет сходиться быстрее, но ответ будет менее точен, а при уменьшении TOL более медленная сходимость обеспечивает более высокую точность, соответственно. Последнее необходимо, если требуется различить два близко расположенных корня, или же, если функция f (x ) имеет малый наклон около искомого корня, поскольку итерационный процесс в этом случае может сходиться к результату, отстоящему от корня достаточно далеко. В последнем случае альтернативой повышения точности является замена уравнения f (x ) = 0на g (x ) = 0, где .

Использование функции polyroots

Если функция f(x) является полиномом степени n , то для решения уравнения f(x)=0 лучше использовать функцию polyroots (a), нежели root , поскольку она не требует начального приближения и возвращает сразу все корни, как вещественные, так и комплексные. Аргументом ее является вектор a, составленный из коэффициентов исходного полинома. Его можно сформировать вручную или с помощью команды Символы Þ Коэффициенты полинома (переменная полинома x выделяется курсором). Пример применения функции polyroots:

Использование функции solve и блока решений

Блок решений с ключевыми словами (Given – Find или Given – Minerr ) или функция solve позволяют найти решение произвольного нелинейного уравнения, если предварительно задано начальное приближение.

Отметим, что между функциями Find и root наблюдается своеобразная конкуренция. С одной стороны, Find позволяет искать корни, как уравнений, так и систем. С этих позиций функция root как бы и не нужна. Но с другой стороны, конструкцию Given-Find невозможно вставить в MathCAD программы. Поэтому в программах приходится подстановками сводить систему к одному уравнению и использовать функцию root .

Символьное решение уравнений в пакете MathCAD

Во многих случаях, MathCAD позволяет найти аналитическое решение уравнения. Для того чтобы найти решение уравнения в аналитическом виде необходимо записать выражение и выделить в нем переменную. После этого выбираем из пункта меню Symbolic подпункт Solve for Variable.

Другими вариантами нахождения решения в символьной форме являются (приводятся примеры решения того же уравнения) – использование функции solve из палитры математических операций Символы (Symbolic ).

использование блока решения (с ключевыми словами Given - Find )

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

§ 4.1. Постановка задачи. Основные этапы решения

1. Постановка задачи.

Задача отыскания корней нелинейного уравнения с одним неизвестным вида

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

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

Корень х уравнения (4.1) называется простым, если противном случае (т. е. в случае корень х называется кратным. Целое число назовем кратностью корня х, если для Геометрически корень х соответствует точке пересечения графика функции с осью Корень х является простым, если график пересекает ось под ненулевым углом, и кратным, если пересечение происходит под нулевым углом. Функция график который изображен на рис. 4.1, имеет четыре корня. Корни простые, кратные.

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

2. Уточнение постановки задачи.

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

В подавляющем большинстве случаев представить решение уравнения (4.1) в виде конечной формулы оказывается невозможным. Даже для простейшего алгебраического уравнения степени

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

уравнений пятой и более высоких степеней таких формул не существует. Этот замечательный факт, известный как теорема Абеля, был установлен в 30-е годы XIX в. Н. Абелем и Э. Галуа.

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

Пример 4.1. Предположим, что исследование некоторого явления привело к необходимости решить уравнение

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

Предположим теперь, что "истинный" вид уравнения (4.3) таков: Тогда точные значения параметра можно вычислить по формуле Однако она лишь указывает на то, какие операции и в каком порядке следует выполнить. В данном случае точное вычисление по формуле невозможно, так как она содержит операцию извлечения квадратного корня. Вычисленные по ней значения неизбежно окажутся приближенными.

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

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

3. Основные этапы решения.

Решение задачи отыскания корней нелинейного уравнения осуществляют в два этапа. Первый этап называется этапом локализации (или отделения) корней, второй - этапом итерационного уточнения корней.

Локализация корней. Отрезок содержащий только один корень х уравнения (4.1), называют отрезком локализации корня х. Цель этапа локализации считают достигнутой, если для каждого из подлежащих определению корней удалось указать отрезок локализации (его длину стараются по возможности сделать минимальной).

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

Способы локализации корней многообразны, и указать универсальный метод не представляется возможным. Иногда отрезок локализации известен либо он определяется из физических соображений. В простых ситуациях хороший результат может давать графический метод (см. пример 4.2). Широко применяют построение таблиц значений функций вида При этом способе локализации о наличии на отрезке корня судят по перемене знака функции на концах отрезка (см. пример 4.3). Основанием для применения указанного способа служит следующая хорошо известная теорема математического анализа.

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

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

Дело в том, что в малой окрестности такого корня (например, корня на рис. 4.1) функция имеет постоянный знак.

Важно подчеркнуть, что далеко не всегда для успешного отыскания

корня х уравнения (4.1) необходимо полное решение задачи локализации. Часто вместо отрезка локализации достаточно найти хорошее начальное приближение к корню х. Пример 4.2. Локализуем корни уравнения

Для этого преобразуем уравнение к виду и построим графики функций (рис. 4.2). Абсциссы точек пересечения этих графиков являются корнями данного уравнения. Из рис. 4.2 видно, что уравнение имеет два корня и расположенные на отрезках и . Убедимся, что функция принимает на концах указанных отрезков значения разных знаков. Действительно, Следовательно, в силу теоремы 4.1 на каждом из отрезков и находится по крайней мере один корень.

Пример 4.3. Локализуем корни уравнения

Для этого составим таблицу значений функции на отрезке с шагом 0.4.

Таблица 4.1 (см. скан)

Из табл. 4.1 видно, что функция меняет знак на концах отрезков Теорема 4.1 дает основание утверждать, что каждый из этих отрезков содержит по крайней мере один корень. Учитывая, что в силу основной теоремы алгебры многочлен третьей степени не может иметь более трех корней, заключаем, что полученные три отрезка содержат ровно по одному корню. Таким образом, корни локализованы.

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

Общее представление об итерационных методах и основные определения были даны в § 3.3. Введем дополнительно некоторые определения.

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

Скорость сходимости - одна из важнейших характеристик итерационных методов. Говорят, что метод сходится со скоростью геометрической прогрессии, знаменатель которой если для всех справедлива следующая оценка:

Как нетрудно видеть, из оценки (4.5) действительно вытекает сходимость метода.

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

где постоянные. В этом случае число называют порядком сходимости метода. Если то говорят, что метод обладает линейной скоростью сходимости в указанной -окрестности корня. Если то принято говорить о сверхлинейной скорости сходимости. При скорость сходимости называют

Для нахождения корня уравнения можно воспользоваться функциейroot(f (x ) ,x ), где первым аргументом служит функция f (x ) , а вторым аргументом служит имя неизвестной величины, т.е. x . Перед обращением к этой функции нужно искомой переменной присвоить начальное значение, желательно близкое к ожидаемому ответу.

Приведенное описание функции пригодно для всех версий системы МС. Эту функцию можно вызвать с помощью кнопки f(x) на панели инструментов, выбрав в левом списке пункт Solving. В МС14 выбранная таким образом функция имеет четыре аргумента. Первые два из них − такие же, как было описано выше, а третьим и четвертым аргументами служат левая и правая границы интервала, на котором лежит искомый корень. Если задать третий и четвертый аргументы, то начальное значение переменной можно и не присваивать.

Рассмотрим использование этой функции на примере уравнения
. Сначала выполним отделение корней. Для этого построим графики функций в правой и левой части (рис.19). Из рисунка видно, что уравнение имеет два корня. Один лежит на отрезке [–2; 0], другой же – на . Воспользуемся первым вариантом формата функцииroot. Правый корень уравнения по графику приближенно равен 1. Поэтому выполним присвоение x := 1, вызовем функцию root, укажем два первых аргумента
и нажмем клавишу =. На экране получим результат 1.062. Теперь воспользуемся вторым вариантом шаблона. Снова вызовем функциюroot, укажем четыре аргумента и нажмем клавишу =. На экране получим результат

Второй корень найдем так:

Число выведенных на экран знаков вычисленного корня не совпадает с точностью нахождения результата. В памяти компьютера число хранится с пятнадцатью знаками, а на экран из этой записи выводится то количество знаков, которое установлено в меню Format. Насколько найденное значение корня отличается от точного, зависит от метода вычисления корня и от числа итераций в этом методе. Это регулируется системной переменной TOL, которая по умолчанию равна 0,001. В системе МС14 функция root ориентирована на достижение точности
, если
, и на достижение точности, задаваемое переменнойTOL, если ее значение меньше
. Значение этой переменной меньше, чем
, задавать не рекомендуется, т.к. может нарушиться сходимость вычислительного процесса.

Следует учесть, что в некоторых исключительных случаях результат может отклоняться от точного значения корня значительно больше, чем на величину TOL. Изменить значение TOL можно или простым присвоением, или с помощью меню Tools пункт Worksheet Options пункт Built-In Variables.

Для нахождения корней многочлена можно воспользоваться другой функцией, которая выдаст все корни многочлена, включая комплексные. Это функция polyroots(■), где аргументом служит вектор, координатами которого являются коэффициенты многочлена, первая координата – свободный член, вторая – коэффициент при первой степени переменного, последняя – коэффициент при старшей степени. Функция вызывается так же, как и функция root. Например, корни многочлена
можно получить так:


.

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


.

В полученном результате выделим переменное x , выберем в меню Symbolics пункт Variable и в раскрывшемся окне пункт Solve. Получим


.

Как видим, корни найдены правильно. Возьмем многочлен третьей степени
. Найдем его корни тремя способами:

,


,

и символьными преобразованиями (результат на рис. 20).

Как видим, последний результат мало пригоден для использования, хотя и является «абсолютно» точным. Этот результат будет еще «хуже», если в многочлен добавить член с . Попробуйте с помощью символьных преобразований найти корни такого многочлена. Попробуйте с помощью символьных преобразований найти корни многочлена четвертой степени.

Символьные вычисления эффективны, если корни являются целыми или рациональными числами:


.

В этом примере символьные вычисления произведены с помощью панели Symbolic. Приведено также решение с помощью функции polyroots. Последние результаты менее эффектны, хотя с точки зрения вычислений ничем не хуже, так как разумный инженер округлит второй корень до числа – i .

Символьное нахождение корней можно применять и для уравнений, содержащих функции, отличные от многочленов:

.При использовании символьных вычислений следует быть осторожными. Так при нахождении нулей следующей функции МС14 выдает только одно значение: , хотя на промежутке
эта функция имеет 6 нулей:
. В более ранней версии системы (МС2000) указывались все нули.

Для полного ответа к ним нужно добавить число, кратное
.

Решим более сложную задачу. Функция y (x ) задана неявно уравнением
. Требуется построить график этой функцииy (x ) на отрезке .

Для решения этой задачи естественно воспользоваться функцией root. Однако она требует указания отрезка, на котором лежит искомый корень. Для этого найдем значение y графически при нескольких значениях x . (Графики приводятся ниже в виде отдельных рисунков, а не так как они размещены на экране MATHCAD).

Строим график (рис.21). На нем видно, что «разумные» значения y лежат в промежутке [– 5; 5]. Построим график в этом диапазоне. Изменения можно внести в шаблоны на имеющемся рисунке. Результат приведен на рис. 22. Видим, что корень лежит на отрезке . Возьмем следующее значение x . На бумаге – это новые записи, а на экране достаточно внести изменения в блоке, где x присваивается значение. При
получим рис.23. Согласно ему корень лежит на отрезке . При
получим рис. 24. Корень лежит на отрезке . В итоге можно ожидать, что корень при любыхx лежит на отрезке

Введем функцию пользователя .Построим график этой функции, считая переменным z , причем шаблоны по вертикальной оси можно не заполнять, система сама произведет масштабирование. График приведен на рис.25. По данному графику можно отследить значения функции с помощью панели X-Y Trace, как было описано выше.

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

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

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

Затем для реализации выбранного вычислительного метода составляется алгоритм и программа для ЭВМ. Современному инженеру важно уметь преобразовать задачу к виду, удобному для реализации на ЭВМ и построить алгоритм решения такой задачи.

В настоящее время широко используются как пакеты, реализующие наиболее общие методы решения широкого круга задач (например, Mathcad ,
MatLAB), так и пакеты, реализующие методы решения специальных задач.

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

1.1. Постановка задачи

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

Значение , при котором , называется корнем (или решением ) уравнения. Относительно функции часто предполагается, что дважды непрерывно дифференцируема в окрестности корня.

Корень уравнения называется простым, если первая производная функции в точке не равна нулю, т. е. . Если же , то корень называется кратным корнем.

Геометрически корень уравнения есть точка пересечения графика функции с осью абсцисс. На рис. 1 изображен график функции , имеющей четыре корня: два простых и два кратных .


Большинство методов решения уравнения ориентировано на отыскание простых корней.

1.2. Основные этапы отыскания решения

В процессе приближенного отыскания корней уравнения обычно выделяют два этапа: локализация (или отделение) корня и уточнение корня .

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

Теорема. Если функция непрерывна на отрезке и принимает на его концах значения разных знаков так что , то отрезок содержит по крайней мере один корень уравнения.

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

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

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

Разделим отрезок пополам. Получим точку . Вычислим значение функции в этой точке: . Если , то - искомый корень, и задача решена. Если , то - число определённого знака: либо . Тогда либо на концах отрезка , либо на концах отрезка значения функции имеют разные знаки. Обозначим такой отрезок . Очевидно, что и длина отрезка в два раза меньше, чем длина отрезка . Поступим аналогично с отрезком . В результате получим либо корень , либо новый отрезок и т. д. (рис. 2).

Середина -го отрезка . Очевидно, что длина отрезка будет равна , а так как , то

Критерий окончания. Из соотношения (1) следует, что при заданной точности приближения вычисления заканчиваются, когда будет выполнено неравенство или неравенство . Таким образом, количество итераций можно определить заранее. За приближенное значение корня берется величина .

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

Следовательно, не позднее 6-го деления найдем с требуемой точностью, . Результаты вычислений представлены в таблице 1.

Таблица 1

1,0000 1,0000 1,0000 1,1250 1,1250 1,1406 1,1406
2,0000 1,5000 1,2500 1,2500 1,1875 1,1875 1,1562
1,5000 1,2500 1,1250 1,1875 1,1406 1,1562 1,1484
Зн - - - - - - -
Зн + + + + + + +
5,5938 0,7585 -0,2959 0,1812 -0,0691 0,0532 -0,0078
- 1,0000 0,5000 0,2500 0,1250 0,0625 0,0312 0,0156

1.4. Метод простой итерации

Пусть уравнение можно заменить эквивалентным ему уравнением

Выберем каким-либо образом начальное приближение . Вычислим значение функции при и найдем уточненное значение . Подставим теперь в уравнение (1) и получим новое приближение и т. д. Продолжая этот процесс неограниченно, получим последовательность приближений к корню:

Формула (3) является расчетной формулой метода простой итерации.

Если последовательность сходится при , т. е. существует

и функция непрерывна, то, переходя к пределу в (3) и учитывая (4), получим: .

Таким образом, , следовательно, - корень уравнения (2).

Сходимость метода. Сходимость метода простой итерации устанавливает следующая теорема.

Теорема. Пусть функция определена и диффе-ренцируема на отрезке , причем все ее зна-чения . Тогда, если выполняется условие при :

1) процесс итерации сходится независимо от начального значения ;

2) предельное значение является единственным корнем уравнения на отрезке .

Доказательство. Так как и , то можно записать

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

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

Аналогично . Тогда для будет справедливо неравенство: и т. д. Продолжая эти выкладки дальше, в результате получаем , где - натуральное число. Таким образом, чтобы метод сходился, необходимо выполнение неравенства: .

Отсюда следует, что должно быть меньше единицы. В свою очередь, для всех остальных значений меньших , можно записать: . Число определим из соотношения . Тогда справедливо неравенство (вывод см. ниже): . Если поставить условие, что истинное значение корня должно отличаться от приближенного значения на величину , т.е. , то приближения надо вычислять до тех пор, пока не будет выполнено неравенство

или и тогда .

Вывод неравенства.Рассмотрим два последовательных приближения: и . Отсюда .

Используя теорему о среднем, получим:

тогда на основании условия можно записать:

С другой стороны, пусть . Очевидно, что . Отсюда, учитывая, что , получим

Тогда или .

Используя предыдущую формулу, можно получить:

Перейдём к пределу в равенстве (3), в силу непрерывности функции получим , то есть - корень уравнения (2). Других корней на нет, так как если , то , тогда , где . Равенство нулю будет достигнуто, если . То есть - корень единственный.

Теорема доказана.

Приведение уравнения к виду
для обеспечения выполнения неравенства

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

Это соотношение определяет диапазон значений коэффициента , изменяющий величину в пределах .

Обычно принимают .

На рис. 3-6 показаны четыре случая взаимного расположения линий и и соответствующие итерационные процессы. Рис. 3 и 4 соответствуют случаю , и итерационный процесс сходится. При этом, если (рис. 3), сходимость носит односторонний характер, а если (рис. 4), сходимость носит двусторонний, колебательный характер. Рис. 5 и 6 соответствуют случаю - итерационный процесс расходится. При этом может быть односторонняя (рис. 5) и двусторонняя (рис. 6) расходимость.

Погрешность метода. Оценка погрешности была доказана (5).

Критерий окончания. Из оценки (5) следует, что вычисления надо продолжать до выполнения неравенство . Если же , то оценка упрощается: .

Пример 1. Используем метод простой итерации для решения уравнения с точностью . Преобразуем уравнение к виду:

, т. е. .

Нетрудно убедиться, что корень уравнения находится на отрезке . Вычислив значения на концах отрезка, получим: , а , т. е. функция на концах отрезка имеет разные знаки,

поэтому внутри отрезка есть корень. Расположение корня наглядно иллюстрирует рис. 7.

Подсчитаем первую и вторую производные функции :

Так как на отрезке , то производная монотонно возрастает на этом отрезке и принимает максимальное значение на правом конце отрезка, т. е. в точке . Поэтому справедлива оценка:

Таким образом, условие выполнено, и можно воспользоваться критерием окончания вычислений. В табл. 2 приведены приближения, полученные по расчетной формуле. В качестве начального приближения выбрано значение .

Таблица 2

0,8415 0,8861 0,8712 0,8774 0,8765

Критерий окончания выполняется при , . Сходимость двусторонняя, качественный характер такой сходимости представлен на рис. 4. Приближенное значение корня с требуемой точностью .

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

0,8 0,78

Так как , то .

1.5. Метод Ньютона (метод касательных)

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

Уравнение касательной будет иметь вид: .

Первое пересечение получим, взяв абсциссу точки пересечения этой касательной с осью , т. е. положив : .

Аналогично поступим с точкой , затем с точкой и т. д., в результате получим последовательность приближений , причем

Формула (6) является расчетной формулой метода Ньютона .

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

Сходимость метода . Сходимость метода Ньютона устанавливает следующая теорема.

Теорема. Пусть - простой корень уравнения и в некоторой окрестности этого корня функция дважды непрерывно дифференцируема. Тогда найдется такая малая - окрестность корня , что при произвольном выборе начального приближения из этой окрестности итерационная последовательность, определенная по формуле (6) не выходит за пределы этой окрестности и справедлива оценка:

Сходимость метода Ньютона зависит от того, насколько близко к корню выбрано начальное приближение.

Выбор начального приближения. Пусть - отрезок, содержащий корень. Если в качестве начального приближения выбрать тот из концов отрезка, для которого , то итерации (6) сходятся, причем монотонно. Рис. 8 соответствует случаю, когда в качестве начального приближения был выбран правый конец отрезка: (Здесь ).

Погрешность метода. Оценка (7) неудобна для практического использования. На практике пользуются следующие оценки погрешности:

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

Пример . Вычислить методом Ньютона отрицательный корень уравнения с точностью до 0,0001. Проведя отделение корня, можно убедиться, что корень локализован на интервале . В этом интервале и . Так как и , то за начальное приближение можно принять .

-11 -5183 0,6662
-10,3336 307,3 4276,8 0,0718
-10,2618 3,496 4185,9 0,0008
-10,261 0,1477 - -

. Поэтому . Итак, в результате получаем следующее, и на , поэтому .

Так как , то