如何理解导数的概念 ?

先交代教育背景,非211大一工科在读,蹭了一学期数学专业的数分课。关于导数,我有以下问题: 1、导数是函数的一个局部性质。它指的到底是函数在一点及其附…
关注者
1,537
被浏览
1,027,261

81 个回答

先简短地回答下我对“什么是导数”的认识:导数是用来找到“线性近似”的数学工具。

下面我来解释一下,为什么我是这样认为的。

在我学习微积分的过程中,我对导数的认知经历了三次变化:

  • 导数是变化率、是切线的斜率、是速度、是加速度
  • 导数是用来找到“线性近似”的数学工具
  • 导数是线性变换

我认为第一种认知比较片面,在多元函数的情况下甚至是错误的。第二种认知更接近微积分的本质,第三种认知是为了实现第二种认知发展出来的。

因为种种原因,我们的学习都是从第一种认知开始的。我会在本文分别介绍一下这三种认知。最后会通过第三种认知回答“多元微积分中,可微函数的切线为什么会共面(此平面即切平面)?”

1 导数是变化率、是切线的斜率、是速度、是加速度

微积分的发明人之一是牛顿,牛顿主要还是研究物理为主,微积分不过是他发明出来研究物理的一个数学工具(大师就是这么厉害)。

因为牛顿研究物理的缘故,所以牛顿用变化率的方式引入了导数(牛顿称之为“流数”)。

在物理里面变化率还是很自然的概念,比如为了求瞬时速度:



同理,求加速度的话就是求速度对于时间的变化率,这里就不赘述了。学习物理的一般习惯把导数看作变化率。

还可以顺便得到了切线的斜率:

我们一般是上面这样的学习过程,所以我们认为,导数是曲线的变化率、是瞬时速度、是加速度,还可以是切线的斜率。

1.1 但是!

把导数看作是变化率、是切线的斜率,在一元函数的时候是正确的,但是,敲黑板,说但是了哈。

在二元函数中,比如这样一个曲面上的一点 a

在曲面上可以做无数条过 a 点的曲线(图上随便画了三根):


把导数看作是变化率、是切线的斜率,在多元函数中是片面的,甚至是不正确的。

我们必须要重新审视“导数是什么”这个问题。

顺便说一下,把导数继续看作变化率,切线的斜率,可以得到偏导数、方向导数、全导数,可以参看我之前写过的一个回答: 什么是全导数?

2 导数是用来找到“线性近似”的数学工具

讲这个之前,我们要先理解微积分的基本思想。这个思想在我的很多回答中都提到了,这里简单的阐述下。

2.1 微积分的基本思想

微积分的基本思想是“以直代曲”:

“以直代曲”的意思就是,切线可以在切点附近很好的近似曲线:

我觉得下面这幅图也挺有意思,如果在曲线上多选几个点,都作出附近的切线,我们可以透过切线看到曲线的轮廓:

这里我希望给你一个直观印象,切线可以在切点附近很好的近似曲线。如果仔细看泰勒公式、洛必达法则等,还会通过代数发现这一事实。

2.2 导数是用来找到“线性近似”的数学工具

因为“以直代曲”是微积分的基础,所以我们首要任务就是要找到这个“直”,也就是切线,也就是所谓的“线性近似”。导数就是为了完成这个任务需要使用的数学工具。

我们来看看,在一元函数中:

因此,在一元函数中,我们把导数看作斜率,可以找到我们想要的“线性近似”(切线),但是在二元中,我们需要新的技术手段。

3 导数是线性变换

3.1 二元函数的“线性近似”

导数最主要的目的是找到“线性近似”,在一元函数的时候是要找到切线,在二元函数的时候是要找到一个切平面(可以参考我之前的回答: 如何理解全微分? ):

一个平面是没有斜率的概念的,因此我们不能把导数继续看作斜率了,我们需要别的方法来找到这个切平面。

3.2 线性变换

