高中數學/微積分初步/一階導數的概念與求導法則
閱讀指南
[編輯]希望快速了解或快速回顧高中數學的讀者可以只看基礎知識部分。其餘部分是為需要參加學科考試或需要一定知識提升的讀者準備的。
導數主要用於解決求函數的極值、平滑曲線的切線。本節只涉及導數的基本定義和計算公式,順便提及了洛必達法則。導數的更多具體運用(求切線方程、求最值、求單調區間等)會留到後面幾節繼續學習。
預備知識
[編輯]閱讀本節,一般需要先學習有關極限及其計算的知識,特別是常見函數的導函數公式的推導過程需要使用極限運算規律。如果讀者暫時不希望了解導數公式的由來,只想關心導數是什麼及其公式用法,也可以先跳過極限的學習。
考試要求
[編輯]在中國大陸,導數這個知識點曾一度排除在高考範圍以外。1978年中國大陸高考制度恢復正常後,微積分入門知識也跟着加入高考內容大綱。但是由於當時的中學缺乏微積分教與學的經驗,學生普遍反映難學,所以不久後變為只考察簡單的極限計算,其它微積分學知識僅供學生自由選學。從2001年推廣的試驗本教材又重新將導數等知識納入考試大綱。[1]
基礎知識
[編輯]知識引入
[編輯]導數是一種差商(difference quotient)的極限,也被翻譯為微商。最常見的例子就是物理量隨時間的瞬時變化率。
導數的定義與直接計算
[編輯]假定函數f(x)在某一點a及其領域上有定義,若函數值在該點附近的平均變化率的極限存在,就將此極限稱為f(x)在點a處的導數(derivative),記作「」;若此極限不存在,就稱f(x)在a不存在導數,簡稱在a點不可導。[2]
函數在點a上的導數,就是對應的平面曲線在點(a, f(a))處的切線斜率。[2]
提示:為區別後面會接觸到的二階與高階導數,我們將這裡定義的導數稱為函數的一階導數。
提示:可以類比極限和單側極限的關係,定義出2種單側導數:左導數為,右導數為。
導數不存在的例子
[編輯]導函數與常用求導公式
[編輯]若函數f(x)在區間A上的每一點都可求導,就稱f(x)在A上是可導的。[2]
按照可導性的定義,對於一個區間A上可導的函數f(x),它在A上的每一個點都有一個確定的導數值。此時,這種點與導數之間的對應關係構成一個新的函數,叫做f(x)的導函數,簡稱導數[2],記作f'(x)或。
提示:(1)在英文中並不用2個不同的詞區分導函數和導數,而只有「函數在一點處的導出量」(derivative of the function at a point)和「函數的導出量(derivative of the function)」的說法。(2)由於導數和另一個叫做微分(differential)的概念之間存在直接聯繫,所以英文中把「可導」直接叫做可微(differentiable),把「求導的過程」叫做微分化(differentiation)。大體上講,可導和可微分的概念出發點並不同,但是至少對於一元函數來說,是可以證明其可導性和可微分性是相互等價的。漢語中區分「導數」的概念和「微分」的概念是一個好的做法,但是由於英文中經常不區分二者,所以在英漢互譯時會出現術語混淆。例如許多漢語微積分教材都會明確區分「一元函數的導數」和「一元函數的微分」,但是卻將「多元函數的微分」譯為「多元函數的導數」。還有「全導數」(total derivative)和「全微分」(total differential)到底是否需要作區分也是譯法混亂不堪。某些名為《高等數學》的圈錢教材甚至有出現正文中從未定義過全導數是什麼,但是在課後習題中卻又明確要求讀者計算全導數的情況。
- (其中C是常數。)
此公式列表也叫做導數公式表(table of derivatives)。
2個可導函數的四則運算結果的導數公式如下[5]:
- (求導運算的線性(linearity)。)
提示:求導運算是一種從一個函數到另一個函數的映射(函數)。如果按照線性泛函分析的講法,將函數比作抽象的向量,那麼求導就是一種抽象向量之間的線性變換。如果這種變換是可逆的,當然也有可能定義其逆變換。而關於求導的逆運算有何含義,我們將在不定積分與微積分基本定理簡介一節中再繼續討論這個話題。
相關例題1: 利用基本函數的求導公式和函數四則運算的求導公式,分別求下列函數的導數:
- (1) ;
- (2) ;
- (3) ;
- (4) ;
- (5) ;
- (6) 。
- (1) ;
- (2) ;
- (3) 。
複合函數求導的鏈式法則
[編輯]單靠上述幾個基礎的求導公式,還不足以充分解決複合函數的求導問題。我們實際經常遇到的各種函數往往也是由若干個基本函數複合而成的。關於複合函數的求導,也能摸索出下列公式:
鏈式法則(chain rule):設和為2個可導函數,則複合函數的導數為[6]:
提示:對於內外複合多次的函數,可以多次使用鏈式法則,得到像鏈條一樣常常的計算公式,這就是鏈式法則的得名原因。
- (1) ;
- (2) 雙曲正弦函數;
- (3) ;
- (4) ;
- (5) 。
相關例題2: 將下列函數看作複合函數(不進行化簡),直接驗證鏈式法則所得結果的合理性:
- (1) ;
- (2) 。
相關例題3:
假設函數f(z)、z = g(x)都是在各自定義域內的可導函數。請利用鏈式法則驗證複合函數的下列單調性規律(即「同增異減」規律):
①如果f(z)與g(x)同為增函數或同為減函數,則複合函數f(g(x))是增函數;
②如果f(z)與g(x)一個是增函數,另一個是減函數,則複合函數f(g(x))是減函數。
由正弦函數與餘弦函數的導數關係,結合其周期性和奇偶性,可以猜想下列命題:
- (1) 如果函數f(x)是周期函數,那麼導函數f'(x)也是周期函數,且導函數的周期與原函數的周期相同;
- (2) 如果函數f(x)是奇函數,那麼其導函數是偶函數;如果函數f(x)是偶函數,那麼其導函數是奇函數。
上述事實說明:
相比有關奇偶性與周期性的簡單規律之外,求導更多的是用於分析可導函數的單調性。我們將在後續的導數與單調性和極值的關係一節中再繼續討論這個內容。
常用結論與常見模型
[編輯]先變形再求導
[編輯]- (1);
- (2);
- (3)。
- (1) ;
- (2) ;
- (3) 。
知識背景:上例中的這類技巧實際上涉及對隱函數求導的理論,感興趣的讀者可以自行參閱相關章節的知識。
- (1) ;
- (2) ;
- (3) 。
最後,對於實變量的復值函數,也可以以類似的方式定義並求出導函數。並且可以在複數域內作因式分解等化簡工作。
相關例題7: 設i是虛數單位,求函數的導函數。
洛必達法則
[編輯]導數是從極限的思想出發來定義的,常見的導數公式也是通過計算極限推知的。不過反過來,有了導數公式以後,也能利用它輕鬆地求解某些在以往不太好辦的未定式極限,這要說到下面的法則。
這個公式叫做洛必達法則(L'Hôpital's rule),以法國學者紀堯姆·德·洛必達(Guillaume de l'Hôpital)命名。
洛必達法則提供了一種對分式型未定式上下同時求導,然後再取極限的辦法。在很多習題中,對分子或分母分別求導後,能夠降低其解析式的複雜程度(特別是對於多項式可以起到降冪的效果),所以起到簡化問題的效果。
玩笑:根據維基百科上似乎來歷不明的說法,L'Hôpital古時寫作帶s的L'Hospital。考慮到法語中的字母「h」永遠不發音,所以我們有理由稱其為「醫院法則」(hospital rule)。
提示:洛必達法則是非常順手的求極限工具,使用它對付考試中的選擇題和填空題很好用,但是不建議初學者濫用它,使用基礎的方法更能鍛煉運算方面的技巧。
- (1);
- (2)。
當使用洛必達法則對未定式處理過一次後,只要仍然符合使用條件,還可以繼續使用洛必達法則。話句話說,只要條件合適,洛必達法則可以多次使用。
計算機技術輔助
[編輯]Mathematica
[編輯]在Mathematica軟件中,直接使用「D」命令求導函數[7]:
fun[x_] := x^7 + Sin[x] + x * Log[x]; (* 自定义要求导的函数,并取名为fun *)
D[fun[x], x] (* 以x为自变量,求f的导函数 *)
提示:在Mathematica的Wolfram語言中,「=」表示賦值,「==」表示相等,「:=」表示符號的定義。
也可以更痛快一點,直接把定義函數和求導寫成一行代碼[8][9]:
D[5 Sin[x] + Cos[3x], {x, 2}]
可以直接定義新函數的導函數,而不直接定義函數本身[10]:
fun'[x_] := Sin[x]; (* 直接定义fun(x)的导数为正弦函数 *)
D[fun[x], x] (* 对f(x)求导 *)
D[fun[x^2], x] (* 对复合函数f(x^2)求导 *)
MATLAB
[編輯]使用MATLAB的符號數學工具箱,可以計算函數的導函數。求導運算主要是用到「diff」命令[11]:
syms x %定义一个新的符号量,取名为x
fun = sin( 5*x ); %定义一个以x为自变量的正弦型的函数,取名为fun
diff( fun ) %求f的导函数
對常數求導,也是需要先將其轉換為符號才行[11]:
cons = sym('5');
diff( cons )
提示:MATLAB的diff命令其實既可以計算向量的差,也可以計算導函數。它會針對不同類型的參數,自動選擇合適的行為(也就是說實現了功能重載)。[12]
MATLAB對於多項式函數可以採用向量式的記法,即將多項式的各個係數按順序寫成向量。MATLAB也單獨提供了計算這種形式的多項式的導函數的「polyder()」方法。例如求的導函數(輸入和輸出都是多項式的係數向量)[12]:
polyder( [ 4 1 0 3 ] )
Octave
[編輯]GNU Octave只提供了計算多項式導函數的「polyder()」方法[13](功能和用法模仿自MATLAB),但未直接提供計算一般函數的導數值或導函數的功能。
Octave雖然像MATLAB一樣提供了名為「diff」的命令,但是這個命令只有求2個向量之差的功能,而沒有實現求導數的功能[14]。
Python
[編輯]Python的符號計算包SymPy提供了「diff()」方法可以在符號對象上執行求導函數的操作[15]:
from sympy import * #导入SymPy包中的所有功能
x = Symbol('x') #定义x为代数符号
y = x**2 + 1 #定义y与x的解析表达式
y_prime = y.diff( x ) #用y对x求导
print( y_prime ) #输出结果查看
fun = lambdify(x, y_prime) #使用刚才得到的求导结果构造新函数,取名为fun
print( fun(5) ) #输出x=5时的导函数值
除符號式計算外,Python也有其它數值式計算的功能包可以計算函數在特定點處的導數值。
補充習題
[編輯]- 解釋這則笑話的數學含義(求導運算就是一種微分算子,是對x求導的運算,而是對y求導的運算):
常函數和指數函數走在街上,遠遠看到一個微分算子。常函數嚇得慌忙躲藏,說:「被它微分一下,我就什麼都沒有啦!」指數函數不慌不忙道:「它可不能把我怎麼樣,我是!」指數函數與微分算子相遇,指數函數自我介紹道:「你好,我是。」微分算子道:「你好,我是!」
參考資料
[編輯]- ↑ (簡體中文)張嘵波.高中微積分教學探究(pdf).華東師範大學.
- ↑ 2.0 2.1 2.2 2.3 人民教育出版社中學數學室. 第3章「導數」第1部分「導數」第3.1節「導數的概念」. 數學. 全日制普通高級中學教科書 (選修). 第3冊 (選修2) 1. 中國北京沙灘后街55號: 人民教育出版社. 2004: 108–114. ISBN 7-107-17448-7 (中文(中國大陸)).
- ↑ 人民教育出版社中學數學室. 第3章「導數」第1部分「導數」第3.2節「幾種常見函數的導數」. 數學. 全日制普通高級中學教科書 (選修). 第3冊 (選修2) 1. 中國北京沙灘后街55號: 人民教育出版社. 2004: 114–115. ISBN 7-107-17448-7 (中文(中國大陸)).
- ↑ 人民教育出版社中學數學室. 第3章「導數」第1部分「導數」第3.5節「對數函數與指數函數的導數」. 數學. 全日制普通高級中學教科書 (選修). 第3冊 (選修2) 1. 中國北京沙灘后街55號: 人民教育出版社. 2004: 123–125. ISBN 7-107-17448-7 (中文(中國大陸)).
- ↑ 人民教育出版社中學數學室. 第3章「導數」第1部分「導數」第3.3節「函數的和、差、積、商的導數」. 數學. 全日制普通高級中學教科書 (選修). 第3冊 (選修2) 1. 中國北京沙灘后街55號: 人民教育出版社. 2004: 118–120. ISBN 7-107-17448-7 (中文(中國大陸)).
- ↑ 人民教育出版社中學數學室. 第3章「導數」第1部分「導數」第3.4節「複合函數的導數」. 數學. 全日制普通高級中學教科書 (選修). 第3冊 (選修2) 1. 中國北京沙灘后街55號: 人民教育出版社. 2004: 121–123. ISBN 7-107-17448-7 (中文(中國大陸)).
- ↑ (簡體中文)D——Wolfram語言與系統 參考資料中心.Wolfram語言與系統 參考資料中心.
- ↑ (英文)Michael Carreno.Calculating Derivatives with Mathematica.普林斯頓大學計算機系.
- ↑ 斯蒂芬·沃爾夫雷姆. 第3章「Mathematica中的高級數學」第3.5節「微積分」第3.5.1小節「微分」. The Mathematica Book [Mathematica全書 (特別版)]. 赫孝良 (漢譯者); 周義倉 (漢譯者) 4. 西安交通大學出版社. 2002: 504. ISBN 9787560515441 (中文(中國大陸)).
- ↑ 斯蒂芬·沃爾夫雷姆. 第3章「Mathematica中的高級數學」第3.5節「微積分」第3.5.5小節「定義導數」. The Mathematica Book [Mathematica全書 (特別版)]. 赫孝良 (漢譯者); 周義倉 (漢譯者) 4. 西安交通大學出版社. 2002: 508–509. ISBN 9787560515441 (中文(中國大陸)).
- ↑ 11.0 11.1 (英文)Differentiation.MathWorks Help Center.
- ↑ 12.0 12.1 (英文)Robert Smyth.3.3 Differentiation Rules.The Cooper Union for the Advancement of Science and Art.
- ↑ (英文)John W. Eaton(2018年).28.4 Derivatives / Integrals / Transformss.GNU Octave官方網站.
- ↑ (英文)Function Reference: diff.Octave Forge(2018年).
- ↑ (英文)SymPy 1.8 documentation » SymPy Tutorial » Calculus.SymPy官方網站(2021年1月31日).