Квадратный корень через многократное уточнение
Вычисление квадратного корня многократно усредняет приближение с частным от деления целевого числа на это приближение.
Как одно локальное правило улучшения создает все более точный численный процесс?
- Чтение guess как полного состояния одной итерации
- Применение улучшения квадратного корня методом Ньютона
- Сравнение приближенного значения с его квадратом
- Исследование шагов сходимости для одного фиксированного наблюдаемого запуска
Если guess слишком велико, то x, деленное на guess, слишком мало, и наоборот. Усреднение этих двух значений дает следующее guess между ними. Процесс переносит только это новое guess в следующий вызов.
Эти программы используют фиксированное число уточнений вместо скрытой погрешности. Шесть шагов от 1.0 дают детерминированное наблюдение для √2, а явная история показывает, как изменение между приближениями быстро уменьшается.
- Вывод
- —
- Значение
- —
- Диагностика
- —
Первая программа возвращает (1.414213562373095 1.9999999999999996). Вторая программа фиксирует пять значений guess от 1.0 до 1.4142135623746899.
Проследите за каждым вызовом refine и найдите частное, среднее и обновление оставшегося числа шагов. Фиксированное число шагов записывает каждый шаг для выбранных начального значения guess и цели.
Измените программу и сравните результат.
Измените целевое значение на 9.0 и сохраните шесть уточнений от 1.0. Предскажите приближение и его квадрат перед запуском.
Показать подсказку
Примените то же усреднение guess и x, деленного на guess. Меняется только цель.