我有一个形状为$$f(x)=\sum iu I a_I\cdot x^{e_I}-c$$的函数,其中所有参数都是正的。 现在我要计算这个函数的根。在
我本想应用牛顿法/割线法,就像scipy.optimize.newton
中那样,但有时它失败了。在
#secant method
f1 = (lambda a: 6.75304970913061 * a**2.37142857142857 - 1.91006495309903)
scipy.optimize.newton(f1,0)
无法在50步内收敛,在100次或1000次迭代后,结果会变得更糟(这不应该发生)。在
或者,我可以计算
^{pr2}$因为我有负幂,我从1开始,但是我得到Failed to converge after 50 iterations, value is (2.9502746750095213e+29-7.147769018388161e+29j)
。在
我需要调用什么来解决上述类型的每个实例?在
scipy.optimize.newton的SciPy文档建议在函数改变符号的区间[a,b]中使用scipy.optimize.brentq。对于单调函数,如所述,a=0和b可以通过尝试足够大的数来找到。在
相关问题 更多 >
编程相关推荐