我目前正在尝试定位函数的根源
f(x)=Re[(-1 + e^(2 ix))^8 (-i + e^(2 ix) x)^8]=0
数值使用python 2.7。通过研究“使用 python 3 进行工程中的数值方法”一书,我采用了根搜索来定位 x 的值 x1 和 x2,函数在这两个值之间更改符号。我在 Mathematica 中绘制了函数,我的程序正确定位了大部分根(我会包括这个函数的情节,但我没有得到声誉点)。
然而,它无法找到“双根”,(在 f(x)=0 的情况下,它们位于 -Pi 和 Pi 处)。显然这是因为围绕这些根函数不会改变符号。事实上,我认为一般来说,这种方法无法找到具有甚至多重性的根。
有什么方法可以在不计算导数 f'(x) 的情况下找到这样的函数的双根(即使用 Newton Raphson 方法)?我意识到在这种情况下,导数很容易计算。但是,我将处理更复杂的函数,计算导数是不可行的。
任何帮助将不胜感激!