跳轉到內容

微積分/函式值近似

來自華夏公益教科書,開放的書籍,開放的世界
← 尤拉方法 微積分 微分/導數的應用/練習 →
函式值近似

雖然許多情況下,一個值確實可以並且確實有一個精確的表示,可以用某個函式來描述,但在許多現實世界的環境中,特別是當需要對這些值進行近似時,這種方法是有用的。例如,建築工人可能需要一個長為 英尺的房間。但是,這個值沒有用,因為大多數尺子沒有 的刻度。因此,工人們需要這個長度的近似值,才能建造一個長為 英尺的房間。

有些數字以前很難近似,現在仍然很難近似,但微積分使近似更容易。數值分析 子領域研究用於近似數字的演算法,包括但不限於殘差(值與真實值之間的偏差)、小數精度級別以及達到一定精度水平所需的程式執行次數。

雖然本節不會替代數值分析(甚至沒有接近),但本節希望能介紹一些有效的演算法,將值近似到令人驚訝的精度水平。

在深入本節之前,第 2.4 節已經介紹了一種使用微積分作為依據來近似函式解的方法,稱為二分法。因此,使用微積分來近似值並不令人驚訝。

線性近似

[編輯 | 編輯原始碼]
圖 1:函式在 處的切線很好地近似了


回顧導數的定義之一:它是函式 在點 處的切線的斜率。考慮函式 周圍的區域性行為,如果 很小 並且 很小,則切線可以很好地近似值 (參見圖 1)。

線性近似

如果可微且連續的函式 在某個點 的值已知,該點處的導數為 ,並且對於所有小的 ,都有 ,那麼在區間 上,對於某個小的 的值可透過以下公式近似。

(1)

證明:注意,在某個可微函式 上, 處的切線方程如下:

(2)

其中 是切線的方程。

如果我們嘗試透過切線來獲得 (真實值),並且對於所有小的 ,都有 ,那麼 。因此,

請注意,為了使用此技術,需要滿足以下條件:

  1. 處可微,並在 上連續。
  2. 很小,並且 很小。否則,可能會出現一些非常奇怪的近似值。
  3. 上是 單調的。(您將在第 6.2 節中更全面地瞭解這一點。)

如果這些條件中的任何一個不成立,那麼此技術將不起作用或用處不大。

示例 3.17.1:近似

的精確值。

處的切線方程為

。 假設

那麼,。 因此,

線性逼近的好處是,我們不需要使用更難理解的函式,而是使用線性函式來估計函式的值,這可以說是我們所能使用的最簡單的計算方法,假設導數的值很容易找到。

確定過高或過低估計

[edit | edit source]

請注意,對於任何使用切線逼近(與線性逼近相同)獲得的逼近,都存在一個餘項,它將使逼近等於我們可以從函式中獲得的真實值。 也就是說,

(3)

其中 是餘項。 不幸的是,這並不能讓我們對殘差進行精確估計,尤其是在我們無法找到該項的確切值的情況下。 雖然有一種技術可以確定這種型別估計的殘差的上限,但將在第 6.11 節中進行,時間還很早。

目前,我們最好的解決方案是確定我們給出的估計值低於還是高於真實值,這可以透過以下技術來完成。

高於或低於切線逼近的真實值
  • 如果 之間的區間內是凹向下的,則逼近將是一個過高估計。
  • 如果 之間的區間內是凹向上的,則逼近將是一個過低估計。

理由:假設 中的二次可微函式,並且

情況 1(A): 假設 ,其中 。那麼,在 的切線 斜率為正,且 (見圖 1 中的底部函式)。
情況 1(B): 假設 ,其中 。那麼,在 的切線 斜率為正,且
情況 2(A): 設 成立。那麼,在 的切線, 的斜率為負,且 .
情況 2(B): 設 成立。那麼,在 的切線, 的斜率為負,且 (參見 圖 1 中的底部函式)。

由於向下凹函式無論切線斜率如何,都有 ,而向上凹函式無論切線斜率如何,都有 ,我們已經證明了我們想要證明的內容。

3.17.2: 是高估還是低估?

.

函式在所有處向下凹,因為

.
對於所有.

最後一個推論的合理性在於(作為一個練習,請自行證明這一點)。如果單調遞減且有界的(事實的確如此——你可以用多種方式證明這一點),那麼我們可以確定所示的不等式是正確的。

因為在從的整個範圍內都是向下凹的,是對真實值的過高估計。

線性逼近的問題

[編輯 | 編輯原始碼]

雖然線性(或切線)逼近是一種強大且易於使用的工具,可用於逼近函式,但它也存在問題。這些問題在介紹該技術時就已暗示過。每個問題都將強調為什麼該工具可能並不總是非常有用。

示例3.17.3:使用切線逼近逼近

。由於我們正在逼近 ,我們可以使用在 處的切線逼近來獲得在 的逼近。不幸的是, 不收斂到有限值。因此這意味著切線是垂直的或不存在。由於導數在 處不存在,因此無法使用線性方法獲得準確的逼近。

3.17.4:使用切線逼近來逼近

。由於我們正在逼近 ,且 的一個小的差異,我們可以使用在 處的切線逼近來獲得在 的逼近。

處的切線方程為:

。假設 .

那麼,。因此,.

然而,這個近似值與實際值相差甚遠。它在 處的函式實際值範圍內存在 的誤差。造成這種大誤差的原因在於一個微妙的方面。

雖然導數在 處存在,但函式在 上不是單調的:函式既會下降也會上升。回顧你的閱讀內容,一個函式是單調遞減的,當且僅當對於任意 。然而,對於上述 存在反例,如果你將函式繪製出來就會很明顯。 點選檢視函式影像

