質問

固定点イテレーションを使用して、この式(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はです ここ, 、そこからそれを理解できるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top