第7章 导数与微分的MATLAB求解 编者
Outline 7.1 导数概念 7.2 导数的MATLAB符号求解 7.3 函数的微分 7.4 微分中值定理 7.5 洛必达法则 7.1 导数概念 7.2 导数的MATLAB符号求解 7.3 函数的微分 7.4 微分中值定理 7.5 洛必达法则 7.6 泰勒公式 7.7 函数的单调性与曲线的凹凸性 7.8 函数的极值与最值 7.9 曲线的渐近线 7.10 曲率 7.11 方程的近似解 7.12 导数的数值求解
7.1 导数概念 1.导数的定义 设函数 在点 的某个邻域内有定义,当自变量 在 处取得增量 (假设点 仍在该邻域内)时,相应的函数取得增量 ;如果 与 之比当 时的极限存在,则称函数 在点 处可导,并称这个极限为函数 在点 处的导数,记为 ,即 也可记作 或 。 将上面导数的定义式中的 换为 即可得到导函数的定义式 根据函数 在点 处的导数 的定义,导数 是一个极限,而极限存在的充分必要条件是左、右极限都存在且相等,因此 存在即 在点 处可导的充分必要条件是左、右极限 及 都存在且相等。这两个极限分别称为函数 在点 处的左导数和右导数,记作 及 现在可以说,函数 在点 处可导的充分必要条件是左导数 和右导数 都存在且相等。
2.导数的几何意义 函数 在点 处的导数 在几何上表示曲线 在点 处的切线的斜率,即 其中 是切线的倾角。 函数 在点 处的导数 在几何上表示曲线 在点 处的切线的斜率,即 其中 是切线的倾角。 如果函数 在点 处的导数为无穷大,这时曲线 的割线以垂直于 轴的直线 为极限位置,即曲线 在点 处具有垂直于 轴的切线 。
7.2 导数的MATLAB符号求解 1.函数的导数与高阶导数 MATLAB符号工具箱中提供了函数diff来求取一般函数的导数以及高阶导数,该函数的调用格式如下: D=diff(fx,x,n) 运行结果如图所示。 图 函数导数的图形直观表示
2.隐函数的导数 3.由参数方程所确定的函数的导数 方程 表示一个函数,因为当自变量 在 内取值时,变量 有确定的值与之对应。例如,当 时, ;当 时, ,等等,这样的函数称为隐函数。 一般的,如果变量 和 满足一个方程 ,在一定条件下,当 取某区间内的任一值时,相应的总有满足这方程的唯一的 值存在,那么就说方程 在该区间内确定了一个隐函数。 隐函数求导的一般采用如下步骤: 方程两边同时对 求导,这里应注意 ; 整理求得 的表达式,即为隐函数的导数。 3.由参数方程所确定的函数的导数 若已知参数方程 ,则 可以由如下递推公式求出:
7.3 函数的微分 微分的定义 设函数 在某区间内有定义, 及 在该区间内,如果增量 可表示为 7.3 函数的微分 微分的定义 设函数 在某区间内有定义, 及 在该区间内,如果增量 可表示为 其中 是不依赖于 的常数,那么称函数 在点 是可微的,而 叫做函数 在点 相应于自变量增量 的微分,记作 ,即 下面讨论函数可微的条件。设函数 在点 可微,则由 两边同时除以 ,得 于是,当 时,由上式就可得到 因此,如果函数 在点 可微,则 在点 也一定可导(即 存在),且 反之,如果 在点 可导,即 存在,根据极限与无穷小的关系,上式可写成 其中 ,由此又有 因 ,且 不依赖于 ,故 所以函数 在点 也是可微的。 通常把自变量 的增量 称为自变量的微分,记作 ,即 。于是,函数 的微分又可记作 从而有 ,这就是说,函数的微分 与自变量的微分 之商等于该函数的导数。因此,导数也叫做“微商”。
2.微分的几何意义 在直角坐标系中,函数 的图形是一条曲线。对于某一固定的 值,曲线上有一个确定点 ,当自变量 有微小增量 时,就得到曲线上另一点 ,由 图可知: 过点 作曲线的切线 ,它的倾角为 ,则 即 。 微分的几何意义
7.4 微分中值定理 1. 罗尔定理 为更好地理解罗尔定理,先介绍费马引理:设函数 在点 的某邻域 内有定义,并且在 处可导,如果对任意的 ,有 那么 。 介绍罗尔定理,如果函数 满足: 在闭区间 上连续; 在开区间 内可导; 在区间端点处的函数值相等,即 。那么在 内至少有一点 ,使得 。 罗尔定理的直观演示如图所示。 图 罗尔定理图形直观表示
2.拉格朗日中值定理 罗尔定理中 这个条件是相当特殊的,它使罗尔定理的应用受到限制。如果把 罗尔定理中 这个条件是相当特殊的,它使罗尔定理的应用受到限制。如果把 这个条件取消,但仍保留其余两个条件,并相应的改变结论,那么就得到微分学中十分重要的拉格朗日中值定理。 如果函数 满足: 在闭区间 上连续; 在开区间 内可导; 那么在 内至少有一点 ,使得 成立。 关于拉格朗日中值定理的证明此处从略,这里仅介绍该定理的几何意义,如图所示。由于上式可以改写为 且 为弦 的斜率,而 为曲线在点 处的切线的斜率。因此拉格朗日中值定理的几何意义是:如果连续曲线 的弧 上除端点外处处具有不垂直于 轴的切线,那么该弧上至少有一点 ,使曲线在 点处的切线平行于弦 。而且易知,罗尔定理是拉格朗日中值定理的一种特殊情形。 拉格朗日中值定理图形直观表示
3.柯西中值定理 前面已经指出,如果连续曲线弧 上除端点外处处具有不垂直于横轴的切线,那么这段弧上至少有一点 ,使曲线在点 处的切线平行于弦 。设 由参数方程 表示,如图所示。其中 为参数,那么曲线上点 处的切线的斜率为 弦 的斜率为 假定点 对应于参数 ,那么曲线上点 处的切线平行于弦 ,可表示为 柯西中值定理图形直观表示
7.5 洛必达法则 1. 型洛必达法则 如果当 时,两个函数 与 都区域零或趋于无穷大,那么极限 7.5 洛必达法则 1. 型洛必达法则 如果当 时,两个函数 与 都区域零或趋于无穷大,那么极限 可能存在,也可能不存在。通常把这种极限叫做未定式,并分别简记为 或 。关于未定式极限我们通常使用洛必达法(L'Hospital)则求解,本小节先介绍 和 时的 型未定式的求解方法。 这里不加证明的给出如下两个定理: 设函数 与 满足: 当 时,函数 与 都趋于无穷大; 在点 的某去心邻域内, 与 都存在且 ; 存在(或为无穷大), 那么
2. 型洛必达法则 下面我们着重介绍 型的洛必达法则,事实上,这种形式的洛必达法则在实际中用的 下面我们着重介绍 型的洛必达法则,事实上,这种形式的洛必达法则在实际中用的 较多,而且 型也可以由 型变换得到,关于该种类型的洛必达法则同样有以下两个定理: 设函数 与 满足: 当 时,函数 与 都趋于零; 在点 的某去心邻域内, 与 都存在且 ; 存在(或为无穷大), 那么
7.6 泰勒公式 泰勒(Taylor)中值定理:如果函数 在含有 的某个开区间 内具有直到 阶的导数,则对任一 ,有 其中 这里 是 与 之间的某个值。 多项式 称为函数 按 的幂展开的 次泰勒多项式,上述公式称为 按 的幂展开的带有拉格朗日型余项的 阶泰勒公式,而 称为拉格朗日型余项。
7.7 函数的单调性与曲线的凹凸性 函数单调性的判定法 设函数 在 上连续,在 内可导,在 上任取两点 ,应用拉格朗日中值定理,得到 7.7 函数的单调性与曲线的凹凸性 函数单调性的判定法 设函数 在 上连续,在 内可导,在 上任取两点 ,应用拉格朗日中值定理,得到 由于 ,因此,如果在 内导数 保持正号,即 ,那么也有 。 于是 即 表明函数 在 上单调增加。同理,如果在 内导数 保持负号,即 ,那么也有 。于是 ,即 ,表明函数 在 上单调减少。 归纳以上讨论,即得以下定理:设函数 在 上连续,在 内可导, 如果在 内 ,那么函数 在 上单调增加; 如果在 内 ,那么函数 在 上单调减少。
2.曲线的凹凸性与拐点 我们从几何上可以看到,在有的曲线弧上,如果任取两点,则联结这两点间的弦总位于这两点间的弧段的上方,而有的曲线弧,则正好相反。曲线的这种性质就是曲线的凹凸性。因此曲线的凹凸性可以用联结曲线弧上任意两点的弦的中点与曲线弧上相应点(即具有相同横坐标的点)的位置关系来描述,下面给出曲线凹凸性的定义。 设 在区间 上连续,如果对 上任意两点 ,恒有 那么称 在 上的图形是(向上)凹的(或凹弧);如果恒有 那么称 在 上的图形是(向上)凸的(或凸弧)。 如果函数 在区间 内具有二阶导数,那么可以利用二阶导数的符号来判定曲线的凹凸性,这就是下面的曲线凹凸性的判定定理。这里仅就 为闭区间的情形来叙述曲线凹凸性的判定定理,当 不是闭区间时,定理类同。 设 在区间 上连续,在 内具有一阶和二阶导数,那么 若在 内 ,则 在 上的图形是凹的; 若在 内 ,则 在 上的图形是凸的。 一般的,设 在区间 上连续, 是 的内点,如果曲线 在经过点 时,曲线的凹凸性改变了,那么就称点 为曲线的拐点。
7.8 函数的极值与最值 1.函数的极值及其求法 设函数 在点 的某邻域 内有定义,如果对于去心邻域 内的任一 ,有 7.8 函数的极值与最值 1.函数的极值及其求法 设函数 在点 的某邻域 内有定义,如果对于去心邻域 内的任一 ,有 那么就称 是函数 的一个极大值(或极小值)。 函数的极大值与极小值统称为函数的极值,使函数取得极值的点称为极值点。下面给出可导函数取得极值的必要条件和充分条件: 必要条件:设函数 在点 处可导,且在 处取得极值,那么 。 第一充分条件:设函数 在点 处连续,且在 的某去心邻域 内可导, 若 时, ,而在 时, ,则 在点 处取得极大值; 若 时, ,而在 时, ,则 在点 处取得极小值; 若 时, 的符号保持不变,则 在 处没有极值。 第二充分条件:设函数 在点 处具有二阶导数,且 , ,那么 当 时,函数 在 处取得极大值; 当 时,函数 在 处取得极小值。
2.最大值最小值问题 在求函数的最大值(或最小值)时,特别值得指出的是下述情: 在一个区间(有限或无限、开或闭)内可导且只有一个驻点,并且这个驻点 是函数 的极值点,那么,当 是极大值时, 就是 在该区间上的最大值;当 是极小值时, 就是 在该区间上的最小值。
7.9 曲线的渐近线 如果存在直线 ,使得当 时,曲线 上的动点 到直线 的距离 ,则称 为曲线 的渐近线。 渐近线通常有以下三种: 7.9 曲线的渐近线 如果存在直线 ,使得当 时,曲线 上的动点 到直线 的距离 ,则称 为曲线 的渐近线。 渐近线通常有以下三种: 水平渐近线:如果函数 的定义域是无限区间,且 ,其中 为常数,则直线 为曲线 的水平渐近线; 垂直渐近线:如果存在常数 ,使得 ,则称直线 为曲线 的垂直渐近线; 斜渐近线:如果 成立,则称 是曲线 的斜渐近线, 可以证明:
7.10 曲率 1.弧微分 函数 在区间 内具有连续导数。在曲线 上取固定点 作为度量弧长的基点(如图所示),并规定依 增大的方向作为曲线的正向。对曲线上任一点 ,规定有向弧段 的值 (简称为弧 )如下: 的绝对值等于这弧段的长度,当有向弧段 的方向与曲线的正向一致时 ,相反时 。显然,弧 与 存在函数关系 ,而且 为 的单调增加函数。而且我们可以求得 这就是弧微分公式。 图 弧微分求解示意图
2.曲率及其计算公式 在实际中,我们通常使用曲率来描述曲线的弯曲程度。 设曲线 是光滑的,在曲线 上选定一点 作为度量弧 的基点。设曲线上点 对应于弧 ,在点 处切线的倾角为 (这里假定曲线 所在的平面上已设定了 坐标系),曲线上另外一点 对应于弧 ,在点 处切线的倾角为 ,如图所示,那么,弧段 的长度为 ,当动点从 移动到 时切线转过的角度为 。 我们用比值 ,即单位弧段上切线转过的角度的大小来表达弧段 的平均弯曲程度 ,把该比值叫做弧段 的平均曲率,并记作 ,即 当 时(即 时),上述平均曲率的极限叫做曲线 在点 处的曲率,记作 ,即 曲率推导示意图
对于直线来说,切线与直线本身重合,当点沿直线移动时,切线的倾角 不变, ,从而 。这就是说,直线上任意点 处的曲率都等于零,这与我 们直觉认识到的“直线不弯曲”一致。 对于半径为 的圆,其上点 、 处的切线所夹的角 等于中心角 ( 为圆心),又 ,于是 从而 ,即圆上各点处的曲率都等于半径 的倒数 ,这就是说,圆的弯曲程 度到处一样,且半径越小曲率越大,即圆弯曲得越厉害。 下面不加证明地给出曲线 上任意点的实际计算曲率的公式,如下: 若曲线由参数方程 给出,则可利用参数方程所确定的函数的求导法,求出 及 ,代入曲率公式有
3.曲率圆与曲率半径 设曲线 在点 处的曲率为 ,在点 处的曲线的法线上,在凹的一侧取 设曲线 在点 处的曲率为 ,在点 处的曲线的法线上,在凹的一侧取 一点 ,使 ,以 为圆心, 为半径作圆,如图1所示,这个圆叫做曲线在点 处的曲率圆,曲率圆的圆心 叫做曲线在点 处的曲率中心,曲率圆的半径 叫做曲线在点 处的曲率半径。 图1 曲率圆示意图 设已知曲线的方程是 ,且其二阶导数 在点 不为零,则曲线在对应点 的曲率中心 的的坐标为
当点 沿曲线 移动时,相应的曲率中心 的轨迹曲线 称为曲线 的渐屈线,而曲线 称为曲线 的渐伸线,如图2所示。所以曲线 的渐屈线的参数方程为 当点 沿曲线 移动时,相应的曲率中心 的轨迹曲线 称为曲线 的渐屈线,而曲线 称为曲线 的渐伸线,如图2所示。所以曲线 的渐屈线的参数方程为 其中 , 为参数,直角坐标系 与 坐标系重合。 图2 曲线的渐屈线示意图
7.11 方程的近似解 1.隔根区间 在用近似方法求方程的根时,需要知道方程的根所在的区间。如果在区间 内只有函数 的一个零点,则称区间 为方程 的一个隔根区间。通常我们可以用逐步扫描法来寻找方程 的隔根区间。逐步扫描法的一般执行流程如图所示。 图 隔根区间的搜索流程
2.二分法及其MATLAB实现 在求方程近似根的所有方法中,二分法是非线性方程求解最直观、最简单的方法。它是通过将非线性方程 的零点所在小区间逐次收缩一半,使区间的两个端点逐步逼近函数的零点,以求得函数零点的近似值的方法。二分法是以连续函数的介值定理为基础建立的。由介值定理可知,若函数 在 上连续且 ,在方程 在 上必有一根 。 为叙述方便,记 ,用中点 将区间 分成2个小区间 和 ,计算 。若 ,则 就是方程的解;否则, 与 有且仅 有一式成立,若 ,令 , ;若 ,则令 。于是有 ,因此 为新的有根区间且 的长度为 长度的一半,对新的区间执行相同的操作可以得到一系列有根区间 图1给出了二分法的几何意义。 图1 二分法几何意义
由图1可知,二分法每一步执行的操作就是将有根区间一分为二,直至所求得的根达到所要求的精度为止,其执行流程如图2所示。 图2 二分法执行流程
3. 牛顿法及其MATLAB实现 对于方程 ,如果 是线性函数,那么它的求根是容易的。牛顿法实质上就是一种线性化方法,其基本思想是将非线性方程 逐步归结为某种线性方程来求解。 设方程 有近似根 ,将函数 在点 处展开,则有 于是,方程 就可近似地表示为 记该方程的根为 ,则 的计算公式为 上式即称为Newton迭代公式。 由牛顿迭代公式可知, 是点 处 的切线 与 轴的交点的横坐标,如图1所示。 图1 牛顿法几何意义
牛顿法执行流程比较简单,只需按如下流程即可,如图2所示。 图2 牛顿法执行流程
7.12 导数的数值求解 插值型求导公式 若已知函数在一些离散点上的函数值时,则该函数可用插值多项式来近似,然后对多项式进行微分以求得数值导数。该过程可由函数polyfit和polyder实现,相应的MATLAB函数代码如下: 上述函数中,第14行根据实验数据的个数获得插值多项式的最高阶次,第15行对实验数据进行多项式插值,第16~18行依次对多项式进行求导,第19行求解求导后的多项式在求导点处的值。
2.中心差分公式 对于给定的实验数据(或列表函数)的求导问题,最简单的方法就是利用差商来近似代替导数,比如利用向前差商近似代替导数有 类似地,也可以用向后差商近似代替导数 或用中心差商近似代替导数 由上述几个公式可知,步长 越小,计算结果越准确。但从计算角度看, 越小, , 与 越接近,直接相减会造成有效数字的严重损失。因此需要合理的选取步长,至于步长的合理选取读者可参阅相关参考书。 上面几个公式都是两点微分公式,下面给出一个多点中心差分算法,该算法的一到四阶微分公式为
谢谢大家!