Решение уравнений методом ньютона c

Решение уравнений методом касательных (алгоритм Ньютона) на C#

Решение уравнений методом ньютона c

Привет! Сегодня посмотрим, как приближённо решать уравнения с помощью метода касательных (алгоритма Ньютона).

И напишем программу на языке программирования C#.

Пусть дано нелинейное уравнение: f(x) = 0 (Если уравнение будет линейное, то невозможно будет провести касательную). Метод касательных поможет приближённо найти корень уравнения на отрезке [a, b], при условии, что функция непрерывна на замкнутом интервале [a, b], и корень на этом отрезке только один! А так же функция не меняет свою вогнутость или выпуклость (постоянный знак второй производной) и не имеет экстремумов (первая производная не равна нулю) на отрезке [a, b].

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

Решение уравнений методом ньютона c

Т.е. самая стандартная функция.

Графическая интерпретация метода Ньютона:

Решение уравнений методом ньютона c

От x0 узнаём значение функции. В этой точке проводим касательную. Касательная пересекает ось X, и мы получаем новую точку x1. И начинаем всё сначала. Числа x0, x1, x2 и т.д. приближаются к корню уравнения.

Выведем формулу для xn.

Приравняем к нулю (пересечение с осью X) и выразим x.

Погрешность данного метода ε > |xn+1 — xn|. Причём самая первая точка x0 не берётся во внимание при определении погрешности. Т.е. если |xn+1 — xn| меньше, чем заданное значение ε, то можно прекращать вычисления.

За саму первую точку x0 берут либо начало отрезка a, либо конец отрезка b. Это зависит от возрастания или убывания функции, а так же, в какую сторону выпукла функция.

Удобно пользоваться правилом:

Для примера, найдём положительный корень уравнения: x 2 = 2

Определим отрезок [1, 2], где будем искать корень.

Функция f(x) = x 2 — 2

f′′(x) = 2
f(2) = 4 — 2 = 2

Определим корень уравнения с точностью до ε=0.001 на языке программирования C#.

Т.к. x0 — не участвует при вычислении погрешности, то мы в начале до цикла while вычисляем xn и xn+1 (xnp1). Т.к. тип данных double, то чтобы возвести число в степень, используем специальную функцию Math.Pow(). В условии цикла while мы используем разницу без модуля, потому что мы идём от правого конца отрезка, и xn всегда больше, чем xnp1.

Решение уравнений методом ньютона c

Видео:Метод касательных (метод Ньютона)Скачать

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

Численные методы: решение нелинейных уравнений

Решение уравнений методом ньютона c

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

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

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

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

В простейшем случае у нас имеется функция Решение уравнений методом ньютона c, заданная на отрезке ( a , b ) и принимающая определенные значения.

Каждому значению x из этого отрезка мы можем сопоставить число Решение уравнений методом ньютона c, это и есть функциональная зависимость, ключевое понятие математики.

Нам нужно найти такое значение Решение уравнений методом ньютона cпри котором Решение уравнений методом ньютона cтакие Решение уравнений методом ньютона cназываются корнями функции Решение уравнений методом ньютона c

Визуально нам нужно определить точку пересечения графика функции Решение уравнений методом ньютона c с осью абсцисс.

Видео:МЗЭ 2021 Лекция 11 Метод Ньютона для решения систем нелинейных уравненийСкачать

МЗЭ 2021 Лекция 11 Метод Ньютона для решения систем нелинейных уравнений

Метод деления пополам

Простейшим методом нахождения корней уравнения Решение уравнений методом ньютона cявляется метод деления пополам или дихотомия.

Этот метод является интуитивно ясным и каждый действовал бы при решении задачи подобным образом.

Алгоритм состоит в следующем.

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

Поделим отрезок Решение уравнений методом ньютона cпополам и введем среднюю точку Решение уравнений методом ньютона c.

Тогда либо Решение уравнений методом ньютона c, либо Решение уравнений методом ньютона c.

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

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

Заметьте, описанный алгоритм применим для любой непрерывной функции.

К достоинствам метода деления пополам следует отнести его высокую надежность и простоту.

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

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

Видео:Метод Ньютона (метод касательных) Пример РешенияСкачать

Метод Ньютона (метод касательных) Пример Решения

