MATLAB 微积分
MATLAB提供了各种方法来解决微分和积分问题,解决微分方程的任何程度和计算极限。最重要的是,可以轻松地绘制复函数图,并通过求解原始函数及其导数来检查图上的极大值、极小值和其他固定点。
这一章将讨论微积分问题。在本章主要讨论微积分的概念、计算函数的极限,验证极限的性质。
在下一章微分中,将计算表达式的导数并找到图上的局部极大值和极小值。我们还将讨论解微分方程。
最后,在积分这一章,我们将讨论积分学。
计算极限
在MATLAB中,利用limit()函数来计算极限。极限函数最基本的形式是以表达式作为参数,当自变量趋近于零时找出表达式的极限。
比如,计算当x趋近于0时方程 f(x) = (x3 + 5)/(x4 + 7) 的极限:
syms x
limit((x^3 + 5)/(x^4 + 7))
% 结果
ans =
5/7
极限函数属于符号计算的范畴, 你需要使用syms函数来告诉MATLAB你正在使用哪些符号变量。你也可以计算当变量趋向于某个数而不是零时函数的极限。 如果要计算lim x->a(f(x)) ,我们要使用带参数的limit命令。第一个是表达式,第二个是数字,也就是x无限趋近的那个数,这里是a。
例如,计算当x趋于1时函数f(x) = (x-3)/(x-1)的极限。
limit((x - 3)/(x-1),1)
% 结果
ans =
NaN
再看一个例子:
limit(x^2 + 5, 3)
% 结果
ans =
14
Octave计算极限
下面Octave版本使symbolic包计算极限的例子,试着执行并比较结果。
pkg load symbolic
symbols
x = sym("x");
subs((x^3+5)/(x^4+7),x,0)
% 结果
ans =
0.7142857142857142857
MATLAB极限的基本性质的验证
代数极限定理提供了极限的一些基本性质。如下所示 :

我们看两个方程:
- f(x) = (3x + 5)/(x – 3)
- g(x) = x2 + 1.
计算这两个函数在x趋于4时的极限,并用这两个函数和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)
结果:
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)
左右边界
当一个函数对变量的某个特定值具有不连续时,在该点上的极限不存在。也就是说,函数f(x)的极限在x = a处不连续,当x从左侧接近x时,其极限值不等于x从右侧接近时的极限值。
这就引出了左极限和右极限的概念。左极限定义为x -> A,从左起。右端极限定义为x -> a的极限,从右开始,即当左向极限和右向极限不相等时,极限不存在。
我们看一个函数 :
f(x) = (x – 3)/|x – 3|
我们将证明limx->3 f(x) 不存在。MATLAB通过两种方式帮助我们建立这个事实
- 通过绘制函数的图形和显示不连续。
- 通过计算极限,证明两者是不同的。
左极限和右极限是通过将字符串’left’和’right’作为最后一个参数传递给limit命令来计算的。
创建脚本文件:
x = sym("x");
f = (x - 3)/abs(x-3);
ezplot(f,[-1,5])
l = limit(f,x,3,'left')
r = limit(f,x,3,'right')
在此之后,将显示以下输出

l =
-1
r =
1

关注公众号,获取一手资讯
“ MATLAB 微积分 ” comments 0