Корень n-ой степени

В разделе 1.3.3 мы видели, что попытка вычисления квадратных корней путем наивного поиска неподвижной точки y → x/y не сходится, и что это можно исправить путем торможения усреднением. Тот же самый метод работает для нахождения кубического корня как неподвижной точки y → x/y² , заторможенной усреднением. К сожалению, этот процесс не работает для корней четвертой степени — однажды примененного торможения усреднением недостаточно, чтобы заставить сходиться процесс поиска неподвижной точки y → x/y³ . С другой стороны, если мы применим торможение усреднением дважды (т.е. применим торможение усреднением к результату торможения усреднением от y → x/y³ ), то поиск неподвижной точки начнет сходиться. Проделайте эксперименты, чтобы понять, сколько торможений усреднением нужно, чтобы вычислить корень n -ой степени как неподвижную точку на основе многократного торможения усреднением функции y → x/yⁿ⁻¹ . Используя свои результаты для того, напишите простую процедуру вычисления корней n -ой степени с помощью процедур fixed-point , average-damp и repeated из упражнения 1.43 . Считайте, что все арифметические операции, какие Вам понадобятся, присутствуют в языке как примитивы.


    # Maksimov Gleb
    2 недели назад
    Честно говоря, не совсем понимаю результаты экспериментов. Пробывал изменять значение лямбды (количество нулей после запятой), менял количество усреднений, менял входные данные (корень n степени и само значение x). КАКИЕ-ТО ВЫВОДЫ При увеличении количеств усреднений, вроде как разходится алгоритм или вычисляет очень долго, что немогу дождаться. (скорее расходится) При увеличении лямбда и входных данных, увиличивается время, что логично.
Необходима авторизация

Вы должны авторизоваться для создания комментария.

Вход