Метод Ньютона: теоретические основы

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

Уравнение касательной к функции Решение уравнений методом ньютона cв точке Решение уравнений методом ньютона cимеет вид:

Решение уравнений методом ньютона c

В уравнении касательной положим Решение уравнений методом ньютона cи Решение уравнений методом ньютона c.

Тогда алгоритм последовательных вычислений в методе Ньютона состоит в следующем:

Решение уравнений методом ньютона c

Сходимость метода касательных квадратичная, порядок сходимости равен 2.

Таким образом, сходимость метода касательных Ньютона очень быстрая.

Запомните этот замечательный факт!

Без всяких изменений метод обобщается на комплексный случай.

Если корень Решение уравнений методом ньютона cявляется корнем второй кратности и выше, то порядок сходимости падает и становится линейным.

Упражнение 1. Найти с помощью метода касательных решение уравнения Решение уравнений методом ньютона cна отрезке (0, 2).

Упражнение 2. Найти с помощью метода касательных решение уравнения Решение уравнений методом ньютона cна отрезке (1, 3).

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

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

Видео:Метод Ньютона | Лучший момент из фильма Двадцать одно 21Скачать

Метод Ньютона | Лучший момент из фильма Двадцать одно  21

Визуализация метода Ньютона

Метод Ньютона (метод касательных) применяется в том случае, если уравнение f(x) = 0 имеет корень Решение уравнений методом ньютона c, и выполняются условия:

1) функция y= f(x) определена и непрерывна при Решение уравнений методом ньютона c;

2) f(af(b) 0. Таким образом, выбирается точка с абсциссой x0, в которой касательная к кривой y=f(x) на отрезке [a;b] пересекает ось Ox. За точку x0 сначала удобно выбирать один из концов отрезка.

Рассмотрим метод Ньютона на конкретном примере.

Пусть нам дана возрастающая функция y = f(x) =x 2 -2, непрерывная на отрезке (0;2), и имеющая f ‘(x) = 2x > 0 и f »(x) = 2 > 0.

Решение уравнений методом ньютона c

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

В нашем случае: y-y0=2x0·(x-x0). В качестве точки x0 выбираем точку B1(b; f(b)) = (2,2). Проводим касательную к функции y = f(x) в точке B1, и обозначаем точку пересечения касательной и оси Ox точкой x1. Получаем уравнение первой касательной:y-2=2·2(x-2), y=4x-6.

Точка пересечения касательной и оси Ox: x1 = Решение уравнений методом ньютона c

Решение уравнений методом ньютона c

Рисунок 2. Результат первой итерации

Затем находим точку пересечения функции y=f(x) и перпендикуляра, проведенного к оси Ox через точку x1, получаем точку В2 =(1.5; 0.25). Снова проводим касательную к функции y = f(x) в точке В2, и обозначаем точку пересечения касательной и оси Ox точкой x2.

Точка пересечения касательной и оси Ox: x2 = Решение уравнений методом ньютона c.

Решение уравнений методом ньютона c

Рисунок 3. Вторая итерация метода Ньютона

Затем находим точку пересечения функции y=f(x) и перпендикуляра, проведенного к оси Ox через точку x2, получаем точку В3 и так далее.

В3 = (Решение уравнений методом ньютона c)

Решение уравнений методом ньютона c

Рисунок 4. Третий шаг метода касательных

Первое приближение корня определяется по формуле:

Решение уравнений методом ньютона c= 1.5.

Второе приближение корня определяется по формуле:

Решение уравнений методом ньютона c= Решение уравнений методом ньютона c

Третье приближение корня определяется по формуле:

Решение уравнений методом ньютона c Решение уравнений методом ньютона c

Таким образом, i-ое приближение корня определяется по формуле:

Решение уравнений методом ньютона c

Вычисления ведутся до тех пор, пока не будет достигнуто совпадение десятичных знаков, которые необходимы в ответе, или заданной точности e — до выполнения неравенства |xixi-1|

using namespace std;

float f(double x) //возвращает значение функции f(x) = x^2-2

float df(float x) //возвращает значение производной

float d2f(float x) // значение второй производной

int _tmain(int argc, _TCHAR* argv[])

int exit = 0, i=0;//переменные для выхода и цикла

double x0,xn;// вычисляемые приближения для корня

double a, b, eps;// границы отрезка и необходимая точность

cin>>a>>b; // вводим границы отрезка, на котором будем искать корень

cin>>eps; // вводим нужную точность вычислений

if (a > b) // если пользователь перепутал границы отрезка, меняем их местами

if (f(a)*f(b)>0) // если знаки функции на краях отрезка одинаковые, то здесь нет корня

cout 0) x0 = a; // для выбора начальной точки проверяем f(x0)*d2f(x0)>0 ?

