二分法求函式的零點,如何確定初始區間,使得該區間能覆蓋所有的零點?

時間 2021-06-09 12:36:56

1樓:Moore Donnely

確定不了。二分法本來就不是萬能的, 就算你找到了乙個包含所有根的區間又怎麼樣,你還是沒有辦法把所有根全解出來。舉個例子,考慮乙個三次函式f(x)=x^3-(1/3)x^2-x+1/12,你發現f(-1)f(1)<0, 說明函式在(-1,1)上至少有乙個根。

然後你就用二分法求這個函式的根,最後就只能解出乙個根。但事實上這個函式在(-1,1)上有三個根。一般二分法只有在給定區間內只有乙個根的情況下才好用。

2樓:

題主想過的這個問題我也曾經想過,在機器學習演算法裡面的梯度下降演算法找到的點不一定是全域性最優點,牛頓迭代法求根也不一定能找出所有的根,其實這些演算法都是人們提出的一種近似處理的方法,只是用於實際應用當中,如果要求準確的結果我想沒有人會使用這些方法吧。既然是實際應用,我們應該能大致估算出零點,然後再用這種方法來逼近真實值。我學數學到現在,從來沒有聽說過哪乙個數學定理能告訴你任何乙個方程有幾個零點(如果有這種定理希望不吝賜教),所以也許題主提出的問題應該是無解的。

3樓:beijingjn

可能因為我不是學數學的,並沒有理解題主再問什麼。

在實數範圍內,對於一元二次方程來說,根的情況無非就三種:沒有、有乙個、有兩個。完全都能用求根公式算出來。

至於我理解的意思就是,題主覺得-1在-0.9~-1.1之間,也在-0.91~-1.09之間,這麼縮小何時到頭啊?

這就像二分法求解超越方程一樣,區間永遠在縮小,根本算不出確切解(exact solution)。

可是既然已經得到了確切解,為何還要求區間呢?

一元多次方程同理。你用手算不出來的不代表matlab算不出來。

東方文明和西方文明是否是「二分法」

把人類文明分為 西方文明 與 東方文明 是典型的二分法。有 西方文明 圖中深藍色 但是沒有 東方文明 在人文上的東方 東亞 南亞 東南亞 有 日本文明 粉色 中華文明 紅色 佛教文明 黃色 印度教文明 橙色 伊斯蘭文明 綠色 等五大文明。 東方文明一般指東亞文明圈,西方文明一般指歐洲文明圈 此外還有...

為什麼二分法一般比m 分法 m 2 更優?

基本不等式吧。假設假設解決輸入size為的問題的開銷為而且,是乙個嚴格遞增的函式。這個顯然不斷細分下去,每次最優解都是在的時候求得。 除去前面一些答主講的數學原因之外,我覺得還有一點就是目前的指令結構。通常基本指令是兩數比較。二中選一就是一次比較,而並沒有三選一的指令,三選一必須比較2次。所以三分在...

二分查詢的問題,對於 mid beg end beg 2 與 mid beg end 2 區別

勝勳 關鍵要看 提供了什麼量 如果提供了 起點 和 總數 那麼 mid 起點 總數 2 好用 如果提供了 起點 和 終點 那麼 mid 起點 終點 2 好用 tanchb 因為容器的迭代器之間沒有定義在兩個迭代器之間的 運算子,beg end 是非法的 只能使用兩個迭代器之間的減法 Because ...