- Matlab 教程
- MATLAB - 首页
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 环境设置
- MATLAB - 编辑器
- MATLAB - 在线版
- MATLAB - 工作区
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 日期和时间
- MATLAB - 数字
- MATLAB - 随机数
- MATLAB - 字符串和字符
- MATLAB - 文本格式化
- MATLAB - 时间表
- MATLAB - M 文件
- MATLAB - 冒号表示法
- MATLAB - 数据导入
- MATLAB - 数据导出
- MATLAB - 数据归一化
- MATLAB - 预定义变量
- MATLAB - 决策
- MATLAB - 决策语句
- MATLAB - if-end 语句
- MATLAB - if-else 语句
- MATLAB - if-elseif-else 语句
- MATLAB - 嵌套 if 语句
- MATLAB - switch 语句
- MATLAB - 嵌套 switch
- MATLAB - 循环
- MATLAB - 循环
- MATLAB - for 循环
- MATLAB - while 循环
- MATLAB - 嵌套循环
- MATLAB - break 语句
- MATLAB - continue 语句
- MATLAB - end 语句
- MATLAB - 数组
- MATLAB - 数组
- MATLAB - 向量
- MATLAB - 转置运算符
- MATLAB - 数组索引
- MATLAB - 多维数组
- MATLAB - 兼容数组
- MATLAB - 分类数组
- MATLAB - 元胞数组
- MATLAB - 矩阵
- MATLAB - 稀疏矩阵
- MATLAB - 表格
- MATLAB - 结构体
- MATLAB - 数组乘法
- MATLAB - 数组除法
- MATLAB - 数组函数
- MATLAB - 函数
- MATLAB - 函数
- MATLAB - 函数参数
- MATLAB - 匿名函数
- MATLAB - 嵌套函数
- MATLAB - return 语句
- MATLAB - 空函数
- MATLAB - 局部函数
- MATLAB - 全局变量
- MATLAB - 函数句柄
- MATLAB - 滤波函数
- MATLAB - 阶乘
- MATLAB - 私有函数
- MATLAB - 子函数
- MATLAB - 递归函数
- MATLAB - 函数优先级顺序
- MATLAB - map 函数
- MATLAB - mean 函数
- MATLAB - end 函数
- MATLAB - 错误处理
- MATLAB - 错误处理
- MATLAB - try...catch 语句
- MATLAB - 调试
- MATLAB - 绘图
- MATLAB - 绘图
- MATLAB - 绘制数组
- MATLAB - 绘制向量
- MATLAB - 条形图
- MATLAB - 直方图
- MATLAB - 图形
- MATLAB - 二维线图
- MATLAB - 三维图
- MATLAB - 图表格式化
- MATLAB - 对数坐标轴图
- MATLAB - 绘制误差条
- MATLAB - 绘制三维等值线图
- MATLAB - 极坐标图
- MATLAB - 散点图
- MATLAB - 绘制表达式或函数
- MATLAB - 绘制矩形
- MATLAB - 绘制频谱图
- MATLAB - 绘制网格曲面
- MATLAB - 绘制正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 线性插值
- MATLAB - 二维数组插值
- MATLAB - 三维数组插值
- MATLAB - 多项式
- MATLAB - 多项式
- MATLAB - 多项式加法
- MATLAB - 多项式乘法
- MATLAB - 多项式除法
- MATLAB - 多项式的导数
- MATLAB - 变换
- MATLAB - 变换函数
- MATLAB - 拉普拉斯变换
- MATLAB - 拉普拉斯滤波器
- MATLAB - 高斯-拉普拉斯滤波器
- MATLAB - 逆傅里叶变换
- MATLAB - 傅里叶变换
- MATLAB - 快速傅里叶变换
- MATLAB - 二维逆余弦变换
- MATLAB - 向坐标轴添加图例
- 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函数用于计算极限。在其最基本的形式中,limit函数将表达式作为参数,并找到当自变量趋于零时表达式的极限。
例如,让我们计算函数 f(x) = (x3 + 5)/(x4 + 7) 在 x 趋于零时的极限。
syms x limit((x^3 + 5)/(x^4 + 7))
MATLAB 将执行上述语句并返回以下结果:
ans = 5/7
limit 函数属于符号计算的范畴;您需要使用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 计算极限
以下是使用symbolic包的上述示例的 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) = x2 + 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 验证极限的基本性质
以下是使用symbolic包的上述示例的 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 从左侧逼近 a 时极限的值不等于 x 从右侧逼近 a 时极限的值时,函数 f(x) 在 x = a 处具有不连续性。
这导致了左极限和右极限的概念。左极限定义为 x 从左侧趋于 a 的极限,即 x 对于 x < a 的值逼近 a。右极限定义为 x 从右侧趋于 a 的极限,即 x 对于 x > a 的值逼近 a。当左极限和右极限不相等时,极限不存在。
让我们考虑一个函数:
f(x) = (x - 3)/|x - 3|
我们将证明 limx->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