文章目錄
- 微分
-
- 1 連續性
- 2 求導
重讀微積分(一):極限
重讀微積分(二):三個極限常數的來源
重讀微積分(三):洛必達法則
微分
1 連續性
衆所周知微分的幾何意義是斜率,然而斜率最初的定義隻涉及直線,指的是 y = k x + b y=kx+b y=kx+b中的 k k k,而對任意曲線 y = f ( x ) y=f(x) y=f(x)而言,若想談其斜率,就必須先做出其切線,換句話說, y = f ( x ) y=f(x) y=f(x)其在 x 0 x_0 x0點的導數,是 f ( x ) f(x) f(x)在 x 0 x_0 x0點的切線的斜率。
從幾何的視角去看, y = f ( x ) y=f(x) y=f(x)在 x 0 x_0 x0點的切線首先要過 x 0 x_0 x0點,然後要求在足夠小的區間内,和 f ( x ) f(x) f(x)方向一緻,進而才能說二者切在了一起。而所謂方向一緻,直覺的說法就是,在這個足夠小的區間内,二者幾乎重合。就像此前畫的 sin x \sin x sinx和 x x x在 x = 0 x=0 x=0附近的那張圖一樣。
這意味着,并非所有的函數都在任意點處存在切線。最直覺的例子就是随機函數,對于 y = r ( x ) y=r(x) y=r(x)來說,任何一點都随機地對應 ( 0 , 1 ) (0,1) (0,1)區間中的某個點,由于這種對應足夠稠密,任何位置都沒有切線。
比如下面這個随機函數
x = seq(0,0.1,0.01)
y = runif(11,0,1)
plot(x,y)
lines(x,y)
盡管看上去任意一點都可畫出一條不與相鄰點相交的直線,但問題在于,我們所繪制的這個圖隻是對随機函數的一個抽樣,在其任意相鄰的兩個點的中間,都有無窮多個 ( 0 , 1 ) (0,1) (0,1)區間内的點,是以無論在 x 0 x_0 x0處繪制一條怎樣的曲線,對于任意小的 ε \varepsilon ε,我們都能找到一點 ( x , f ( x ) ) (x,f(x)) (x,f(x)),滿足 ∣ x − x 0 ∣ < ε |x-x_0|<\varepsilon ∣x−x0∣<ε的同時, ( x 0 , f ( x 0 ) ) (x_0,f(x_0)) (x0,f(x0))到 ( x , f ( x ) ) (x,f(x)) (x,f(x))沒有任何重合的意圖。
這個案例啟發我們必須對函數進行一次劃分,把随機函數這種過于混亂的東西從我們的研究對象中剔除,進而我們需要引入連續的概念。
對于 r ( x ) ∈ ( 0 , 1 ) r(x)\in(0,1) r(x)∈(0,1)的随機函數來說,對任意一點 x 0 x_0 x0,我們建立一個任意小的區間 [ x 0 − ε , x 0 + ε ] [x_0-\varepsilon,x_0+\varepsilon] [x0−ε,x0+ε],這個區間的值域恒為 ( 0 , 1 ) (0,1) (0,1),如果我們畫出 ( 0 , 0.01 ) (0,0.01) (0,0.01)區間内的1000個點,那麼大緻是這樣的
x = seq(0,0.01,0.00001)
y = runif(1001,0,1)
plot(x,y)
無論我們把區間縮小到什麼程度,這種亂糟糟的仿佛要鋪滿整個坐标圖的點的樣式并不會發生變化。
但直線 y = x y=x y=x卻非如此,對任意一點 x 0 x_0 x0,我們建立一個任意小的區間 [ x 0 − ε , x 0 + ε ] [x_0-\varepsilon,x_0+\varepsilon] [x0−ε,x0+ε],這個區間的值域為 ( x 0 − ε , x 0 + ε ) (x_0-\varepsilon,x_0+\varepsilon) (x0−ε,x0+ε),随着 ε \varepsilon ε的不斷縮小,這個區間也不斷地趨近于0。
由此,我們可以定義連續函數:即随着定義域的區間長度趨近于0,則值域的區間長度也趨近于0的函數。
區間長度趨近于0就意味着區間内的元素個數越來越少,甚至到了常數個,乃至剩下最後一個。也就是說,随着 x → x 0 x\to x_0 x→x0,必有 f ( x ) → f ( x 0 ) f(x)\to f(x_0) f(x)→f(x0)。這就是最常見的連續性的定義
lim x → x 0 f ( x ) = f ( lim x → x 0 x ) = f ( x 0 ) \lim_{x\to x_0}f(x)=f(\lim_{x\to x_0}x)=f(x_0) x→x0limf(x)=f(x→x0limx)=f(x0)
需要注意的是,上式中, f ( lim x → x 0 x ) = f ( x 0 ) f(\lim_{x\to x_0}x)=f(x_0) f(limx→x0x)=f(x0)之是以成立,乃因 f ( x ) = x f(x)=x f(x)=x是不證自明的連續函數。
把一個連續函數變成不連續的函數十分簡單,隻要把其中任意一個點扣掉就可以了,例如函數 y = f ( x ) y=f(x) y=f(x)顯然是連續的,但下面這個函數就顯然不連續。
f ( x ) = { x , x ≠ 0 1 , x = 0 f(x)=\left\{\begin{aligned} x,\quad &x\not=0\\ 1,\quad&x=0 \end{aligned}\right. f(x)={x,1,x=0x=0
或者把一個連續的函數撕成兩半,比如下面這個
f ( x ) = { x , x > 0 x + 1 , x ≤ 0 f(x)=\left\{\begin{aligned} &x,\quad &x>0\\ &x+1,\quad&x\leq0 \end{aligned}\right. f(x)={x,x+1,x>0x≤0
而這個函數在 x = 0 x=0 x=0的時候又有了一個奇怪的性質,即
lim x → x + f ( x ) = 0 ≠ f ( 0 ) lim x → x − f ( x ) = 1 = f ( 0 ) \begin{aligned} \lim_{x\to x_+}f(x)=0\not =f(0)\\ \lim_{x\to x_-}f(x)=1=f(0)\\ \end{aligned} x→x+limf(x)=0=f(0)x→x−limf(x)=1=f(0)
也就是說, f ( x ) f(x) f(x)從左邊趨近于0的時候,f(x)在0處是連續的,而在右側趨近于0的時候,卻并不連續。此即左連續和右連續的概念。
2 求導
回到切線的問題,如果曲線 y = f ( x ) y=f(x) y=f(x)在 x 0 x_0 x0點并不連續,那麼這點顯然沒有唯一的一條切線。
有的時候,盡管滿足了連續性的要求,也不一定存在切線,比如
y = ∣ x ∣ y=|x| y=∣x∣
x = seq(-10,10)
y = abs(x)
plot(x,y,type='l')
在 x = 0 x=0 x=0的位置,我們找到的切線要麼和左邊重合,要麼和右邊重合,也就是說這個函數在 x = 0 x=0 x=0處存在兩條切線。
同時也就意味着這一點有兩個斜率,兩個導數。是以,如果把導數定義為某種映射,則一個點不可能映射為兩個導數,是以甯願讓這點的導數不存在。
這種為了保證映射成立而舍棄某個值的做法并不罕見,早在中學時代, N \sqrt N N
就是個典型的例子,在定義偶數次根的時候,我們把負值舍棄了。但這裡做得更絕,左右兩端的值都被舍棄了,進而被判定不可導。
在對求導有了直覺的幾何印象之後,我們再來用分析的語言表述何謂“在足夠小的區間内幾乎重合”。
對于曲線 y = f ( x ) y=f(x) y=f(x),在 x = x 0 x=x_0 x=x0處的切線為 y = k x + b y=kx+b y=kx+b,則滿足
lim ε → 0 f ( x 0 + ε ) − [ k ( x 0 + ε ) + b ] = 0 \lim_{\varepsilon\to0}f(x_0+\varepsilon)-[k(x_0+\varepsilon)+b]=0 ε→0limf(x0+ε)−[k(x0+ε)+b]=0
由于二者在 x 0 x_0 x0點重合,即 f ( x 0 ) = k x 0 + b f(x_0)=kx_0+b f(x0)=kx0+b這個式子可以寫為
lim ε → 0 f ( x 0 + ε ) = lim ε → 0 [ k x 0 + b + k ε ] = lim ε → 0 [ f ( x 0 ) + k ε ] \lim_{\varepsilon\to0}f(x_0+\varepsilon)=\lim_{\varepsilon\to0}[kx_0+b+k\varepsilon]=\lim_{\varepsilon\to0}[f(x_0)+k\varepsilon] ε→0limf(x0+ε)=ε→0lim[kx0+b+kε]=ε→0lim[f(x0)+kε]
整理可得
k = lim ε → 0 f ( x 0 + ε ) − f ( x 0 ) ε k=\lim_{\varepsilon\to0}\frac{f(x_0+\varepsilon)-f(x_0)}{\varepsilon} k=ε→0limεf(x0+ε)−f(x0)
k k k就是導數。寫成我們熟悉的形式就是
f ′ ( x 0 ) = lim Δ x → 0 f ( x 0 + Δ x ) − f ( x 0 ) Δ x f'(x_0)=\lim_{\Delta x\to0}\frac{f(x_0+\Delta x)-f(x_0)}{\Delta x} f′(x0)=Δx→0limΔxf(x0+Δx)−f(x0)
若将 d x \text dx dx定義為 x x x的微小變化量, d y \text dy dy定義為 y y y的微小變化量,則導數可以寫成微分的形式
f ′ ( x 0 ) = d y d y ∣ x = x 0 f'(x_0)=\frac{\text dy}{\text dy}|_{x=x_0} f′(x0)=dydy∣x=x0