牛頓/拉復生法求平方根

def squareRootNR(x, epsilon):
    assert x >= 0
    assert epsilon >= 0
    x = float(x)
    guess = x/2.0
##    guess = 0.001
    diff = guess**2 - x
    ctr = 1
    while abs(diff) > epsilon and ctr <= 100:
        guess = guess - diff/(2.0*guess)
        diff = guess**2 - x
        ctr += 1
    assert ctr <= 100
    print 'NR method, Num, iterations:', ctr
    return guess

發佈了39 篇原創文章 · 獲贊 3 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章