2015-08-21 63 views
0

enter image description here正根和負根的根查找算法

嗨,我必須爲此設計一個算法。我已經研究了平分法,牛頓法,它似乎是平分法是正確的,但它需要一個算法去掉。例如x^3 + x - 2 = 0有沒有辦法爲這個問題提供一個廣義的算法?

回答

1

二進制搜索將找到(其中之一)根。

他們建議的是假設函數在(a, f(a))(b, f(b))之間是線性的,並且選取這些點之間的直線穿過x軸的點。即假定

f(x) = m * x + b 

這可能比簡單的二分查找new_x = (a+b)/2更快地收斂。

+0

你好,但我們不需要給出一個算法來找到根,而不是假設一個方程嗎?對不起,我真的很困惑這個 –

+1

@傑克遜柯林斯:不,你迭代,直到你已經將範圍縮小到某個閾值。這是一種連續迭代方法,每次迭代都可以進行更準確的猜測。所有你需要的是一個進行下一次猜測的公式,以及一種決定何時停止的方法。在這種情況下,你評估'f(new_x)',看看它是否與'f(a)'或'f(b)'有相反的符號。這是你的新範圍。 –