Всё замечательно, правда если бы вы привели какой-нибудь пример (постановку реальной ИТ-задачи, для решения которой необходимо искать корни уравнения), или же пример кода, то вопрос о цели статьи отпал бы автоматически.
Я больше не про пример кода реализации алгоритмов, которые практически тривиальны, а про пример кода большой и интересной задачи, в которой нужно применить вышеописанные численные методы.
Я попробую описать прямой метод Ляпунова. Но вот с оценкой какой метод лучше подойдет, наверное воздержусь, ведь разные системы бывают, для какой то важна скорость, для какой то ресурсы.
> для какой то важна скорость, для какой то ресурсы
Ресурсы — вы имеете в виду расход памяти? Мне кажется, что во всех трех описанных методах он O(1). Это не так?
Были бы интересны как раз практические подробности для некоторого класса задач — ну вот для этой самой передаточной функции и далее по тексту.
Теоретически-то ситуация со скоростью сходимости известна: чем быстрее сходится метод, тем более он чувствителен к выбору начальной точки. На практике обычно приходится учитывать специфику конкретного класса решаемых уравнений: может там уравнения такие, что можно сразу метод Ньютона запускать в любой точке. А может они настолько патологические (типа sin 1/x = 0), что там хотя бы корни разделить — уже достижение. Или может к данному классу уравнений классно подходит метод итераций. Или надо делать пару шагов дихотомии и потом переходить к более быстро сходящимся методам. Вот подобное исследование было бы уже интересно почитать.
Ну могу наверно привести пример из инженерной тематики. Скажем, эти методы необходимы для нахождения нулей характеристического уравнения передаточной функции замкнутой системы автоматического управления высокого порядка для оценки ее устойчивости по методу Ляпунова. Это будет полезно?
Так как сам занимаюсь применением теории устойчивости Ляпунова к задачам планирования, мне будет крайне полезно и интересно) Всё же хабр благоволит более IT-тематике.
Уже не первая статья, похожая на сдачу задачи по вычам. Было бы лучше добавить грамотно разобранной теории и добавить практики, а точнее задач когда необходимы данные методы и сравнение когда какой лучше (по точности/скорости/памяти).
Хммм, мы всё это в 10-м классе разбирали на TurboPsacal ещё — сразу после нахождения определителя матрицы любой размерности. Мда. Это химическая школа, совсем не «ИТ-шная».
Но вообще-то картинки красивые, и написано коротко и ясно)) Нам это час рассказывали с некрасивыми картинками на доске:)
Извините, но уровень статьи для хабра, мягко говоря, не дотягивает. Это, как правильно заметили, последний класс школы (если спецшкола) или первый курс.
> Каждый уважающий себя инженер или IT-шник должен быть на «ты» с вычислительной математикой и ее численными методами для решений различных задач, возможно даже тривиальных, которые «голову в порядок приводят».
Не могу с вами согласиться. Это нужно далеко не каждому IT-шнику, даже их тех, кто себя уважает.
Поясните, пожалуйста. Если вы не применяете — это не значит, что не нужно. Смысл в том, что каждый должен быть знаком, сейчас не надо, но может пригодится.
Огромное спасибо за статью, очень-очень помогла разобраться с темой для завтрашнего экзамена по Информатике. Очень жалко, что в карму автору не могу плюс поставить.
Приближенное решение алгебраических и трансцендентных уравнений