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 \to 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) = x^2 + 1

让我们计算函数的极限,当 x 趋近于 5 时,使用这两个函数和 MATLAB 验证极限的基本属性。

示例

创建一个脚本文件,将以下代码键入其中

syms x  # 声明符号变量x
f = (3*x + 5)/(x-3);  # 定义函数f
g = x^2 + 1;  # 定义函数g
l1 = limit(f, 4)  # 求f在x=4处的极限
l2 = limit (g, 4)  # 求g在x=4处的极限
lAdd = limit(f + g, 4)  # 求f+g在x=4处的极限
lSub = limit(f - g, 4)  # 求f-g在x=4处的极限
lMult = limit(f*g, 4)  # 求f*g在x=4处的极限
lDiv = limit(f/g, 4)  # 求f/g在x=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)  # 求f在x=4处的值
l2 = subs (g, x, 4)  # 求g在x=4处的值
lAdd = subs (f+g, x, 4)  # 求f+g在x=4处的值
lSub = subs (f-g, x, 4)  # 求f-g在x=4处的值
lMult = subs (f*g, x, 4)  # 求f*g在x=4处的值
lDiv = subs (f/g, x, 4)  # 求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从右侧接近时的极限值时,函数f(x)的极限在 x = a 处有不连续性。

这就引出了左极限和右极限的概念。左极限被定义为x -> a时,从左侧逼近,即x < 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将绘制以下图形 -

matlab 左侧和右侧极限

在此之后,将显示以下输出

l = 
   -1
  
r = 
   1

查看笔记

扫码一下
查看教程更方便