xn = x0-f(x0)/df(x0); // считаем первое приближение

cout eps) // пока не достигнем необходимой точности, будет продолжать вычислять

xn = x0-f(x0)/df(x0); // непосредственно формула Ньютона

> while (exit!=1); // пока пользователь не ввел exit = 1

Посмотрим, как это работает. Нажмем на зеленый треугольник в верхнем левом углу экрана, или же клавишу F5.

Если происходит ошибка компиляции «Ошибка error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден», то это лечится либо установкой первого Service pack 1, либо в настройках проекта Свойства -> Компоновщик отключаем инкрементную компоновку.

Решение уравнений методом ньютона c

Рис. 4. Решение ошибки компиляции проекта

Мы будем искать корни у функции f(x) = x2-2.

Сначала проверим работу приложения на «неправильных» входных данных. На отрезке [3; 5] нет корней, наша программа должна выдать сообщение об ошибке.

У нас появилось окно приложения:

Решение уравнений методом ньютона c

Рис. 5. Ввод входных данных

Введем границы отрезка 3 и 5, и точность 0.05. Программа, как и надо, выдала сообщение об ошибке, что на данном отрезке корней нет.

Решение уравнений методом ньютона c

Рис. 6. Ошибка «На этом отрезке корней нет!»

Выходить мы пока не собираемся, так что на сообщение «Exit?» вводим «0».

Теперь проверим работу приложения на корректных входных данных. Введем отрезок [0; 2] и точность 0.0001.

Решение уравнений методом ньютона c

Рис. 7. Вычисление корня с необходимой точностью

Как мы видим, необходимая точность была достигнута уже на 4-ой итерации.

Чтобы выйти из приложения, введем «Exit?» => 1.

Видео:10 Метод Ньютона (Метод касательных) C++ Численные методы решения нелинейного уравненияСкачать

10 Метод Ньютона (Метод касательных) C++ Численные методы решения нелинейного уравнения

Метод секущих

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

Решение уравнений методом ньютона c/Решение уравнений методом ньютона c

Итерационный процесс имеет вид:

Решение уравнений методом ньютона c

где Решение уравнений методом ньютона c.

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

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

Эта замечательная величина называется золотым сечением:

Решение уравнений методом ньютона c

Убедимся в этом, считая для удобства, что Решение уравнений методом ньютона c.

Решение уравнений методом ньютона c

Решение уравнений методом ньютона c

Таким образом, с точностью до бесконечно малых более высокого порядка

Решение уравнений методом ньютона c

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

После подстановки имеем: Решение уравнений методом ньютона cи Решение уравнений методом ньютона c

Для сходимости необходимо, чтобы Решение уравнений методом ньютона cбыло положительным, поэтому Решение уравнений методом ньютона c.

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

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

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

Такая процедура определения момента окончания итераций называется приемом Гарвика.

Видео:Метод касательных (алгоритм Ньютона) на C#Скачать

Метод касательных (алгоритм Ньютона) на C#

Метод парабол

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

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

В форме Ньютона она имеет вид:

Решение уравнений методом ньютона c

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

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

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

Этот метод очень удобен для поиска корней многочленов высокой степени.

Видео:15 Метод Ньютона (Метод касательных) Ручной счет Численные методы решения нелинейного уравненияСкачать

15 Метод Ньютона (Метод касательных) Ручной счет Численные методы решения нелинейного уравнения

Метод простых итераций

Задачу нахождения решений уравнений можно формулировать как задачу нахождения корней: Решение уравнений методом ньютона c, или как задачу нахождения неподвижной точкиРешение уравнений методом ньютона c.

Пусть Решение уравнений методом ньютона cи Решение уравнений методом ньютона c— сжатие: Решение уравнений методом ньютона c(в частности, тот факт, что Решение уравнений методом ньютона c— сжатие, как легко видеть, означает, чтоРешение уравнений методом ньютона c).

