Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python scipy.optimize.newton说它不会收敛,但它看起来会收敛_Python_Scipy - Fatal编程技术网

python scipy.optimize.newton说它不会收敛,但它看起来会收敛

python scipy.optimize.newton说它不会收敛,但它看起来会收敛,python,scipy,Python,Scipy,我正在使用python和scipy编写一些代码,将笛卡尔坐标收敛到开普勒元素,反之亦然 要将笛卡尔坐标转换为开普勒,我使用以下表达式: E = scopt.newton(self.f, self.M, self.df, args=(), tol=10^(-10), maxiter=10000) 与 在运行整个代码时,我得到一个错误: RuntimeError: Failed to converge after 10000 iterations, value is 5.25182613825

我正在使用python和scipy编写一些代码,将笛卡尔坐标收敛到开普勒元素,反之亦然

要将笛卡尔坐标转换为开普勒,我使用以下表达式:

E = scopt.newton(self.f, self.M, self.df, args=(), tol=10^(-10), maxiter=10000)

在运行整个代码时,我得到一个错误:

RuntimeError: Failed to converge after 10000 iterations, value is 5.25182613825
如果我以较少的迭代次数(50次)运行它,我会得到:

比较这两个值,它明显收敛。即使我将容差减少到10^(-2),我仍然会得到相同的运行时错误


有人知道为什么会发生此错误吗?

Python中的求幂运算符是
**
。使用
tol=10**(-10)
1E-10


^
是按位异或

Python中的求幂运算符是
**
。使用
tol=10**(-10)
1E-10


^
是按位异或

如果运行它51次迭代,会得到相同的值吗?或者它翻转了两个值?RuntimeError:在51次迭代后未能收敛,值是5.25182613825,所以它是相同的值…5.25182613825是正确的解决方案吗?self.e和self.M的值是多少?看起来5.25182613825是正确的解决方案。至少我通过设置E=5.25182613825得到的结果似乎是可以的。M=301.14993402*(数学pi/180)和e=0.004932091570(平均异常和偏心率)如果运行51次迭代,是否得到相同的值?或者它翻转了两个值?RuntimeError:在51次迭代后未能收敛,值是5.25182613825,所以它是相同的值…5.25182613825是正确的解决方案吗?self.e和self.M的值是多少?看起来5.25182613825是正确的解决方案。至少我通过设置E=5.25182613825得到的结果似乎是可以的。M=301.14993402*(数学pi/180)和e=0.004932091570(平均异常和偏心率)
RuntimeError: Failed to converge after 10000 iterations, value is 5.25182613825
RuntimeError: Failed to converge after 50 iterations, value is 5.25182613825