1、
实验三 用matlab求极限和导数
1.求极限、导数的MATLAB命令
MATLAB中主要用limit,diff分别求函数的极限与导数。
limit(s,n,inf) 返回符号表达式当n趋于无穷大时表达式s的极限
limit(s,x,a) 返回符号表达式当x趋于a时表达式s的极限
limit(s,x,a,’left’) 返回符号表达式当x趋于a-0时表达式s的左极限
limit(s,x,a,’right’) 返回符号表达式当x趋于a-0时表达式s的右极限
diff(s,x,n) 返回符号表达式s对自变量x的n阶导 数
可以用help li
2、mit, help diff查阅有关这些命令的详细信息
例1首先分别作出函数在区[-1,-0.01],[0.01,1],[-1,-0.001],[0.001,1]等区间上的图形,观测图形在附近的形状。在区间[-1,-0.01]绘图的MATLAB代码为:
>>x=(-1):0.0001:(-0.01); y=cos(1./x); plot(x,y)
结果如图2.1
图2.1函数的图形
根据图形,能否判断出极限的存在性?
当然,也可用limit命令直接求极限,相应的MATLAB代码为:
>>clear;
>>syms x; %说明x为符号变量
>
3、>limit(sin(1/x),x,0)
结果为ans = -1 .. 1,即极限值在-1,1之间,而极限如果存在则必唯一,故极限不存在,同样,极限也不存在。
例2 首先分别作出函数在区间[-1,-0.01],[0.01,1],[-1,-0.001],[0.001,1]等区间上的图形,观测图形在附近的形状。在区间[-1,-0.01]绘图的MATLAB代码为:
>>x=(-1):0.0001:(-0.01); y=sin(x)./x; plot(x,y)
结果如图2.2
图2.2 函数的图形
根据图形,能否判断出极限的正确性?
当然,也可用limit命令直接求极限
4、相应的MATLAB代码为:
>>clear;
>>syms x;
>>limit(sin(x)/x,x,0)
结果为ans =1.
例3 观测当趋于无穷大时,数列和的变化趋势。例如,当时,计算的MATLAB代码为:
>>for n=1:100, a(n)=(1+1/n)^n;,A(n)=(1+1/n)^n ;, end
在同一坐标系中,画出下面三个函数的图形:
观测当增大时图形的走向。例如,在区间[10,400]绘制图形的MATLAB代码为
>>x=10:0.1:400;
>>y1=exp(x.*log(1+1./x)); y2=exp((x+2).*log(1+
5、1./x)); y3=2.71828;
>>plot(x,y1,'-.',x,y2,':',x,y3,'-'); %’-.’表示绘出的图形是点线,’-’是实线
结果如图2.3,其中点线表示的图形,虚点线表示的图形。
图2.3
通过观测可以看到,当增大时,递增,递减。随着的无穷增大,和无限接近,趋于共同的极限.当然,也可用limit命令直接求极限,相应的MATLAB代码为:
>>clear;
>>syms n;
>>limit((1+1/n)^n,n,inf)
结果为ans =exp(1)。
例4已知,求的微分.
>> f=sym('a*x^2+b*x+c')
6、 %定义函数表达式
f =a*x^2+b*x+c
>> diff(f) %对默认变量求一阶微分
ans =2*a*x+b
>> diff(f,'a') %对符号变量求一阶微分
ans =x^2
>> diff(f,'x',2) %对符号变量求二阶微分
ans =2*a
>> diff(f,3) %对默认变量求三阶微分
ans =0
例5 先求函数,然后在同一坐标系里作出函数及其导函数的图形。
函数求导相应的MATLA
7、B代码为:
>>clear;
>>syms x;
>>diff(x^3-6*x+3,x,1)
结果为ans =3*x^2-6
函数绘图相应的MATLAB代码为:
>>x=-4:0.1:4; y1=x.^3-6*x+3; y2=3*x.^2-6;
>>plot(x,y1,x,y2,’:’)
结果如图2.4,其中实线是的图形,点线是的图形。
图2.4 函数及其导数
这里画的是区间[-4,4]上的图形,也可以选别的区间试试。
习题16-3
1.求下列各极限
(1) (2) (3)
(4) (5) (6)
(7) (8) (9)
2.求下列函数的导数
(1) (2)
(3) (4)