По теореме Банаха существует и единственна неподвижная точка Решение уравнений методом ньютона c

Она может быть найдена как предел простой итерационной процедуры

Решение уравнений методом ньютона c

где начальное приближение Решение уравнений методом ньютона c— произвольная точка промежутка Решение уравнений методом ньютона c.

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

Решение уравнений методом ньютона c

Таким образом, если производная меньше единицы, то Решение уравнений методом ньютона cявляется сжатием.

Условие Решение уравнений методом ньютона cсущественно, ибо если, например, Решение уравнений методом ньютона cна [0,1] , то неподвижная точка отсутствует, хотя производная равна нулю. Скорость сходимости зависит от величины Решение уравнений методом ньютона c. Чем меньше Решение уравнений методом ньютона c, тем быстрее сходимость.

Рассмотрим уравнение: Решение уравнений методом ньютона c.

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

Однако можно в качестве Решение уравнений методом ньютона cможно взять, например, функцию Решение уравнений методом ньютона c. Соответствующая итерационная процедура имеет вид: Решение уравнений методом ньютона c.

Эти итерации сходятся к неподвижной точке для любого начального приближения Решение уравнений методом ньютона c:

Решение уравнений методом ньютона c

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

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

Решение уравнений методом ньютона c

Решение уравнений методом ньютона c

т.е. такой итерационный процесс всегда сходится.

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

Здесь Решение уравнений методом ньютона cнетрудно убедиться, что при Решение уравнений методом ньютона cсуществует окрестность корня, в которой Решение уравнений методом ньютона c.

Решение уравнений методом ньютона c

то если Решение уравнений методом ньютона cкорень кратности Решение уравнений методом ньютона c, то в его окрестности Решение уравнений методом ньютона cи, следовательно,Решение уравнений методом ньютона c.

Если Решение уравнений методом ньютона c— простой корень, то сходимость метода касательных квадратичная (то есть порядок сходимости равен 2).

Поскольку Решение уравнений методом ньютона c, то

Решение уравнений методом ньютона c

Решение уравнений методом ньютона c

Решение уравнений методом ньютона c

Таким образом, сходимость метода Ньютона очень быстрая.

Видео:Алгоритмы С#. Метод Ньютона для решения систем уравненийСкачать

Алгоритмы С#. Метод Ньютона для решения систем уравнений

Нахождение всех корней уравнения

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

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

Для поиска других корней используется метод удаления корней.

Пусть Решение уравнений методом ньютона c— корень функции Решение уравнений методом ньютона c, рассмотрим функциюРешение уравнений методом ньютона c. Точка Решение уравнений методом ньютона cбудет являться корнем функции Решение уравнений методом ньютона cна единицу меньшей кратности, чемРешение уравнений методом ньютона c, при этом все остальные корни у функций Решение уравнений методом ньютона cи Решение уравнений методом ньютона cсовпадают с учетом кратности.

Применяя тот или иной метод нахождения корней к функции Решение уравнений методом ньютона c, мы найдем новый корень Решение уравнений методом ньютона c(который может в случае кратных корней и совпадать с Решение уравнений методом ньютона c). Далее можно рассмотреть функцию Решение уравнений методом ньютона cи искать корни у неё.

Повторяя указанную процедуру, можно найти все корни Решение уравнений методом ньютона cс учетом кратности.

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

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

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

Видео:Методы решения систем нелинейных уравнений. Метод Ньютона. Численные методы. Лекция 14Скачать

Методы решения систем нелинейных уравнений. Метод Ньютона. Численные методы. Лекция 14

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

Единственные требования, накладываемые на функцию $f$ — что у неё есть хотя бы один корень и что она непрерывна и дифференцируема на интервале поиска.

Видео:Численное решение уравнений, урок 4/5. Метод касательных (Ньютона)Скачать

Численное решение уравнений, урок 4/5. Метод касательных (Ньютона)

#Описание алгоритма

Алгоритм начинает с какого-то изначального приближения $x_0$ и затем итеративно строит лучшее решение, строя касательную к графику в точке $x = x_i$ и присваивая в качестве следующего приближения $x_$ координату пересечения касательной с осью $x$. Интуиция в том, что если функция $f$ «хорошая», и $x_i$ уже достаточно близок к корню, то $x_$ будет ещё ближе.

