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
限制函数属于符号计算领域;你需要使用 syms 函数告诉MATLAB你使用的是哪些符号变量。你也可以计算函数在变量趋近于某个非零数时的极限。要计算limx->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验证极限的基本性质
以下是使用Octave实现的上述例子的代码,使用symbolic包,尝试执行并比较结果 –
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
左极限和右极限
当函数在某个特定的变量值处出现间断时,该点的极限不存在。换句话说,当函数f(x)的极限,在x从左侧逼近时的值与在x从右侧逼近时的值不相等时,该函数在x = a处出现间断。
这就引出了左极限和右极限的概念。左极限被定义为当x从左侧逼近a时的极限,即x逼近a,对于小于a的值。右极限被定义为当x从右侧逼近a时的极限,即x逼近a,对于大于a的值。当左极限和右极限不相等时,极限不存在。
让我们考虑一个函数 −
f(x) = (x – 3)/|x – 3|
我们将证明limx→3f(x)不存在。通过MATLAB可以通过两种方式来证明这一点:
- 绘制函数图形并显示间断点。
- 计算极限,并显示两个极限值不同。
左极限和右极限可以通过将字符串’left’和’right’作为最后一个参数传递给极限命令来计算。
示例
创建一个脚本文件,将以下代码输入其中 −
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