2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Численный поиск корней уравнения
Сообщение04.08.2015, 17:55 


07/08/14
4231
Собираюсь писать алгоритм для численного поиска корней уравнений непериодических функций, вида
$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 
Заслуженный участник


09/05/12
25179
upgrade в сообщении #1042680 писал(а):
Будет ли работать?
Возьмем функцию $y = e^{-x}$...

 Профиль  
                  
 
 Re: Численный поиск корней уравнения
Сообщение05.08.2015, 10:28 


07/08/14
4231
хоть это немного другой вид, за подсказку спасибо, внезапно выявилось много недостатков.
Например, алгоритм не выйдет из локального минимума.
ограничил доп условием $x_i>0$.

 Профиль  
                  
 
 Re: Численный поиск корней уравнения
Сообщение06.08.2015, 12:15 


07/08/14
4231
изменил
$t$ - шаг;
задаем область определения для $x_i$;
$x_{i+1}=x_i+t$;
дальше, если выполняется условие
$Y_{i+1} \cdot Y_i <0$ (проверка на изменение знака между соседними значениями функции)
то
$t=-\frac{t}{2}$ - разворачиваемся и идем в сторону где знак изменился более мелкими шагами.

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group