導數可以說是研究函數行為最有用的數學工具。
在這篇文章中,我們將介紹計算機計算導數的三種方法。
為了簡單起見,我們將只討論單變量函數。但是,同樣的概念也適用于處理多元函數。
導數是什么?
函數的導數表示函數值隨參數的微小變化而變化的速率。
我們定義一個函數f(x)在點x0處的導數:
視覺上,f(x)的導數是:任意x0切線的斜率:
應用這個定義,我們可以找到簡單函數導數的一般表達式,如多項式、指數、三角函數等。
因此,我們推出了兩種計算導數的方法:
通過某一點x?,根據定義
利用已知函數的導數表達式和鏈式法則
下面,我們將從計算的角度探討每種方法
數值微分
如前面所述,第一種方法意味著使用有限差分法計算某個點x?處近似導數的值:
為了實現這個方法,我們選擇一個小的h(接近于零)計算分數
優點
這種方法在函數未知且只能采樣時很有用。
缺點
根據步驟h的選擇,結果的精度會受到或多或少的影響。
當涉及到高階導數和多變量函數時,數值微分就成了問題。
符號微分
第二種計算導數的方法是通過反復應用鏈式法則和已知的簡單函數的導數公式來處理數學表達式。
通過這樣做,我們找到了導數(f’(x)=…)的一般表達式,在這個表達式中,我們可以插入x?來找到某個特定點的值。
例如,讓我們在x?=1時求下列函數的導數:
利用定義,我們可以證明:
那么,通過鏈式法則,我們有
接下來,插入x?=1可以得到
優點
由于計算是象征性的,精度問題減少了。
缺點
正如預期的那樣,如果我們正在研究的函數非常復雜,符號微分就會變得非常繁瑣,尤其是在處理多元函數和/或高階導數時。