![数学实验教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/316/32856316/b_32856316.jpg)
第2章 微积分实验
2.1 极限
微积分课程中曾介绍过数列的极限、函数的极限等概念。按照定义,称a为数列 {xn}的极限,如果∀ε>0, ∃N>0,使得当n>N时,总有|xn-a |<ε。数列的极限如果存在,从图2-1上来看,就是点列以一条平行于横轴的直线为渐近线。
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0032-0047.jpg?sign=1738855613-wZmWInl24uStxapmCzloU9NzPDl0OKgn-0-b890388ebfdcda815d8a67d7d6cc2e85)
图2-1
函数的极限定义为∀ε>0, ∃δ>0,使得当 |x-x0|<δ时,总有|f(x)-A |<ε,则称A为f(x)在点x0处的极限。函数在某点处的极限如果存在,从图像上来看,就是函数的图像在x=x0处趋于同个y值,如图2-2所示。
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0032-0048.jpg?sign=1738855613-dDec4tWPOJP37q9OUfDMNEZpXaiFWyvG-0-0f0a5db92b35c9a7c88cfee12f99a7e2)
图2-2
根据极限问题的不同,MATLAB中求极限的命令有如表2-1所示的几种。
表2-1
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0032-0049.jpg?sign=1738855613-WdyTZcmvME8c8mXcZdywyQPA3tju3BiH-0-6a3fac2089155236bf6ab2d775606155)
如果自变量是x,且计算的是x→0时的极限,也可以简单地用limit(f)来表示,即limit(f)=limit(f, x, 0)。实际上,求数列极限也可以视为求函数极限,用同样的命令求得结果。
例2-1 计算函数f(x)=xsin 在x→0时的极限。
我们可以输入如下命令:
>> syms x; %定义符号变量
>> f=x∗sin(1/x); %定义函数f
>> limit(f, x, 0)
输出结果为:
ans= 0
为直观起见,现在画出函数f(x)在区间 [-1,1] 上的图形,输入如下命令:
>> x=-1: 0.01: 1; %定义一个向量x,起点为-1,终点为1,步长为0. 01 >> y=x. ∗sin(1. /x); %定义与x中每个点对应的y值 >> plot( x, y) %绘图命令
输出结果如图2-3所示。
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0033-0051.jpg?sign=1738855613-eUmt1Gh7S0F786nBFGyINUMSnxr1eb3I-0-c55aacbd10447d04048b8be93ea1944e)
图2-3
可以看到,尽管函数在x=0处没有定义,但函数极限确实存在。
例2-2 计算函数f(x)=在x→0时的极限。
我们知道,这时函数的极限不存在。现在输入如下命令,观察函数 f(x)在区间[-1, 1] 上的图形,如图2-4所示:
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0034-0053.jpg?sign=1738855613-vmHyEUZGKH4qtCYGt995yLwrs4A49Fp4-0-aa57df651afd91f10e955a2aaceb9d3e)
图2-4
>> x=-1: 0.01: 1; >> y=sin(1. /x); >> plot(x, y)
由图像可以看出,x→0时,函数始终在0~1震荡,不存在统一的极限。我们也可以尝试用MATLAB来计算其极限,输入如下命令:
>> syms x; >> f=sin(1/x); >> limit(f, x, 0)
输出结果为:
ans= -1 .. 1
这个结果意味着函数并不存在唯一的极限,即函数极限不存在。
例2-3 假设第n个月,某种耐用消费品的市场保有量为x(n),每个月每个用户会影响λ个人购买商品,而且λ会随着总数x(n)的增加而减少。在不考虑其他影响因素的情况下,如何预测x(n)的变化情况?
由于每个月每个用户会影响λ个人购买商品,因此相邻月份的商品保有量会满足等式x(n+1)=x(n)+λx(n)。假设中提到λ会随着总数x(n)的增加而减少,不妨将其设为λ=a-bx,于是得到如下的非线性差分方程:
x(n+1)=x(n)+[a-bx(n)]x(n)
令y=bx,差分方程变成了如下形式:
y(n+1)=[1+a-y(n)]y(n)
这就是离散形式的阻滞增长模型。我们现在的问题是:给定参数a和初始值y(0), y(n)会有怎样的变化趋势?
编写如下的M文件:
function y=logistic(y0, a, n) y=zeros(n, 1); %设y初始为n维零向量 y(1)=y0; %为y(1)重新赋值为y0 for i=2: 1: n %for循环进行递推计算 y(i)=y(i-1)∗(1+a-y(i-1)); end plot(y)
接下来,我们为其中的y0和a选定不同的取值,观察作图的结果。比如令y0=0.1, a=1, 1.8, 2.1, 2.5, n=60,观察图形。
y 0=0.1, a=1, n=60时,y(i)为单增序列,有极限,如图2-5所示。
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0035-0054.jpg?sign=1738855613-fBdh8IAnK9drD58ECKtUAl2QznlT4UDF-0-8922d5b978ca95cd81d23a0d367c24ed)
图2-5
y 0=0.1, a=1.8, n=60时,y(i)为震荡序列,有极限,如图2-6所示。
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0035-0055.jpg?sign=1738855613-RBHnMWkBHHLGks8pu4H3jboY0Pp2aWpQ-0-7d40aed6f5a45a24940c3a5cd9d304c7)
图2-6
y0=0. 1, a=2. 1, n=60时,y(i)为震荡序列,双周期收敛,如图2-7所示。
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0035-0056.jpg?sign=1738855613-CuOUDKX9J4TcbvicaMdnBojymolYN6j9-0-203b37b8aed2c433f9b15147c6c90a76)
图2-7
y0=0. 1, a=2. 5, n=60时,y(i)为震荡序列,多周期收敛,如图2-8所示。
![](https://epubservercos.yuewen.com/777876/17640078306759506/epubprivate/OEBPS/Images/Figure-0035-0057.jpg?sign=1738855613-DKBJti9qZXrIdg3AXizaIRFtA9nyihlR-0-8afab9336028876cf4805b9c98e51a49)
图2-8
在学习微积分时,我们遇到过很多极限问题,都可以利用MATLAB来算一算,画出图来观察一下,从而获得更为形象的印象。比如两个重要极限,高阶或低阶无穷小、无穷大之间的比较等,这里不再赘述。