2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Численный поиск корней уравнения
Сообщение04.08.2015, 17:55 
Собираюсь писать алгоритм для численного поиска корней уравнений непериодических функций, вида
$y=\sum{\frac{1}{(x_i+C_i)^i}}+C$
идея следующая:
$t$ - шаг, первоначальное значение $1$
$x_{i+1}=x_i+t$
дальше, если не выполняется условие
$|y_{i+1}|<|y_i|$
меняется значение шага:
$t=-\frac{t}{2}$
остановка работы алгоритма при выполнении хотя бы одного из условий:
$|y_{i+1}-y_i|<0,01$; "$0,01$" здесь - точность (количество знаков после запятой)
$y_{i+1}=y_{i-1}$, остановка из-за начала бесконечного цикла.
В численные методы не смотрел, то что видел с производными не годится (некоторые степени могут быть изменены в процессе поиска решений).
Будет ли работать?

 
 
 
 Re: Численный поиск корней уравнения
Сообщение04.08.2015, 20:42 
upgrade в сообщении #1042680 писал(а):
Будет ли работать?
Возьмем функцию $y = e^{-x}$...

 
 
 
 Re: Численный поиск корней уравнения
Сообщение05.08.2015, 10:28 
хоть это немного другой вид, за подсказку спасибо, внезапно выявилось много недостатков.
Например, алгоритм не выйдет из локального минимума.
ограничил доп условием $x_i>0$.

 
 
 
 Re: Численный поиск корней уравнения
Сообщение06.08.2015, 12:15 
изменил
$t$ - шаг;
задаем область определения для $x_i$;
$x_{i+1}=x_i+t$;
дальше, если выполняется условие
$Y_{i+1} \cdot Y_i <0$ (проверка на изменение знака между соседними значениями функции)
то
$t=-\frac{t}{2}$ - разворачиваемся и идем в сторону где знак изменился более мелкими шагами.

недостаток в том, что надо вручную область определения задавать.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group