Calculus
MATLAB提供了解决微分和积分微积分问题的各种方法,解决了任意度数的微分方程和极限的计算。 最重要的是,您可以通过求解原始函数及其导数,轻松绘制复杂函数的图形并检查图形上的最大值,最小值和其他文具点。
本章将讨论微积分问题。 在本章中,我们将讨论预演算概念,即计算函数的极限和验证极限的性质。
在下一章“ Differential ,我们将计算表达式的导数并在图形上找到局部最大值和最小值。 我们还将讨论求解微分方程。
最后,在Integration一章中,我们将讨论积分计算。
计算限制
MATLAB提供了计算限制的limit功能。 在最基本的形式中, 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计算限制
以下是使用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验证极限的基本属性。
例子 (Example)
创建一个脚本文件并在其中键入以下代码 -
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
左右两侧限制
当函数对某个特定的变量值具有不连续性时,该点上不存在该限制。 换句话说,函数f(x)的极限在x = a时具有不连续性,当x从左侧接近x时,极限值不等于x从右侧接近时的极限值。
这导致左手和右手限制的概念。 对于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命令来计算左手和右手限制。
例子 (Example)
创建一个脚本文件并在其中键入以下代码 -
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