Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Решение нелинейного уравнения методом секущих на Python
Ну и крайний (не послений) метод решения нелинейных уравнений. Это метод секущих.
Метод секущих или метод хорд, несколько напоминает метод Ньютона. Но основывается не на производной. Секущая должна всё по замыслу всё ближе и ближе "подбираться" к сикомой точке. Основная формула этого метода представлена на рисунке 1. При это a это левый край отрезка. Он при этом не меняется. А вот правый край вычисляется по рекуррентной формуле. В конце концов последовательность сходится к корню уравнения f(x)=0. a - левый конец промежутка, через который проходит секущая.
Вот именно этот алгоритм реализован в программе ниже (функция sec()).
Результат выполнения программы
0.0
3.141592668798001
6.283185320310071
9.42477796261606
В программе, также как в предыдущей статье используется функция get_ends() для получения отрезков, где должны быть корни.
Ну, пока всё!
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.