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

评论/回复

电子邮件地址不会被公开。 必填项已用*标注