私は数値的に非線形方程式のシステム解決しようとしています:Scipyのfsolveの代替品ですか?
def func(p):
x, f = p
return (math.exp(-x/O)-f,
L - L*((1 - math.exp(-x/O))**W) - x*math.exp(-x/O))
を、私は現在、次のようにそれのためscipy.fsolveを使用しています:
x, f = fsolve(func, (10, 0.2))
私はfsolveを使用する私の方法が正しいことを確かめてください:それは特定の範囲のパラメータに対して完全に機能します。しかし、それは完全に(例えば、O = 8、L = 1.67、W = 8)以下のエラーを持つ別で失敗した:私はそれがうまく解けるであると確信して
RuntimeWarning: The number of calls to function has reached maxfev = 600.
- がある(少なくとも)それを行うmatlabツール。私が間違っていることは何ですか、それとも私が試すことができる他のソルバーはありますか?
ありがとうございました!
確かに、代用はそれをうまく解決します!ありがとう! – mck
私の場合、置換はうまくいきましたが、とにかくそれがあったので、より良い初期推測を見つける方法の経験則がありますか?私の問題では、実際には予想される結果を知っていたので、私はそれに近い推測値を設定しようとしました。残念ながら、それは本当に根の所見を改善しませんでした... – mck