固定点反復アルゴリズム
-
30-09-2019 - |
質問
固定点イテレーションを使用して、この式(x^3 + x -1 = 0)を解くプログラムを作成するよう求められます。
固定点反復のアルゴリズムは何ですか? Pythonに固定点反復コードサンプルはありますか? (任意のモジュールからの関数ではなく、アルゴリズムを使用したコード)
ありがとうございました
解決
まず、これを読んでください:固定点反復:アプリケーション
ニュートンの方法を選びました。
ジェネレーター機能について知りたい場合は、ジェネレーター関数を定義し、次のようにジェネレーターオブジェクトをインスタンスすることができます
def newtons_method(n):
n = float(n) #Force float arithmetic
nPlusOne = n - (pow(n,3) + n - 1)/(3*pow(n,2) +1)
while 1:
yield nPlusOne
n = nPlusOne
nPlusOne = n - (pow(n,3) + n - 1)/(3*pow(n,2) +1)
approxAnswer = newtons_method(1.0) #1.0 can be any initial guess...
次に、次のように通話することにより、より良い近似を獲得できます。
approxAnswer.next()
見る: PEP 255 また クラス(ジェネレーター) - Python V2.7 発電機の詳細については
例えば
approx1 = approxAnswer.next()
approx2 = approxAnswer.next()
または、ループを使用してください!
あなたの近似が十分に良い時期を決定することに関して...;)
他のヒント
Pseudocodeはです ここ, 、そこからそれを理解できるはずです。
所属していません StackOverflow