сложный алгоритм поиска корней

У меня проблема с поиском рута. Формат функции может быть произвольным, тогда как я хочу решить следующее:

f(x)= a+exp(-x**2)(b+c*x+d*x**2)

где a,b,c и d — заданные параметры, не ограничивающиеся действительными числами. Я читал об алгоритме нахождения корня многочлена, но до сих пор не знаю, как решать функции, как я написал здесь. Помимо первоначального предположения, как мы определяем значение следующей итерации на основе предыдущей и как найти сопряженные пары, поскольку нужны комплексные корни?


person someone    schedule 22.11.2014    source источник
comment
Вероятно, вам следует опубликовать это на сайте Math StackExchange.   -  person shree.pat18    schedule 22.11.2014


Ответы (1)


Ваша функция не полиномиальная, потому что она содержит экспоненциальную функцию. Метод Ньютона-Рафсона часто используется для численного поиска корней. Он подробно описан на http://en.wikipedia.org/wiki/Newton%27s_method, с примерами.

person mcdowella    schedule 22.11.2014
comment
Спасибо, что поделились этой ссылкой. Однако на самом деле я хочу выяснить комплексный корень, мнимая часть которого имеет значение в физике. Итак, у вас есть какие-либо предложения по этому поводу? - person someone; 22.11.2014
comment
Ньютон-Рафсон, как правило, будет сходиться к реальным решениям только в том случае, если вы начнете его с реальной строки, но если вы начнете его с комплексного числа, он также найдет комплексные корни. К какому корню он фактически сходится, зависит от того, где вы его начинаете, поэтому вам, возможно, придется попробовать несколько разных отправных точек. На красивой диаграмме рядом с разделом «Сложные функции» в ссылке пиксели окрашены в пять разных цветов, чтобы показать, к какому из комплексных корней x^5 = 1 = 0 он сходится из этой начальной точки. - person mcdowella; 22.11.2014