5

指定された開始点を超えて最初に遭遇したゼロの代わりに、関数のすべてのゼロを見つけるモジュールはありますか?

を使用brentqすると、関数が符号を変更する場所を指定し、 が今回変更しない限り、その場所のみを取得しnます。同様に、fsolveの場合、開始点を選択し、その点を超えた最初のゼロを見つけます。もう一度、そのn回数を実行する必要があります。nもちろん、1回の呼び出しですべての場所を見つけるにはどうすればよいでしょうか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