Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

Корень x, при котором f(x) = 0
0,73908513321516
Converged
Затрачено итераций 5
Невязка f(x) 0,000000000000003
Метод Метод Ньютона без производной (в стиле Стеффенсена)

Что делает этот калькулятор

Этот инструмент находит корень уравнения — такое значение x, при котором \(f(x) = 0\), — с помощью метода Ньютона без производной, также известного как итерация Стеффенсена. Классический метод Ньютона требует аналитической первой производной \(f'(x)\); в этом же варианте производная заменяется оценкой через конечную разность вперёд, которая строится исключительно из значений самой функции, так что вам не придётся ничего дифференцировать вручную. Это чисто математический инструмент, который работает с любой вещественной функцией одной переменной.

Как пользоваться

Введите свою функцию в поле f(x), используя переменную x. Допустимы операторы + - * / ^, скобки, константы pi и e, а также распространённые функции: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, ln, log, log10, sqrt, abs. Тригонометрические функции работают в радианах. Задайте x0 — начальное приближение (результат зависит от него), выберите максимальное число итераций n и считайте найденный корень, невязку \(f(x)\) и количество затраченных итераций.

Разбор формулы

Правило обновления выглядит так: $$x_{n+1} = x_n - \frac{f(x_n)^2}{f\!\left(x_n + f(x_n)\right) - f(x_n)}$$ Оно вытекает из стандартного шага Ньютона \(x_{n+1} = x_n - f(x_n)/f'(x_n)\), где производная \(f'(x_n)\) приближается конечной разностью вперёд с шагом \(h = f(x_n)\). Подставив эту оценку, мы получаем формулу выше. Вблизи простого корня метод сходится примерно квадратично, как и настоящий метод Ньютона, но использует только значения функции.

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

Разбор примера

Для \(f(x) = x - \cos(x)\) при \(x_0 = 1\): на первой итерации \(f(1) = 0{,}45970\), пробное значение \(f(1{,}45970) = 1{,}34861\), знаменатель \(0{,}88891\), поэтому $$x_1 = 1 - \frac{0{,}45970^2}{0{,}88891} = 0{,}76224$$ Итерация быстро выходит на \(x \approx 0{,}7390851332\) — то значение, при котором \(x = \cos(x)\) (так называемое число Дотти), при этом \(f(x) \approx 0\).

Блок-схема итерационного цикла поиска корня
Итерация повторяется, пока изменение x не станет крошечным или не будет достигнут предел итераций.

Частые вопросы

Почему метод может не сойтись? Неудачное начальное приближение может привести к расхождению или к попаданию на другой корень, а если знаменатель \(f(x+f(x)) - f(x)\) обращается в ноль, метод безопасно останавливается. Попробуйте другое значение x0.

Углы в градусах или радианах? В радианах — это стандартное математическое соглашение. При необходимости переводите через x*pi/180.

Нужна ли мне производная? Нет — в этом и весь смысл метода. Наклон оценивается только по значениям функции.

Последнее обновление: