2017-01-23 2 views
1

私はscipy.optimize.fsolveを使って関数のルーツを探しています。問題は、この警告が表示されることがあることです。RuntimeWarning:最後の10回の反復からの改善によって測定されたように、反復処理がうまく進まない。RuntimeWarning from Fsolve

1)問題を解決することができるかもしれない反復回数を増やす:

は、私は2つの方法でこの問題を解決したいです。しかし、私はこれをどうやって行うことができるのか分かりません。

2)プログラムがこの警告を受け取った場合は、別の機能を使用してください。これどうやってするの?

答えて

0

1)警告が表示されているため、解決策が各反復ごとに非常に改善されていないため、おそらく反復回数を増やすのに役立ちません。しかし、引数maxfevを使用して、与えられた関数の最大数の評価を与えることができます。

2)他のSciPyの最適化方法を試すこともできますが、すべて同じ問題で実行できます。

あなたが試みることができることは、警告を得るたびに新しい開始点で最適化を再実行することです。あなたは警告を受け取らないか、あまりにも頻繁に試してみるまで、このコードをこの回数だけ実行させることができます。最適化の開始点は、x0です。完全な文書hereを読むことができます。