Сегодня удалось найти на "
Численные методы решения нелинейных уравнений"
prog-cpp.ru/digital-find , где умненькая дева напомнила: "
Метод Ньютона (метод касательных) - Если известно начальное приближение x0 корня уравнения f(X) = 0, то последовательные приближения находят по формуле:
Xi = Xi-1 - f(Xi-1) / f'(Xi-1) , где f'(X) - производная функции f(X) .
На https://ru.wikipedia.org/wiki/Метод_простой_итерации полагают, что метод Ньютона … "
является быстрым, но требует вычисления производной".
Наша степенная функция f(U) = i(U) - 11 = a·U + b·U
2 + c·U
3 + d·U
4 + e·U
5 - 11 имеет очень простую производную :
f'(U) = a + 2·b·U + 3·c·U
2 + 4·d·U
3 + 5·e·U
4 , и поэтому идеально подходит под итерации методом Ньютона.
Я подправил свой скрипт (прилагаю), и теперь всего 4 итерации (вместо 3200 !) понадобилось для достижения в 100 раз лучшей точности!
Старик Ньютон 300 лет назад придумал восхитительный метод, а мы пользуем тупые тыки на супер-мощных компьютерах…