Как вычислить корень n-ой степени? Подскажите как вычислить корень n-ой степени с точностью EPS с использованием итерационной формулы Ньютона и количество итераций, за которое достигается эта точность.

21 Авг 2019 в 06:07
214 +1
0
Ответы
1

Для вычисления корня n-ой степени с точностью EPS можно использовать итерационную формулу Ньютона. Эта формула имеет вид:

x_{k+1} = x_k - (x_k^n - a) / (n * x_k^(n-1))

Где a - число, из которого нужно извлечь корень, x0 - начальное приближение, x{k+1} - следующее приближение, k - номер итерации.

Итерационная формула Ньютона сходится к корню с кубической скоростью, что означает, что с каждой итерацией число верных цифр увеличивается примерно в три раза. Таким образом, для достижения точности EPS необходимо выполнить примерно log(1/EPS) итераций.

Пример реализации на Python:

def nth_root(a, n, x0, eps):
xk = x0
k = 0
while abs(xk**n - a) > eps:
xk = xk - (xk**n - a) / (n * xk**(n-1))
k += 1
return xk, k
a = 64 # число из которого нужно извлечь корень
n = 3 # корень n-ой степени
x0 = 3 # начальное приближение
eps = 1e-5 # точность
result, iterations = nth_root(a, n, x0, eps)
print(f"Корень {n}-ой степени из {a} с точностью {eps} равен {result} достигнут за {iterations} итераций")

Замените значения переменных согласно вашей задаче.

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир