高等数学学习笔记——导数:瞬时与变化的悖论

高等数学学习笔记——导数:瞬时与变化的悖论
Kanwuqing由于换电脑, 导致这一章原本已经写完了之后又离奇消失, 以下是重新整理的笔记, 如思维较为跳跃请见谅
说是重新整理的, 其实大部分都是新写的
左右脑互搏, 好几个导数的板块整理到了一起, 估计是有史以来最长的一篇笔记(不算开发日志那种含有大段代码的)
创建于 \(2026-06-14 \quad 23:39:10\), 发布于 \(2026-06-28 \quad 00:52:??\)
1 导数是什么
在高中的学习中, 我们知道导数所代表的是瞬时变化率.
所谓瞬时, 指的是单个时间点; 而变化,
则是一个时间段, 二者天生是矛盾的.
考虑一个模型: 一辆车从 \(0m\)
处出发, 经过变速直线运动后达到 \(100m\)
处, 该函数 \(f(x)\) 绘制成 \(x-t\) 图像即: 
研究这个图形, 一开始的几秒里每秒的增量较少, 中间较多, 最后又变少, 体现在图中就是图形增长的陡与缓, 反应的就是车速的快与慢, 也就是仪表盘上的数值
然而, 对着仪表盘拍一张照, 其数值是可以被静态的照片所反应的, 然而, 对着一辆行驶中的汽车拍一张照, 我们显然无法看出汽车此时的速度, 且我们知道需要通过两张同一位置拍的照片来大致估算汽车的快慢, 而这其实才是速度真正反应的:并不是一瞬间的状态, 而是一段时间的状态, 速度的单位米每秒也反映出了这一点
那么仪表盘是如何”违背实际地”计算出车子的速度的? 事实上, 它是通过测量极其微小的一段时间(如 \(10^{-3}s\))的位移, 并算出这段时间内的平均速度近似认为是该瞬间的瞬时速度.
在上面的例子中, 平均速度的计算方式为 \(\frac{S_1-S_2}{t_1-t_2}\), 反应在图中恰好是这两点的割线斜率, 而我们知道, 平滑曲线的任意一点都可以作一条切线, 换句话说, 在一个邻域内, 对于一条曲线上的任意一个点, 有且仅有一条直线与该函数恰有一个交点(注意: 这个定义并不是切线的标准定义, 比如常值函数的切线就不符合)
由此我们可以隐约推测出二者之间的联系: 既然切线是过一个点的直线的斜率, 割线是过两个点, 那只要让两个点无限靠近不就是切线了吗? 这样一来算的依旧是变化率, 但是通过要多小有多小的一段时间恰好表示出了所谓的要多短有多短的”瞬间”, 我们可以这样表示:
\[ v_瞬=\lim_{t_1-t_2\to0}\frac{S_1-S_2}{t_1-t_2} \]
而这样求出的 \(v_瞬\) 关于 \(t\)
的函数我们便称之为原函数的导函数
因此, 对于导数最好的解释并不是什么瞬时变化率,
而是变化率的最佳近似
2 导数在几何上是什么
2.1 幂函数
考虑一个函数 \(f(x)=x^2\), 要是用几何来表示, 我们最先想到的大概率是一个边长为 \(x\) 的正方形的面积, 而其边长增加了 \(dx\) 后, 面积增加了 \(dx^2 + 2xdx\), 增量变化率为 \(\frac{2xdx+dx^2}{dx}=2x+dx\), 而由于 \(dx^2\) 太小, 可忽略不计, 因此我们近似认为变化率为 \(2x\), 根据上文中对于导函数的认识我们便发现, \(f(x)\) 的导函数为 \(f^\prime(x)=2x\)
用这样的方法我们同理可通过 \(lim_{dx \to 0}\frac{f(x+dx)-f(x)}{dx}\) 计算出对于一个立方体, 其边长增加 \(dx\) 后其体积变化率为 \(\lim_{dx \to 0}\frac{3x^2 dx+ndx^2+mdx^3}{dx}=3x^2\), 原因依旧是任何含有高于 \(dx\) 一次项的项都因除以 \(dx\) 后仍旧太小而忽略不计
由此我们猜测: 对于任意幂函数 \(f(x)=x^n\), 其导函数为 \(f^\prime(x)=nx^{n-1}\), 这似乎是一条在高中就烂熟于心的公式, 但是此处我们来仔细想想为什么:
我们要算的是 \((x+dx)^n-x^n\) 的展开式, 而通过二项式定理我们可以知道: \((x+dx)^n=x^n+C_{n}^{n-1}x^{n-1}dx+\cdots\), 其中 \(\cdots\) 所代表的是需要被忽略的(原因见上), 因此 \((x+dx)^n-x^n=C_{n}^{n-1}x^{n-1}dx\), 于是我们便得到 \((x+dx)^n-x^n=C_{n}^{n-1}x^{n-1}dx\), 于是我们便得到 \(f^\prime(x)=nx^{n-1}\)
类似地, 当幂次变为负数时, 我们依旧可以用几何视角来思考: 如 \(f(x)=x^-1\), 它代表的不就是面积为 \(1\) 的长方形宽随着长 \(x\) 变化关系吗, 因此通过上文中类似的方法我们也可以验证出 \(f^\prime(x)=-x^{-2}\)
2.2 三角函数
这里很显然(真的吗)不能通过三角函数图像来观察切线斜率的变化了,
我们需要作出单位圆, 通过圆上三角形对边比斜边的关系来观察, 拿 \(f(x)=sinx\) 举例: 
图上量很多, 但可以先不看
当我们要求 \(f(x)^\prime=\lim_{d\theta \to 0}\frac{sin(\theta+d\theta)-sin\theta}{d\theta}\) (\(\theta\) 为弧度)时, 我们最先要做的是找到该如何表达出 \(sinx\)
我们知道, 在单位圆中, 圆心角为 \(\theta\) 所对应的弧长就是 \(\theta\), 而因为 \(d\theta\) 足够小, 因此我们可以直接将其对应的弧认为是一条线段, 且这条线段所在直线恰好是圆的一条切线, 与大三角形的斜边垂直, 进而两个三角形构成了相似的关系(一线三垂直), 而大三角形对边边长是 \(sin\theta\). 在这里, \(sin\theta\) 对应的是大三角形的对边长, \(sin(\theta+d\theta)\) 对应的是逆时针旋转 \(\theta\) 后形成的新大三角形(图上没画出来)的对边长, 也就是大三角形的对边加上小三角形的邻边. 通过相似关系(相似比为 \(d\theta\))可推得小三角形邻边边长就是 \(d\theta cos\theta\), 因此带入公式我们得到 \(\lim_{d\theta \to 0}\frac{sin(\theta+d\theta)-sin\theta}{d\theta}=\lim_{d\theta \to 0}\frac{d\theta cos\theta}{d\theta}=cos\theta\)
2.3 指数函数
将这个函数的求导放在这一章节仅仅是为了使结构更为整齐, 但是先阅读链式法则一章
考虑指数函数 \(f(x)=2^x\), 要想对其求导, 我们首先枚举几个小数据来尝试感受一下其导函数: 当 \(x\) 从 \(1\) 增长到 \(2\) 时, 其变化率为 \(\frac{f(2)-f(1)}{1}=2=f(1)\), 同理接下来从 \(2\) 到 \(3\), \(3\) 到 \(4\) 等分别是 \(4\), \(8\), \(16, \cdots\), 那么难道说 \(f^\prime(x)=f(x)?\)
再从导数的定义式出发, \(f^\prime(x)=\lim_{dx \to
0}\frac{f(x+dx)-f(x)}{dx}=\lim_{dx \to
0}\frac{2^{x+dx}-2^x}{dx}=2^x\lim_{dx \to
0}\frac{2^{dx}-1}{dx}\), 而对于后面这个分数, 我们可以感觉到在
\(dx\) 不断向 \(0\) 逼近时, \(2^dx\) 趋向于 \(1\), 那么分子与分母就均趋向于 \(0\), 直觉告诉我们这个式子也会趋向于某一值,
根据洛必达法则可以知道此时的极限就是 \(\lambda=\frac{\lim_{dx \to 0}2^{dx}-1}{\lim_{dx
\to 0}dx}=\frac{\lim_{dx \to 0}\frac{2^{dx}-1}{dx}}{\lim_{dx \to
0}\frac{dx}{dx}}=\frac{(2^x-1)^\prime}{x^\prime}=(2^x)^\prime=f^\prime(x)\),
而上文中又有 \(f^\prime(x)=\lambda
f(x)=f^\prime(x)f(x)\), 那么 \(f^\prime(x)=1\)???
这就是高中期间洛必达乱用的结果, 以为眼睛一闭啥都能洛, 但是在上文中分母是趋向于 \(0\) 的, 因此上下不能同时除以一个 \(dx\), 且在后文中也不能再包一层极限再求导
但是上文中的推导还是右可取之处的, 比如 \(\lambda\) 的确有极限取值. 而我们要做的是就是求出 \(\lim_{dx \to 0}\frac{2^{dx}-1}{dx}\)
这里我们不妨先发散思维, 想一想是否 \(\exists a \in R, s.t.
\lambda_a=1?\)这里直接给出结论, 的确存在, 而且这个底数就是 \(e\), 而且这还就是 \(e\) 的定义式
有了 \(e\), 我们就可以借助链式法则来求出其他指数函数的导函数
对于任意一个指数函数 \(a^x\), 其可以表示为 \(e^{ln(a)x}\), 那么通过链式法则, 且 \(ln(a)\) 是一个常数, 所以其导函数就是 \(ln(a)e^{ln(a)x}=ln(a)a^x\)
在这里我们也略微感受到了为什么 \(e\)
被称为自然常数, 因为定义它的目的是一个十分自然的想法
2.4 对数函数
请先保证你已经读完了隐函数求导
我们知道, 对数函数是指数函数的反函数, 即对于 \(y=a^x\), 其也可以被表达为 \(x=log_a{y}\)
和指数函数类似, 我们也从特殊的底数 \(e\) 出发, 对于 \(f(x)=y=lnx \Leftrightarrow x=e^y\), 那么对于左右两边分别用导函数改写, 得到 \(dx=e^ydy\), 即 \(\frac{dy}{dx}=\frac{1}{e^y}=\frac{df}{dx}=f^\prime(x)=\frac{1}{x}\)
同样地, 对于 \(\forall a \in R^+, a=e^{ln(a)}\), \(y=log_a{x} \Leftrightarrow x=a^y=e^{ln(a)y}\), 那么对于左右两边分别用导函数改写, 得到 \(dx=ln(a)e^{ln(a)y}dy\), 即 \(\frac{dy}{dx}=\frac{1}{ln(a)e^{ln(a)y}}=\frac{df}{ln(a)dx}=f^\prime(x)=\frac{1}{ln(a)x}\)
3 求导法则
如同在线性代数里学习的那样, 求导底层除了基本函数的导函数外一共有 \(2\) 种组合: 相加, 复合
3.1 函数相加
这个法则是最好理解的: \((f(x)+g(x))^\prime=f^\prime(x)+g^\prime(x)\)
这里要用导数的定义来理解: 我们知道 \((f(x)+g(x))^\prime=\lim_{dx \to 0}\frac{f(x+dx)+g(x+dx)-f(x)-g(x)}{dx}=\lim_{dx \to 0}\frac{f^\prime(x)+g^\prime(x)}{dx}=f^\prime(x)+g^\prime(x)\)
数乘也可以通过此方法轻易推得 \((nf(x))^\prime=nf^\prime(x)\)
3.2 复合
3.2.1 函数相乘/除
函数相乘, 在图像上难以表示, 就算表示出来也十分不直观.
而研究乘法的时候我们常常用到的理解方式是面积,
考虑一个长方形, 其长为 \(f(x)\), 宽为
\(g(x)\). 当 \(x\) 增加 \(dx\) 时, 其面积增加了 \(3\) 个长方形的面积, 分别是 \(x^2d(sinx), d(x^2)sinx, d(x^2)d(sinx)\),
如图所示: 
因此, 在计算其导数时, 我们根据导数定义得到的结果就是 \(\lim_{dx \to 0}\frac{x^2d(sinx)+d(x^2)sinx+d(x^2)d(sinx)}{dx}\), 而 \(d(x^2)=2xdx\), 原因是 \(\frac{d(x^2)}{dx}=2x\), 由此我们可以将原来的式子化简为 \(\lim_{dx \to 0}\frac{x^2cosxdx+2xsinxdx+2xcosxdx^2}{dx}=\lim_{dx \to 0}x^2cosx+2xsinx+2xcosxdx=x^2cosx+2xsinx=f^\prime(x)g(x)+f(x)g^\prime(x)\), 这也就是左导右不导加右导左不导的由来
而当面积为 \(f(x)\), 长为 \(g(x)\) 时, 我们就可以推出函数除法的导函数了: \((\frac{f(x)}{g(x)})^\prime=\frac{f^\prime(x)g(x)-f(x)g^\prime(x)}{g(x)^2}\)
3.2.2 复合函数
考虑函数 \(f(x)=x^2, g(x)=sinx, g(f(x))^\prime\) 是什么?
直接想当然不好想, 不过我们可以先考虑: 当 \(x\) 发生变化 \(dx\) 时, \(f(x)\) 的变化为 \(df=d(x^2)\)
在 \(f\) 发生变化 \(df\) 时, \(dg=g^\prime(f(x))*df\), 因此 \(g(f(x))^\prime=\frac{dg}{dx}=g^\prime(df)\frac{df}{dx}=g^\prime(f(x))f^\prime(x)\),
这便是复合函数的导函数, 而大多数情况下,
最终函数可能是由多个不同的初等函数复合而成, 此时我们就需要由外而内,
逐步从外层推导至内层, 这就是链式一词的由来
4 隐函数求导
考虑圆的方程: \(x^2+y^2=1\), 要想求过其上一点的切线方程, 核心需要求得的是这条切线的斜率. 然而, 这并不是一个函数, 因此我们也不能直接用上文所说的函数求导的方式来求出斜率
事实上, 对于类似于圆的曲线方程又被称为隐函数曲线,
其表示所有符合要求的点的集合好像是句废话
对于这种隐函数, 我们会同过将含有未知数的项分别求导(其实说分别求导不太严谨, 更严谨的说法是用导函数来表达原先的式子), 并写出 \(\frac{dy}{dx}\) 的值, 由此确定斜率. 举个例子, 过上文曲线上的一点 \((\frac{3}{5}, \frac{4}{5})\), 我们先对曲线求导并改写式子, 原式可写作: \(2xdx+2ydy=0\), 然后我们就可以得到 \(\frac{dy}{dx}=-\frac{x}{y}=k\), 带入数据就可以得到这条切线的斜率是 \(-\frac{3}{4}\)
那么这种方式为什么是对的? 在解释这个问题之前,
我们先来研究相关变化率
与上文模型类似, 考虑一堵垂直于地面的墙壁, 有一把梯子斜靠在墙壁上, 其长度为 \(5\), 上端距离地面 \(4\), 并按 \(1m/s\) 的速度向下滑动, 那么求此时水平端的速度?
通过对于导数的学习我们知道, 要求 \(v_x\), 实际是要求 \(\frac{dx}{dt}\), 且有 \(x^2+y^2=5, x,y\geq0\) 恒成立. 正常来说, 我们会将 \(y\) 写作关于 \(t\) 的函数 \(y(t)=4-t\), 那么 \(x\) 同样可以被写成关于 \(t\) 的函数, 再直接对 \(t\) 求导即可
但是我们不妨再思考一种更为神奇的想法: 既然 \(x,y\) 都可已被写成关于 \(t\) 的函数, 那么我们为什么不直接在原式中对 \(t\) 求导呢? 我们将 \(x(t)^2+y(t)^2\) 视为一个新函数 \(f(t)\), 且别忘了 \(x(t)^2\) 本身就是一个复合函数, 那么根据链式法则, 我们知道 \(f^\prime(t)=2x(t)x^\prime(t)+2y(t)y^\prime(t)=0\), 又因为 \(x(t)=3, y(t)=4, y^\prime(t)=1\), 我们可以直接解得 \(x^\prime(t)=\frac{4}{3}\)
回到圆(曲线)上的问题, 与梯子问题最大的区别在于圆上点的 \(x,y\) 坐标并不是依靠 \(t\) 这个参数联系起来的, 而是巨有某种直接的关联, 我们不妨设 \(S(x,y)=x^2+y^2\), 这是个二元函数, 其反映了点到圆点的距离. 当圆上点的 \(x,y\) 坐标都发生了微小变化, 我们可以先换略点是否还在圆上这个问题, 而是考虑 \(S\) 的改变量 \(dS\), 而 \(dS\) 可以直接被表达为 \(2xdx+2ydy\), 原因是两个变量完全独立, 可以分别求导, 且 \(S\) 值恒不变, 那么 \(dS\) 就应该恒为 \(0\), 由此推得了上文的结论
我们再来尝试一个例子: \(L:
cos(x^2)*y^2=x\), 尝试求切点为 \(A(x_0,
y_0), A \in L\)的切线斜率, 看起来很恶心,
其实也很恶心——因为是我随便编的🙃做人起见, 还是放一张大致的图像吧 
采取和上文相同的策略, 我们可以先让 \(A\) 分别移动 \(dx, dy\), 而先不考虑 \(A^\prime\) 是否还在曲线上. 首先对左右两边分别求导改写, 得到 \(-2xy^2sin(x^2)dx+2ycos(x^2)dy=dx\), 那么接下来就是求解 \(\frac{dy}{dx}\) 了, 通过化简我们得到 \(\frac{dy}{dx}=\frac{1+2xy^2sin(x^2)}{2ycos(x^2)}=k\), 由此进而可以得到切线的方程
——吗? 别忘记讨论斜率不存在的情况, 此时 \(2ycos(x^2)=0\), 在该函数中显然是存在的, 此时切线斜率不存在, 过原点, 即 \(y\) 轴
如果还有更为严谨地验证, 在此处补全: 若 \(y=0\), 则 \(x=0\) 唯一确定 若 \(cos(x^2)=0\), 则 \(x^2=2k\pi+\frac{\pi}{2}, k \in \Z\), 则此时原式不可能成立
其他普通的值代一组验证即可(为了验证方便, 取了近似值) 
