Цель лекции: Рассмотреть базовые методы нахождения
приближенных решений нелинейных
Решение нелинейных уравнений является одной из самых распространенных задач математики. В лекции, посвященной особенностям вычислительных процедур, мы рассматривали простейший метод решения скалярного уравнения для вычисления корня квадратного из $$2$$. Этот метод - половинного деления имеет много достоинств. Главным достоинством этого метода является то, что для приближенных решений автоматически получается оценка точности. Второе достоинство данного метода состоит в том, что этот метод легко реализуем. Однако у этого метода есть и недостатки. Для реализации этого метода мы должны знать отрезок, на концах которого функция принимает значения разного знака. А также этот метод является сугубо скалярным и не может быть обобщен на многомерный случай.
Сначала рассмотрим задачу о нахождении корня одного уравнения$$f(x)=0.$$ Если предположить, что функция $$f(x)$$ является дифференцируемой, и ее производная есть непрерывная функция $$f'(x)$$, то находить приближенные решения возможно с помощью метода Ньютона. Формулы метода Ньютона получаются из следующих соображений. Пусть $$x^*$$ - корень функции $$f$$, а $$x_n$$ некоторое приближение к этому корню. Тогда имеем$$f(x^*)=f(x_n+(x^*-x_n))=f(x_n)+(x^*-x_n)f'(\xi)=0.$$ Если вместо неизвестной точки $$\xi$$ взять значение $$x_n$$, то следующее приближение можно вычислять по формулам$$x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}.$$ Можно показать, что если начальное приближение $$x_0$$ $ достаточно близко к искомому корню, то итерации, вычисленные по методу Ньютона сходятся к этому корню. К сожалению, это условие носит скорее теоретический характер, поскольку не понятно, что значит "достоаточно близко" и как это условие проверить. Другим достаточным условием сходимости метода Ньютона является условие$$|f(x)f'(x)|<(f'(x))^2.$$ Также из геометрических соображений можно получить, что итерации сходятся к корню с той стороны, с которой выполнено условие$$f(x)f''(x)\ge0,$$ если функция $$f$$ дважды дифференцируема.
Метод Ньютона сходится достаточно быстро, однако у него есть недостатки, состоящие в том, что факт сходимости метода и его скорость сходимости зависят от начального приближения. Вторым серьезным недостатком этого метода является то, что для его реализации нужно знать аналитическое значение производной.
Для устранения последнего недостатка был разработан метод
секущих, который иногда называется
Реализуем класс для вычислений по методу секущих.$$\begin{verbatim}
class TSolve
{
int Max_Iter;
double Eps;
TRFunc f;
public TSolve(int Max_Iter, double Eps, TRFunc f)
{
this.Max_Iter = Max_Iter;
this.Eps = Eps;
this.f = f;
}
public double Solve(double x0, double x1)
{
double xn1 = 0;
double xn = x1;
double xn_1 = x0;
for (int n = 2; n <= Max_Iter; n++)
{
if (Math.Abs(f.CalcY(xn) - f.CalcY(xn_1)) < Eps)
{
break;
}
xn1 = xn - ((xn - xn_1) * f.CalcY(xn)) /
(f.CalcY(xn) - f.CalcY(xn_1));
Console.WriteLine("x_{0} = {1}", n, xn1);
xn_1 = xn;
xn = xn1;
}
return xn1;
}
}
\end{verbatim}$$
В этом классе мы используем класс $$TRFunc$$, реализующий числовые
функции. Для начала вычислений необходимо задать два значения $$x_0$$ и $$x_1$$. При инициализации класса следует определить два
параметра - максимальное количество итераций $$Max\_Iter$$ и
минимальную
Рассмотрим теперь вопрос о решении системы трансцендентных уравнений. Пусть необходимо решить следующую систему уравнений$$f_k(x_1,x_2,\dots,x_n)=0,\quad 1\le k\le n.$$ Как правило такие системы решают методом простых итераций. Для этого необходимо систему 13.1 записать в виде$$x_k=\varphi_k(x_1,x_2,\dots,x_n),\quad 1\le k\le n.$$ Или в векторной форме$$x=\varphi(x),$$ где $\varphi:\Bbb{R}^n\to\Bbb{R}^n$. Вместо нахождение корня системы 13.1 мы пришли к задаче нахождения неподвижной точки.
Метод простых итераций выглядит довольно просто. Необходимо задать начальное приближение $$x^0$$, а дальнейшие вычисления проводить по схеме$$x^{n+1}=\varphi(x^n).$$ Однако успех этого метода зависит от свойств функции $$\varphi$$ и начального приближения. Приведем одно достаточное условие сходимости метода простых итераций для случая, когда функции $$\varphi_k$$ являются непрерывно дифференцируемыми. Построим матрицу $$M$$ с элементами $$m_{ij}$$, определяемыми по формулам$$m_{ij}=\max\left|\frac{\partial \varphi_i}{\partial x_j}\right|.$$ Достаточным условием сжимаемости отображения $\varphi$ является условие$$\|M\|<1$$ в какой-либо матричной норме. В различных (но эквивалентных) нормах это условие выглядит так$$\sum\limits_{j=1}^nm_{ij}<1$$ или$$\sum\limits_{i=1}^nm_{ij}<1$$ или $$\sum\limits_{i,j=1}^nm^2_{ij}<1$$.
Ключевые термины
Корень функции - точка, в которой функция принимает нулевое значение.
Метод Ньютона - основной итерационный метод для нахождения
приближенного решения
Начальное приближение - начальное значение последовательности, которая рассчитывается с помощью рекуррентной процедуры.
Метод секущих - двухшаговый итерационный метод решения нелинейных уравнений без необходимости вычислять производную.
Краткие итоги: Рассмотрены численные методы нахождения
приближенных корней
Аппробировать базовые численные методы для решения систем линейных
алгебраических уравнений и нелинейных
Как мы уже отмечали на лекциях, важнейшим понятием для решения
Рассмотрим матрицу$$A=\left(% \begin{array}{cc} 1 1/2 \\ 1/2 2 \\ \end{array}% \right)$$ Эта матрица является симметричной положительно определенной матрицей. Вековое уравнение для этой матрицы имеет вид$$\det(A-\lambda I)=\lambda^2-3\lambda+\frac{7}{4}=0.$$ Вычисляя собственные функции этой матрицы, мы имеем $$\lambda_{min}=\frac{3-\sqrt{2}}{2}$$, $$\lambda_{max}=\frac{3+\sqrt{2}}{2}$$. Число обусловленности этой матрицы равно$$\mu(A)=\frac{3+\sqrt{2}}{3-\sqrt{2}}=2.7836114...$$
Рассмотрим применение метода Холецкого для этой матрицы. Напомним, что метод Холецкого позволяет найти такую матрицу $$L$$, которая имеет вид$$L=\left(% \begin{array}{cc} l_{11} 0 \\ l_{21} l_{22} \\ \end{array} \right)$$ и для которой выполнено равенство$$A=LL^T.$$ Согласно методу Холецкого коэффициенты $$l_{ij}$$ находятся следующим образом$$l_{11}=\sqrt{a_{11}}=1,$$ $$l_{21}=\frac{a_{21}}{l_{11}}=\frac{1}{2},$$ $$l_{22}=\sqrt{a_{22}-l_{21}^2}=\sqrt{2-\frac{1}{4}}=\frac{\sqrt{7}}{2}.$$ Таким образом мы имеем матрицу$$L=\left(% \begin{array}{cc} 1 0 \\ 1/2 \sqrt{7}/2 \\ \end{array}% \right)$$
Теперь рассмотрим практические вопросы реализации метода Ньютона
для нахождения решений
Аппробировать базовые численные методы для решения систем линейных
алгебраических уравнений и нелинейных
Метод Холецкого позволяет найти такую матрицу $$L$$, которая имеет вид$$A=LL^T,$$ где $$L$$ - нижняя треугольная матрица$$L=\left(% \begin{array}{cccc} l_{11} 0 \dots 0 \\ l_{21} l_{22} \dots 0 \\ \dots \dots \dots \dots \\ l_{n1} l_{n2} \dots l_{nn} \\ \end{array}% \right)$$ Если мы построим разложение $$A=LL^T$$, то уравнение$$Ax=f$$ может быть заменено двумя уравнениями, которые можно последовательно решить$$Ly=b,\quad L^Tx=y.$$
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.