0

現在、関数のルートを見つけようとしています

f(x)=Re[(-1 + e^(2 ix))^8 (-i + e^(2 ix) x)^8]=0

Python 2.7を使用して数値的に。本「Numerical Methods in Engineering with Python 3」を研究することで、関数の符号が変化する x の値 x1 と x2 を見つける根探索を採用しました。 Mathematica で関数をプロットすると、私のプログラムはほとんどの根を正しく見つけます(この関数のプロットを含めますが、評判ポイントを取得していません)。

ただし、「二重根」の位置を特定できません (f(x)=0 の場合、-Pi と Pi に位置します)。明らかにこれは、これらのルートの周りで関数が符号を変更しないためです。実際、一般的に、この方法では根を多重度で見つけることはできないと思います。

導関数 f'(x) を計算せずに (つまり、ニュートン ラフソン法を使用して)、このような関数の二重根を見つける方法はありますか? この場合、微分は非常に簡単に計算できます。ただし、導関数の計算が実行できない、はるかに複雑な関数を扱います。

どんな助けでも大歓迎です!

4

0 に答える 0