对线性代数不熟悉的话,可以先看下我之前的回答 什么是仿射变换? 。下面就会用到大量的线性代数基础知识,我不再进行解释了。

还是从一元的时候开始推:


上图的 \vec{\Delta x} 指向右边,实际上求出的 A 是右导数,我换个方向就可以求出左导数:

如果 A=B ,相当于左右导数相等,我们就称为此点可导。

顺便说一句,此时在 a 点附近同样也有 f(x)\approx f(a)+A\Delta x

二元函数的时候, \vec{\Delta x} 有无数的方向(不像一元的时候只有左右两边):

我们把这些 \vec{\Delta x} 分别记为 \vec{\Delta x_1},\vec{\Delta x_2},\vec{\Delta x_3},\cdots,\vec{\Delta x_n},\cdots ,那它们的切线分别为:

\vec{T_1}=A_1\vec{\Delta x_1},\vec{T_2}=A_2\vec{\Delta x_2},\vec{T_3}=A_3\vec{\Delta x_3},\cdots,\vec{T_n}=A_n\vec{\Delta x_n},\cdots

导数分别就是 A_1,A_2,A_3,\cdots,A_n,\cdots (可以理解这些都是方向导数)。

导数:如果有 A=A_1=A_2=A_3=\cdots=A_n=\cdots ,那么此点可导,此点导数即为 A

为什么 A 就是导数? A 不是还没有完成找到切平面的任务吗?

3.3 通过导数 A 来找到切平面

首先,所有的 \vec{\Delta x} 肯定是共面的:

因为此点可导,即所有的 \vec{\Delta x} 的导数都是 A ,所以变换后的结果也共面(线性变换的特点是,变换前是共面的,变换后也是共面的):

看看动画吧(可以旋转视角来观察):

此处有互动内容, 点击此处前往操作。

对所有的 \vec{T}=A\vec{x}+\vec{a} 的都进行 A 变换,实际上就得到了切平面:


至此,导数完成了找到“线性近似”的任务。这里也很自然的回答了“多元微积分中,可微函数的切线为什么会共面(此平面即切平面)?”

注意,有一点需要特别说明的是,因为矢量的起始点要求是在原点,但是我上面把起始点放在 a 点了,所以实际上是仿射变化,所以实际上 \vec{T}=A\vec{x}+\vec{a} A 仍然是导数。

欢迎加入 马同学图解数学 系列课程

@牧元

邀。

各位知友已经答的很多了,我觉得说的很有道理。

我想以轻松的语气以及通俗的语言,来说明导数这个东西到底是什么,顺便回答题主的问题。


略长,可直接跳到后面半段。

开始吧。


讨论一个东西,首先搞清楚它是如何定义的,然后搞清楚我们为什么要定义它。

导数的定义,通俗的讲,很简单,是曲线的切线的斜率。

问题来了,什么是切线?


圆的切线我们都知道,垂直于半径就行了。一般的曲线呢?我们无法定义出一个类似“半径”的东西,然后做垂直。要知道,曲率半径是由导数定义的啊。先有了导数才有了曲率半径这种东西。


于是我们回到最原始的“切线”的定义。

曲线上两个点确定一条割线。当两个点足够靠近的时候,割线变成了切线。



好,什么叫足够靠近?足够靠近的两个点,是一个点还是两个点?


如果是两个点,这还是割线。如果是一个点,那直线是怎么画出来的?


于是人们陷入了困惑。然而,“极限”思想出现了。这时候人们从另一条路去考虑切线的问题。

人们慢慢接受了用ε-δ语言,去理解“无穷小”,“无限接近”等概念。

这是人类数学史上伟大的进步。


我们可以理解成这样:

一条曲线的割线,总是有斜率的。

固定住一个点,让另一个点去靠近它,这时候斜率在发生变化。

但是这些斜率有一个特点,就是它们可以在两个点越来越近的时候,越来越接近一个数值。

诶,这个值,就叫做【导数】了。


