如何理解导数的概念 ?
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 处?
那这时候你就反驳了,说我们可以定义“无定义点有切线的函数”和“无定义点没有切线的函数”。
确实是这样,但是这样好麻烦啊。我们更喜欢这样定义:
把“无定义点有切线的函数”的“无定义点”补上,形成完整的函数,对它来进行研究。
这样省去了很多困扰。
所以干脆我们就人为地规定:每一个没有定义的点,都不许有导数。有切线也不行。
为了方便统一管理。
你要是有切线,你干脆把那点填上不好么。
这样一规定,世界单纯多了。
第二个问题,说时间静止的时候,速度是不是零。
当然不是,而且我要恭喜你,问了一个和古人问的一模一样的问题。
芝诺悖论(飞矢不动悖论):一个飞出去的箭,让时间停止,这时候箭有速度么?
按常识(当时的常识),没有。
下一时刻再让时间停止,箭有速度么?
还是没有。
每一时刻箭都没有速度,那它是怎么走的呢?
那岂不是飞矢不动?
这个悖论的回答应该刚好解答了题主的困惑。
牛顿对这个问题进行了深入的研究。研究的第一步,是问了自己这样的问题:
什么是一个物体在某一时刻的瞬间的速度?
由此我们也能看出,任何的研究,都是从一个叫做“定义”的东西出发的。
当时的物理学,只承认平均速度的概念,而对瞬时速度并没有明确的认识。
当时物理学家普遍认为,任何短的一段时间内,平均速度都是有的,而在某一点的瞬时速度,是零。
这逻辑当然是不对的。永远不能把“未定义”或“无意义”当成是“零”。
这个时候牛顿用已经定义好的极限概念(当然是ε-δ语言),去定义瞬间的速度(后来叫做瞬时速度),发现这个定义意外的好用。
它定义了以前未定义的量,并且求出了值!
这时候芝诺悖论被攻破了。我能算出某一瞬间的速度值,你还能说它是静止的吗?
题主的问题描述里面有一句话是说,让时间停止然后用工具测量。
这话不对。
时间停止了,工具测不出来。
但是,注意,极限是用ε-δ语言定义的,在这个定义中,并没有真正的去测一个凝固时间的速度。而是用极短时间的速度来逼近。
换句话说,瞬时速度不是测出来的,是算出来的。
用工具去测瞬时速度,就陷入了芝诺悖论。
还记得刚才说的那句话吗?
【切线是算出来的,不是画出来的。】
以上。