5

是否有一个模块可以找到函数的所有零而不是它在指定起点之外遇到的第一个零?

使用brentq,我们将指定函数更改符号的位置,并且只选择该位置,除非使用 这样做n。同样,使用fsolve,我们选择一个起点,然后它会找到该点之外的第一个零,我们将不得不再次这样做n。当然,我怎么能n在一个呼叫中找到所有位置n < infinity

我想到的功能是 3 个零,如下所示:

import numpy as np
import pylab
from scipy.optimize import brentq

mm = 7.3477e22  #  mass moon                                                        
me = 5.9736e24  #  mass Earth                                                       
r12 = 384400.0  #  distance between the Earth and the moon                          
pi2 = mm / (me + mm)


def f(xi):
    return ((1.0 - pi2) / np.absolute(xi - pi2) ** 3.0 * (xi + pi2) +
            pi2 / np.absolute(xi + pi2 - 1.0) ** 3.0 * (xi + pi2 - 1.0) - xi)
4

0 回答 0