- Matlab教程
- MATLAB - 主页
- MATLAB - 概述
- MATLAB - 环境设置
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - M 文件
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 决策
- MATLAB - 循环
- MATLAB - 向量
- MATLAB - 矩阵
- MATLAB - 数组
- MATLAB - 冒号表示法
- MATLAB - 数字
- MATLAB - 字符串
- MATLAB - 函数
- MATLAB - 数据导入
- MATLAB - 数据输出
- MATLAB 高级版
- MATLAB - 绘图
- MATLAB - 图形
- MATLAB - 代数
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 集成
- MATLAB - 多项式
- MATLAB - 变换
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB 有用资源
- MATLAB - 快速指南
- MATLAB - 有用的资源
- MATLAB - 讨论
MATLAB - 微积分
MATLAB 提供了多种方法来求解微分和积分问题、求解任意阶微分方程以及计算极限。最重要的是,您可以轻松绘制复杂函数的图形,并通过求解原始函数及其导数来检查图形上的最大值、最小值和其他固定点。
本章将讨论微积分问题。在本章中,我们将讨论微积分前的概念,即计算函数的极限并验证极限的性质。
在下一章微分中,我们将计算表达式的导数并找到图上的局部最大值和最小值。我们还将讨论求解微分方程。
最后,在积分章节中,我们将讨论积分。
计算限制
MATLAB 提供了limit函数来计算极限。在最基本的形式中,极限函数将表达式作为参数,并在自变量变为零时找到表达式的极限。
例如,让我们计算函数 f(x) = (x 3 + 5)/(x 4 + 7)的极限,因为 x 趋于零。
syms x limit((x^3 + 5)/(x^4 + 7))
MATLAB 将执行上述语句并返回以下结果 -
ans = 5/7
极限函数属于符号计算领域;您需要使用syms函数告诉 MATLAB 您正在使用哪些符号变量。您还可以计算函数的极限,因为变量趋于零以外的某个数字。为了计算 lim x->a (f(x)),我们使用带参数的 limit 命令。第一个是表达式,第二个是x接近的数字,这里是a。
例如,让我们计算函数 f(x) = (x-3)/(x-1) 的极限,因为 x 趋于 1。
limit((x - 3)/(x-1),1)
MATLAB 将执行上述语句并返回以下结果 -
ans = NaN
我们再举一个例子,
limit(x^2 + 5, 3)
MATLAB 将执行上述语句并返回以下结果 -
ans = 14
使用 Octave 计算极限
以下是使用符号包的上述示例的 Octave 版本,尝试执行并比较结果 -
pkg load symbolic symbols x = sym("x"); subs((x^3+5)/(x^4+7),x,0)
Octave 将执行上述语句并返回以下结果 -
ans = 0.7142857142857142857
极限基本性质的验证
代数极限定理提供了极限的一些基本性质。这些如下 -
让我们考虑两个函数 -
- f(x) = (3x + 5)/(x - 3)
- g(x) = x 2 + 1。
让我们计算两个函数在 x 趋于 5 时的极限,并使用这两个函数和 MATLAB 验证极限的基本属性。
例子
创建一个脚本文件并在其中输入以下代码 -
syms x f = (3*x + 5)/(x-3); g = x^2 + 1; l1 = limit(f, 4) l2 = limit (g, 4) lAdd = limit(f + g, 4) lSub = limit(f - g, 4) lMult = limit(f*g, 4) lDiv = limit (f/g, 4)
当您运行该文件时,它会显示 -
l1 = 17 l2 = 17 lAdd = 34 lSub = 0 lMult = 289 lDiv = 1
使用 Octave 验证极限的基本属性
以下是使用符号包的上述示例的 Octave 版本,尝试执行并比较结果 -
pkg load symbolic symbols x = sym("x"); f = (3*x + 5)/(x-3); g = x^2 + 1; l1 = subs(f, x, 4) l2 = subs (g, x, 4) lAdd = subs (f+g, x, 4) lSub = subs (f-g, x, 4) lMult = subs (f*g, x, 4) lDiv = subs (f/g, x, 4)
Octave 将执行上述语句并返回以下结果 -
l1 = 17.0 l2 = 17.0 lAdd = 34.0 lSub = 0.0 lMult = 289.0 lDiv = 1.0
左侧和右侧限制
当函数对于变量的某些特定值存在不连续性时,该点不存在极限。换句话说,当 x 从左侧接近 x 时的极限值不等于 x 从右侧接近时的极限值时,函数 f(x) 的极限在 x = a 处具有不连续性。
这就引出了左手极限和右手极限的概念。左手极限定义为从左侧开始 x -> a 的极限,即,对于 x < a 的值,x 接近 a。右手极限定义为从右侧开始 x -> a 的极限,即,对于 x > a 的值,x 接近 a。当左手极限和右手极限不相等时,极限不存在。
让我们考虑一个函数 -
f(x) = (x - 3)/|x - 3|
我们将证明 lim x->3 f(x) 不存在。MATLAB 通过两种方式帮助我们确定这一事实 -
- 通过绘制函数的图形并显示不连续性。
- 通过计算极限并表明两者是不同的。
通过将字符串“left”和“right”作为最后一个参数传递给 limit 命令来计算左手和右手限制。
例子
创建一个脚本文件并在其中输入以下代码 -
f = (x - 3)/abs(x-3); ezplot(f,[-1,5]) l = limit(f,x,3,'left') r = limit(f,x,3,'right')
运行该文件时,MATLAB 绘制以下图
显示以下输出后 -
l = -1 r = 1