標籤:

為什麼求導不從兩邊同時接近?

學渣...最近剛開始微分,微分的公式是dy/dx,求導的公式是f(x+h)-f(x)/h。

為什麼不用f(x+h)-f(x-h)/2h呢?這樣不應該更精確嗎?而且遇到圖像上尖尖的轉折的導數就不是不存在了吧。

不要噴啊...只是不明白


從左邊接近,定義出來的叫左導數;從右邊接近,定義出來的叫右導數。二者不一定相等。如果不相等,圖象上就會有一個尖點;如果相等,那麼它們跟從兩邊接近定義出來的導數是等價的。


實際上按題主的思路,應該用:

frac{f(x+h_1) - f(x - h_2)}{h_1 + h_2}

h1和h2都是可以變動的。題主的則是一個特例。導數的定義也是一個特例。

但是,由於:

frac{f(x+h_1) - f(x - h_2)}{h_1 + h_2} =frac{f(x+h_1) - f(x)}{h_1} frac{h_1}{h_1 + h_2} + frac{f(x) - f(x-h_2)}{h_2} frac{h_2}{h_1 + h_2}

所以這個表達式總是位於左右導數之間,如果導數存在,則這個表達式極限也存在,而且收斂到相同的值。反過來由於導數是這個極限的特例,也有相同的效果,所以這兩個定義等價,既然等價,導數只有一個變數,而這個定義有兩個變數,當然選簡單的一個。

補充一下具體過程:

0 < h_1 < H_1, 0 < h_2 < H_2時,記Delta f(x, h) = frac{f(x+h) - f(x)}{h},有

minleft(Delta f(x, h_1), Delta f(x, h_2)
ight) le Delta f(x, h_1)frac{h_1}{h_1 + h_2} + Delta f(x, h_2) frac{h_2}{h_1 + h_2}

maxleft(Delta f(x, h_1), Delta f(x, h_2)
ight) ge Delta f(x, h_1)frac{h_1}{h_1 + h_2} + Delta f(x, h_2) frac{h_2}{h_1 + h_2}

minleft(Delta f(x, h_1), Delta f(x, h_2)
ight) ge inf_{-H_1 le h le H_2}Delta f(x, h)

maxleft(Delta f(x, h_1), Delta f(x, h_2)
ight) le sup_{-H_1 le h le H_2}Delta f(x, h)

當導數存在時,上下確界的極限相等且等於導數值,由夾逼定理可以得到原式也收斂且極限等於導數值。

題主的定義則是有缺陷的,因為沒有什麼理由導數一定要左右同步地逼近,題主的定義其實等價於左右導數的平均值,這沒有什麼實際意義,為什麼要定義是平均值,而不是左導數 * 2/3 加 右導數 * 1/3呢?

實際上這個定義還可能會導致很嚴重的問題,我們來考慮狄利克雷函數,它在有理數上值為1,無理數上值為0。考慮任意一個有理數點,我們知道,如果x-h為有理數,則h為有理數,x+h也為有理數;如果x-h為無理數,則h為無理數,x+h也為無理數。這意味著始終有f(x+h) - f(x-h) = 0,這樣按照題主的定義會得出任意一個有理數點上導數都為0,可是這個函數處處不連續啊!


你的定義不但不會更精確,而且會產生錯誤。我來構造一個明顯不連續的函數卻符合你的「可導」:構造函數f使得它在0點等於1在非零點等於0。那麼這個函數按照題主的定義是在0點「可導的」並且導數為0,實際上它連連續都不是。下面是詳細的證明:

證明:對於任意h>0, f(0+h)=f(0-h)=0.因此,f(0+h)-f(0-h)/2h=0.取極限,我們按照你的定義,可以證明這個函數是「可導」並且等於0.可是這個函數在0點連續都不是。

類似的邏輯可以推導出,任何在0點對稱的函數都在0點可導,連續性反而丟失了。


首先,定義式里的h從來沒人說一定是正的

所以原始的定義本身就包含了兩邊的逼近

而f(x+h)-f(x-h)/2h這種事實上挖掉了x點,可以看作一種較弱意義下的導數的推廣。


這麼定義當然不是不可以,但是有可能會發生蛋疼的事情……

比如考慮這麼一個函數:f(x)=-x when x&<0,f(x)=2x when x&>=0

在正常的定義下,f在0點是不可導的,但是在題主的定義下,0點處導數存在且為0.5

然後?問題是0點是極小值點啊,特么求出來導數居然是正的,不覺得很蛋疼嗎……


為什麼不用f(x+h)-f(x-h)/2h呢?這樣不應該更精確嗎?

這裡是做定義以便鋪後面的其他數學分析

實踐上的數值差分又是相關但是不一定相同的另一回事


@王贇 Maigo已經說的非常簡練明了了,贊一個。我歪個樓,樓主你說的那個方法恰恰經常用來做gradient check。在該點導數不存在時仍然可以給出一個該點導數的估計值。偏題了,樓主請注意一下,某點導數存在需要其左導右導同時存在且相等,在工程上可以做近似猜測,但數學容不得絲毫感性猜忌和不嚴謹。其實樓主這個問題提得很不錯,多思考提升會很大,加油!


求導數是固定一個點,另一個點在曲線上接近它,即由割線斜率趨近於切線斜率的過程。

第一種定義固定了點「x」(定點),h可正可負,確定的割線交曲線的另一個點(動點);正就是從右趨近(右切線斜率),負就是從左趨近(左切線斜率)。

第二種定義,割線兩端都是「動點」了,從 @dhchen 給的那個例子可以看出這一點,本想求導數的中間的那個點是被挖去了的,可以連定義都沒有。


從定義上講題主的定義是不正確的。然而如果導數真的存在,計算上上往往用題主給出的式子,因為相對更接近真實值。

也就是說,如果你默認這個函數可導,這麼做無可厚非;如果這個函數不一定有導數,這個做法就會出錯


Lz給的定義仔細看是不要求f在x有定義的,如果假設f在x連續 感覺兩個定義是等價的


推薦閱讀:

幾何分析是不是一個被普遍公認的獨立的學科,如果是,為何AMS的學科分類裡面裡面找不到幾何分析?
到底應該怎麼樣正確理解DFT(離散傅里葉變換)?
為了還李林老師一個清白,請大家把手上的證據集中在這個問題下?
隨機三維單位向量的生成演算法如何做到均勻分布?
怎麼理解代數幾何概念 motive?

TAG:數學 |