- 1 курс
- 2 курс
- 3 курс
- 4 курс
- 5 курс
- 6 курс
Old
Old
This is an old revision of the document!
Сформировать представление о методах решения нелинейных уравнений и систем нелинейных уравнений, выработать умение составлять и применять алгоритмы для решения уравнений и систем уравнений, привить навык использования программных средств для решения нелинейных уравнений и систем нелинейных уравнений.
Численное решение нелинейных (алгебраических или трансцендентных) уравнений вида \[ f(x) = 0\] заключается в нахождении значений $ x $, удовлетворяющих (с заданной точностью) данному уравнению и состоит из следующих основных этапов:
Целью первого этапа является нахождение отрезков из области определения функции $ f(x) $, внутри которых содержится только один корень решаемого уравнения. Иногда ограничиваются рассмотрением лишь какой-нибудь части области определения, вызывающей по тем или иным соображениям интерес. Для реализации данного этапа используются графические или аналитические способы.
При аналитическом способе отделения корней полезна следующая теорема.
Теорема. Непрерывная строго монотонная функция $ f(x) $ имеет и притом единственный нуль на отрезке $ [a, b] $ тогда и только тогда, когда на его концах она принимает значения разных знаков.
Достаточным признаком монотонности функции $ f(x) $ на отрезке $ [a, b] $ является сохранение знака производной функции.
Графический способ отделения корней целесообразно использовать в том случае, когда имеется возможность построения графика функции $ y = f(x) $. Наличие графика исходной функции дает непосредственное представление о количестве и расположении нулей функции, что позволяет определить промежутки, внутри которых содержится только один корень. Если построение графика функции $ y = f(x) $ вызывает затруднение, часто оказывается удобным преобразовать уравнение $ f(x) = 0 $ к эквивалентному виду $ f_1(x) = f_2(x) $ и построить графики функций $ y = f_1(x) $ и $ y = f_2(x) $. Абсциссы точек пересечения этих графиков будут соответствовать значениям корней решаемого уравнения.
Так или иначе, при завершении первого этапа, должны быть определены промежутки, на каждом из которых содержится только один корень уравнения.
Для уточнения корня с требуемой точностью применяются различные итерационные методы, заключающийеся в построении числовой последовательности $ x^{(k)} $ ($ k = 0, 1, 2, \dots $), сходящейся к искомому корню $ x^{(*)} $ уравнения $ f(x) = 0$.
Систему нелинейных уравнений с n неизвестными можно записать в виде \[ \left\{ \begin{aligned} &f_1(x_1, x_2, \dots, x_n) = 0 \\ &f_2(x_1, x_2, \dots, x_n) = 0 \\ &\dots\dots\dots\dots\dots\dots\dots \\ &f_n(x_1, x_2, \dots, x_n) = 0 \\ \end{aligned} \right. \] или, более коротко, в векторной форме \[ F(X) = 0, \] где $ X = (x_1, x_2, \dots, x_n)^T $ – вектор неизвестных, $ F = (f_1, f_2, \dots, f_n)^T $ – вектор-функция.
В редких случаях для решения такой системы удается применить метод последовательного исключения неизвестных и свести решение исходной задачи к решению одного нелинейного уравнения с одним неизвестным. Значения других неизвестных величин находятся соответствующей подстановкой в конкретные выражения. Однако в подавляющем большинстве случаев для решения систем нелинейных уравнений используются итерационные методы.
В дальнейшем предполагается, что ищется изолированное решение нелинейной системы.
Как и в случае одного нелинейного уравнения, локализация решения может осуществляться на основе специфической информации по конкретной решаемой задаче (например, по физическим соображениям), и – с помощью методов математического анализа. При решении системы двух уравнений, достаточно часто удобным является графический способ, когда месторасположение корней определяется как точки пересечения кривых $ f_1(x_1, x_2) = 0 $, $ f_2(x_1, x_2) = 0 $ на плоскости $ (x_1, x_2) $.
Численно решить уравнение и систему уравнений методами Ньютона и простых итераций с заданной точностью $ \varepsilon $. Значение $ \varepsilon $ варьируется от 0.1 до 0.000001.
newton()
для вычисления корня уравнения методом Ньютона с заданной точностью $ \varepsilon $.phi()
для функции $ \varphi(x) $, удовлетворяющей сходимости.siter()
для вычисления корня уравнения методом простых итераций с заданной точностью $ \varepsilon $.newts()
для вычисления решений системы уравнений методом Ньютона с заданной точностью $ \varepsilon $.Phi()
для функции $ \Phi(X) $, удовлетворяющей сходимости.siters()
для вычисления решения системы уравнений методом простых итераций с заданной точностью $ \varepsilon $.- Провести вычисления по программе для каждого корня. Заполнить табл. 4 при указанных значениях $ \varepsilon $. Сделать выводы.
Значение $ \varepsilon $ | Значение $ x_1 $ | Значение $ x_2 $ | Число итераций $ k $ |
---|---|---|---|
0.1 | |||
… |
Значение $ k $ | Значение $ x^{(k)} $ | Значение $ f(x^{(k)}) $ | Значение $ f'(x^{(k)}) $ | Значение $ -f(x^{(k)})/f'(x^{(k)}) $ |
---|---|---|---|---|
0 | ||||
… |
Значение $ k $ | Значение $ x^{(k)} $ | Значение $ \varphi(x^{(k)}) $ |
---|---|---|
0 | ||
… |
Значение $ \varepsilon $ | Значение $ \vec r_1 = (x_1, y_1) $ | Значение $ \vec r_2 = (x_2, y_2) $ | Число итераций $ k $ |
---|---|---|---|
0.1 | |||
… |
Значение $ k $ | Значение $ \vec r^{(k)} $ | Значение $ f_1(\vec r^{(k)}) $ | Значение $ f_2(\vec r^{(k)}) $ | Значение $ -J^{-1}(\vec r^{(k)}) \cdot F(\vec r^{(k)}) $ |
---|---|---|---|---|
0 | ||||
… |
Значение $ k $ | Значение $ \vec r^{(k)} $ | Значение $ \Phi(\vec r^{(k)}) $ |
---|---|---|
0 | ||
… |