因此,使用切線來近似 的值是不可取的。

因為這將在第 6.2 節中更全面地學習,假設所有習題都具有單調函式。這個例子只是為了說明這種方法常遇到的一個常見陷阱。

牛頓-拉夫森方法

[edit | edit source]

雖然切線近似非常有用,但它們往往只在您知道附近的值時才有用。但是,如果不存在附近的值來幫助估計其值,那麼獲得所需精確值的精確估計將非常困難。

牛頓-拉夫森法(在第 3.13 節中介紹)是一種有用的方法來確定函式的零點,無論它是多項式、超越、無理數、指數等。但是,牛頓-拉夫森法也可以用來近似特定函式的值。

牛頓-拉夫森方法

假設 是感興趣的值。令 。存在某個函式 使得 。如果需要 的近似值,則迭代地找到 ,如下所示

(4)

如果您閱讀了第 3.13 節,那麼您應該已經瞭解並證明了這個等式。

3.17.5:近似

。我們需要對這個等式進行操作,以便我們可以得到

由此,令 。由於 是該方程的根,我們可以使用牛頓-拉夫森法來近似 。首先,我們選擇一個初始猜測。由於 ,並且 是一個很好的初始猜測。在開始之前,我們需要函式的導數,可以很容易地證明它是 。現在我們開始尋找根。

為了方便起見,我們將在此處停止。然而,我們獲得的值已經是精確到位小數。

3.17.6:近似

。我們需要操縱這個等式,以便我們可以獲得 。請記住儘可能消除平方根,這樣我們的工作就會更容易。

請注意,該方程有四個可能的根,但我們只關心其中一個。回顧

請注意 ,所以我們選擇

。那麼,

請注意 意味著 對於

最後,請注意 無法簡化。我們將不得不使用這些值進行運算。(請記住,即使沒有計算器,過去許多人使用 計算尺 來處理這些複雜的值。與模擬計算尺相比,我們現在可以利用觸手可及的電子計算機)。

現在我們開始找到根。

為了方便起見,我們將在此時停止計算。然而,我們已經獲得的值在小數點後六位數已經準確了。

失效分析

[編輯 | 編輯原始碼]
圖 2: 處的切線與 軸分別相交於 ,說明了為什麼牛頓法對於某些起點會在這兩個值之間振盪。

當然,正如我們從第 3.13 節所知,牛頓-拉夫森法並不完美,在某些情況下會失效。一個明顯的情況是當某個點的導數為零時。由於該導數位於分母中,一旦發生這種情況,我們就無法找到下一個可能的根。然而,還有一些其他的情況。 參考

起點進入迴圈

[編輯 | 編輯原始碼]

對於某些函式,一些起點可能會進入無限迴圈,阻止收斂。令

並以 為起點。第一次迭代產生 ,第二次迭代返回 ,因此該序列將在兩者之間交替,而不會收斂到根(參見圖 2)。此方程的真實解是 。在這種情況下,應該選擇另一個起點。

導數在根處不存在

[編輯 | 編輯原始碼]

牛頓法發散的一個簡單例子是求零的立方根。立方根是連續的,無限可微的,除了,它的導數沒有定義。

對於任何迭代點,下一個迭代點將是

該演算法超過了解,落在軸的另一側,比最初更遠;應用牛頓法實際上使每次迭代的解距離翻倍。

事實上,對於每個,其中,迭代將發散到無窮大。在極限情況下,迭代將在點之間無限地交替,因此它們在這種情況下也不收斂。

不連續導數

[edit | edit source]

如果導數在根處不連續,則收斂可能無法在根的任何鄰域內發生。考慮函式

在根的任何鄰域內,該導數隨著 從右側(或左側)逼近 時不斷變化符號,而 對於 成立。

因此, 在根附近是無界的,即使函式在所有地方都是可微的(因此是連續的),牛頓法幾乎在根的任何鄰域內都會發散,即使

  • 該函式在所有地方都是可微的(因此是連續的);
  • 根處的導數不為零;
  • 是無限可微的,除了在根處;並且
  • 導數在根的鄰域內是有界的(與 不同)。

尤拉法

[編輯 | 編輯原始碼]

正如以下示例所示,尤拉法不像牛頓法那樣快速地趨近於近似值。造成這種現象的原因有很多,但尤拉法並沒有因為這個問題而失去實用價值。這些示例將展示尤拉法在何處具有實用價值。

示例 3.17.7:近似

。我們需要找到一個微分方程 。請注意,我們將在最後一步做一些對於近似 很重要的操作。

這裡展示的最後一步非常重要。我們需要近似 。但是,如果我們試圖近似 ,如果我們需要使用平方根來進行近似,那麼就無法做到這一點。相反,由於 並且尤拉法為我們提供了新的 值,我們可以得到一個近似值。

接下來,我們需要選擇一個初始點,。這是我們唯一使用函式 的實際值的點。在這種情況下,由於我們想要 ,我們將選擇 。從那裡,我們可以選擇步長,它可以是任意的。在這裡,我們將選擇

如這裡所示,對 的近似值為 。它的絕對誤差為 ,在大多數情況下,這已經相當不錯了。例如,如果要設計一個盒子,那麼這是一個可以接受的誤差範圍。

雖然誤差範圍看起來很大,與 的區域性線性近似值(絕對誤差為 )相比,但請記住,我們的步長遠大於示例 3.17 中顯示的步長。如果我們選擇更小的步長,那麼近似值會更準確(儘管可能有點麻煩)。例如,如果步長為 ,那麼絕對誤差將約為

← 尤拉方法 微積分 微分/導數的應用/練習 →
函式值近似
華夏公益教科書