当然我们可以严格的用ε-δ语言写出它,此处就略了吧。

原先我们想,严格的画出曲线的切线,测出它的斜率,把它叫做导数。

可是实际上,我们画不出切线,但是我们却先求出了导数。

可见极限,是个好东西啊。

【各位记着我这句话,切线是算出来的,不是画出来的。 】


导数定义完了。

这么费劲的定义它,有什么用呢?


稍微扯远一点。

有数学家(不止一个)曾说,人类知道的越多,越感到自己的无知。

以这样的心态来看问题,我们现在所知的东西,其实甚少。

对于函数,我们只对于线性的函数有大致的了解。

为了对一切函数都进行研究,我们只能将其化为线性,考察它的切线的性质。

数学分析中曾经被认为【最有用】的泰勒展开,说白了也就是把函数展开成各阶线性的和。


说回我们的事。

导数定义好了,从定义上我们能知道这么几件事。

第一, 它在每一个点都可以如法定义。也就是说,它是一个全定义域上的定义。正因如此,它可以被看成是一个新的函数。

第二, 它对函数增减的快慢有着清楚的描述。


定义完成了,就可以来回答题主的小小疑惑。


第一个小问题,为什么函数有定义才能有导数,没有定义也可以有导数啊。

确实,在题主的例子下,我们可以发现,没有定义的地方有切线,进而有斜率。

可是在其他情况下,没有定义的点压根就没有切线,怎么去定义那些导数呢?

比如 y = 1/x ,在x=0 处?




那这时候你就反驳了,说我们可以定义“无定义点有切线的函数”和“无定义点没有切线的函数”。


确实是这样,但是这样好麻烦啊。我们更喜欢这样定义:

把“无定义点有切线的函数”的“无定义点”补上,形成完整的函数,对它来进行研究。

这样省去了很多困扰。

所以干脆我们就人为地规定:每一个没有定义的点,都不许有导数。有切线也不行。

为了方便统一管理。

你要是有切线,你干脆把那点填上不好么。


这样一规定,世界单纯多了。


第二个问题,说时间静止的时候,速度是不是零。

当然不是,而且我要恭喜你,问了一个和古人问的一模一样的问题。


芝诺悖论(飞矢不动悖论):一个飞出去的箭,让时间停止,这时候箭有速度么?

按常识(当时的常识),没有。

下一时刻再让时间停止,箭有速度么?

还是没有。

每一时刻箭都没有速度,那它是怎么走的呢?

那岂不是飞矢不动?

这个悖论的回答应该刚好解答了题主的困惑。


牛顿对这个问题进行了深入的研究。研究的第一步,是问了自己这样的问题:

什么是一个物体在某一时刻的瞬间的速度?

由此我们也能看出,任何的研究,都是从一个叫做“定义”的东西出发的。


当时的物理学,只承认平均速度的概念,而对瞬时速度并没有明确的认识。

当时物理学家普遍认为,任何短的一段时间内,平均速度都是有的,而在某一点的瞬时速度,是零。

这逻辑当然是不对的。永远不能把“未定义”或“无意义”当成是“零”。


这个时候牛顿用已经定义好的极限概念(当然是ε-δ语言),去定义瞬间的速度(后来叫做瞬时速度),发现这个定义意外的好用。

它定义了以前未定义的量,并且求出了值!


这时候芝诺悖论被攻破了。我能算出某一瞬间的速度值,你还能说它是静止的吗?


题主的问题描述里面有一句话是说,让时间停止然后用工具测量。

这话不对。

时间停止了,工具测不出来。

但是,注意,极限是用ε-δ语言定义的,在这个定义中,并没有真正的去测一个凝固时间的速度。而是用极短时间的速度来逼近。

换句话说,瞬时速度不是测出来的,是算出来的。

用工具去测瞬时速度,就陷入了芝诺悖论。


还记得刚才说的那句话吗?

【切线是算出来的,不是画出来的。】


以上。