Почему вы иногда становитесь все более и более возмутительными после неоднократного «улучшения своих ответов»?
Не все повторные расчеты будут близки к ответу; для одного и того же вопроса метод перезаписи и отправная точка будут влиять на результат.
Общие алгоритмы и численные вычисления
Вы пересматриваете свое предположение снова и снова, надеясь, что ошибка будет становиться все меньше и меньше. Но то же самое уравнение пятого порядка в книге может перейти от устойчивой сходимости к постоянному биению, просто изменив способ написания. Поместите их на одну картинку и посмотрите, когда «итерация» потребует смены инструментов.
Угадай сначала
Если то же уравнение переписать эквивалентным образом, дадут ли итерации точно такую же производительность сходимости?
Показать ответ и объяснение
неопределенный — Эквивалентные уравнения имеют одни и те же корни, но устойчивость правил обновления может быть совершенно разной.
Тогда соедините опыт и науку
Давайте сначала посмотрим на «Как меняться каждый раз»
Одно и то же уравнение можно переписать в разные правила обновления. Проверяйте каждое правило, вместо того чтобы надеяться, что оно сойдется, когда вы увидите, что оно повторяется.
xnew = г(xold)
Посмотрите на остатки, а не просто посмотрите, похожи ли числа на
Остаток f(x) показывает, насколько далеко находится вариант ответа. Отдельно следует отметить сходимость, исчерпание шагов и численный разгон.
Остаток |f(x)| и толерантность к шагу
Ньютон использует касательные, чтобы предсказать следующий шаг.
Пересечение касательной и горизонтальной оси дает новое предположение. Этот прогноз также может не сработать, если касательная линия слишком плоская или начальная точка не подходит.
xnew = xold − f(xold)/f′(xold)
Две точки охраняют интервал с корнями
Известно, что два конца непрерывной функции имеют разные знаки и интервал каждый раз уменьшается вдвое. Это может быть медленнее, но граница ошибки очевидна на каждом этапе.
Ширина интервала n-го шага = исходная ширина / 2ⁿ
Развёрнутые вычисления
xₙ₊₁ = g(xₙ) xₙ₊₁ = xₙ − f(xₙ)/f′(xₙ) m = (a+b)/2 二分nколесо后的宽Тратить = (b₀−a₀)/2ⁿ
Соответствует фиксированной точке, Ньютону и биссектрисе соответственно. Метод Ньютона требует, чтобы производная была доступна и была ненулевой; для деления пополам требуются анизотропные скобки для непрерывных функций. Если размер шага небольшой, следует также проверить остатки.
попробуй
Давайте сначала рассмотрим пример сходимости, а затем выберем расхождение и обратную перезапись. Ньютон также потерпит неудачу, столкнувшись с плохой отправной точкой; деление пополам основано на непрерывных и разнознаковых ограничивающих интервалах.
Нет необходимости запоминать символы
- f(x)
- функция, которая хочет стать нулем
- f′(x)
- Наклон касательной, знаменатель метода Ньютона.
- [a,b]
- Интервал, окруженный концами непрерывной функции разных знаков.
- Толерантность
- Допустимая остаточная ширина или ширина интервала без точного равенства с плавающей запятой в качестве единственного условия остановки.
Алгоритм, точность и область применения
Дополните главу 5 примерами 5.b–5.d условиями Ньютона, деления пополам и условиями остановки с плавающей запятой. Сопоставимо с x⁵+17x−8, x⁵+3x−8, x⁵−3x−8, s³+3s−0,9. Формы с фиксированной точкой — это (b−xᵖ)/a, вещественные нечетные корни (b−ax)^(1/p), b/(x^(p−1)+a), а различные переписывания одного и того же уравнения могут сходиться, расходиться или образовывать два периода. Ньютон использует производную p x^(p−1)+a, и производная останавливается около нуля; деление пополам работает в интервале непрерывных многочленов с доказанными разными знаками. Демонстрация может занять до 40 шагов. Если абсолютное значение кандидата превышает 1e8, он остановится и выдаст запрос. Никакое усечение не называется конвергенцией; допуск составляет 1e-10. Колебания мантиссы с плавающей запятой на старом оборудовании только объясняют их причины. Та же самая последовательность неизбежно произойдет в текущем движке JavaScript без его подделки. Окно кривой фиксируется как xε[−3,3], yε[−40,40], а значения за пределами окна обозначаются цифрами.
мое понимание, проверка
Если десятичная дробь, отображаемая дважды, выглядит одинаково, стоит ли нам остановиться?
Также проверьте допуски и остатки. — Explicit rounding may mask changes; алгоритм должен иметь четкие условия остановки и границы итерации.
Может ли метод дихотомии гарантировать наличие нулевой точки в середине, если два конца имеют разные знаки?
Функция также должна быть непрерывной на интервале — Вертикальная асимптота по tan также будет иметь другой знак, но нулевой точки не будет.
Следует ли это делать, когда производная Ньютона приближается к нулю?
Остановитесь или измените начальную точку/метод — Слишком маленький знаменатель может привести к большим и ненадежным поправкам.
Iteration is not "just count a few more times". Выбирайте правильные правила, проверяйте остатки и явно останавливайтесь в случае сбоя.
Jean Meeus · Astronomical Algorithms, 2nd ed. · Нет. 5 глава
Общие алгоритмы и численные вычисления · Все интерактивные курсы