Чтобы получить точку пересечения для $x_i$, нужно приравнять уравнение касательной к нулю:

$$ 0 = f(x_i) + (x_ — x_i) f'(x_i) $$ откуда можно выразить $$ x_ = x_i — frac $$

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

Видео:МЗЭ 2021 Лекция 9 Метод Ньютона для решения нелинейных уравненийСкачать

МЗЭ 2021 Лекция 9 Метод Ньютона для решения нелинейных уравнений

#Поиск квадратных корней

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

$$ x = sqrt n iff x^2 = n iff f(x) = x^2 — n = 0 $$ Если в методе Ньютона подставим $f(x) = x^2 — n$, мы получим следующее правило: $$ x_ = x_i — frac = frac $$

Если нам нужно посчитать корень с некоторой заданной точностью $epsilon$, можно на каждой итерации делать соответствующую проверку:

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

#Скорость сходимости

Запустим метод Ньютона для поиска квадратного корня $2$, начиная с $x_0 = 1$, и посмотрим, сколько первых цифр оказались правильными после каждой итерации:

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

Чтобы оценить скорость сходимости численно, рассмотрим небольшую относительную ошибку $delta_i$ на $i$-ой итерации и посмотрим, насколько меньше станет ошибка $delta_$ на следующей итерации.

$$ |delta_i| = frac $$ В терминах относительных ошибок, мы можем выразить $x_i$ как $x cdot (1 + delta_i)$. Подставляя это выражение в формулу для следующей итерации и деля обе стороны на $x$ получаем $$ 1 + delta_ = frac (1 + delta_i + frac) = frac (1 + delta_i + 1 — delta_i + delta_i^2 + o(delta_i^2)) = 1 + frac + o(delta_i^2) $$

Здесь мы разложили $(1 + delta_i)^$ в ряд Тейлора в точке $0$, используя предположение что ошибка $d_i$ мала: так как последовательность $x_i$ сходится к $x$, то $d_i ll 1$ для достаточно больших $n$.

Наконец, выражая $delta_$, получаем

что означает, что относительная ошибка примерно возводится в квадрат и делится пополам на каждой итерации, когда мы уже близки к решению. Так как логарифм $(- log_ delta_i)$ примерно равен числу правильных значимых цифр числа $x_i$, возведение ошибки в квадрат соответствует удвоению значимых цифр ответа, что мы и наблюдали ранее.

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

$$ |delta_| = frac cdot delta_i^2 $$ что означает хотя бы квадратичную сходимость при нескольких дополнительных предположениях, а именно что $f'(x)$ не равна нулю и $f»(x)$ непрерывна.

💥 Видео

Метод Ньютона (Метод касательных)Скачать

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

Метод Ньютона (касательных) и хорд Численное решение уравнения c++Скачать

Метод Ньютона (касательных) и хорд  Численное решение уравнения c++

Метод Ньютона (касательных) Ручной счет Численные методы решения нелинейного уравненияСкачать

Метод Ньютона (касательных) Ручной счет Численные методы решения нелинейного уравнения

Решение нелинейного уравнения методом Ньютона (касательных) (программа)Скачать

Решение нелинейного уравнения методом Ньютона (касательных) (программа)

11 Метод Ньютона (Метод касательных) Mathcad Численные методы решения нелинейного уравненияСкачать

11 Метод Ньютона (Метод касательных) Mathcad Численные методы решения нелинейного уравнения

Методы численного анализа - Метод Ньютона, секущих для решения систем нелинейных уравненийСкачать

Методы численного анализа - Метод Ньютона, секущих для решения систем нелинейных уравнений

10 Численные методы решения нелинейных уравненийСкачать

10 Численные методы решения нелинейных уравнений

4.2 Решение систем нелинейных уравнений. МетодыСкачать

4.2 Решение систем нелинейных уравнений. Методы

Численные методы решения нелинейного уравнени Теория Шаговый Метод половинного деления Метод НьютонаСкачать

Численные методы решения нелинейного уравнени Теория Шаговый Метод половинного деления Метод Ньютона
Поделиться или сохранить к себе: