1K подписчиков

Программирование на языке Python. Решение нелинейного уравнения f(x)=0 методом секущих

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Решение нелинейного уравнения методом секущих на Python

Ну и крайний (не послений) метод решения нелинейных уравнений. Это метод секущих.

Метод секущих или метод хорд, несколько напоминает метод Ньютона. Но основывается не на производной. Секущая должна всё по замыслу всё ближе и ближе "подбираться" к сикомой точке. Основная формула этого метода представлена на рисунке 1. При это a это левый край отрезка. Он при этом не меняется. А вот правый край вычисляется по рекуррентной формуле. В конце концов последовательность сходится к корню уравнения f(x)=0. a - левый конец промежутка, через который проходит секущая.

Рисунок 1. Основная формула метода хорд (секущих)
Рисунок 1. Основная формула метода хорд (секущих)

Вот именно этот алгоритм реализован в программе ниже (функция sec()).

Поиск корней методом хорд. Текст программы см. по ссылке ниже
Поиск корней методом хорд. Текст программы см. по ссылке ниже

Результат выполнения программы

0.0
3.141592668798001
6.283185320310071
9.42477796261606

В программе, также как в предыдущей статье используется функция get_ends() для получения отрезков, где должны быть корни.

Ну, пока всё!

Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.

- Как сделать хорошую скульптуру? - Нужно отсечь всё лишнее.
- Как сделать хорошую скульптуру? - Нужно отсечь всё лишнее.