第九章 微积分基础
1函数的极限(符号解法) 1.1一元函数求极限 函数 limit
格式 limit(F,x,a) %计算符号表达式F=F(x) 当x→a时的极限值。
limit(F,a) %用命令findsym(F)确定F中的自变量,设为变量x,再计算F当x→a时的极限值。
limit(F) %用命令findsym(F)确定F中的自变量,设为变量x,再计算F当x→0时的极限值。
limit(F,x,a,'right')或limit(F,x,a,'left') %计算符号函数F的单侧极限:左极限x→a- 或右极限x→a+。 【例1】
>>syms x a t h n;
>>L1 = limit((cos(x)-1)/x) >>L2 = limit(1/x^2,x,0,'right') >>L3 = limit(1/x,x,0,'left')
>>L4 = limit((log(x+h)-log(x))/h,h,0) >>v = [(1+a/x)^x, exp(-x)]; >>L5 = limit(v,x,inf,'left')
>>L6 = limit((1+2/n)^(3*n),n,inf)
计算结果为:
L1 = 0 L2 = inf L3 = -inf L4 = 1/x L5 =
[ exp(a), 0] L6 = exp(6) 注:在求解之前,应该先声明自变量x,再定义极限表达式fun,若x0为?,则可以用inf直接表示。如果需要求解左右极限问题,还需要给出左右选项。 【例2】 试分别求出tan函数关于pi/2点处的左右极限。 >> syms t;f=tan(t);L1=limit(f,t,pi/2,'left'), L2=limit(f,t,pi/2,'right') L1 = Inf L2 = -Inf
【例3】求以下极限
2t3x2x?1lim(1?)x??x?0x2?3x1) 2)
lim解:编程如下:
>>syms x t ;L1 = limit((2*x-1)/(x^2+3))
>>L2 = limit((1+2*t/x)^(3*x),x,inf)
回车后可得: L1 = -1/3 L2 = exp(6*t)
1.2 多元函数求极限
求多元函数的极限可以嵌套使用limit()函数,其调用格式为:limit(limit(f,x,x0),y,y0)或limit(limit(f,y,y0),x,x0)
sin(xy)limx?0xy?3【例4】求极限:
>> syms x y;f=sin(x*y)/x;limit(limit(f,x,0),y,3)
ans = 3
注:如果x0或y0不是确定的值,而是另一个变量的函数,如x?g(y),则上述的极限求取顺序不能交换。
2?xy?4limx?0xyy?0【例5】求极限:
解:编程如下:
>>syms x y;f=(2-sqrt(x*y+4))/(x*y);limit(limit(f,x,0),y,0)
回车后可得: ans = -1/4
2符号微分
函数 diff (differential)
格式 diff(S,'v')、diff(S,sym('v')) %对表达式S中指定符号变量v计算S的1阶导数。 diff(S) %对表达式S中的符号变量v计算S的1阶导数,其中v=findsym(S)。 diff(S,n) %对表达式S中的符号变量v计算S的n阶导数,其中v=findsym(S)。 diff(S,'v',n) %对表达式S中指定的符号变量v计算S的n阶导数。
x【例6 】已知函数(1)y?tanx(2)y?e,分别求关于x的导数
解:编程如下
>>syms x;D1=diff(tan(x)) >>D2=diff(exp(x)) 回车得:
D1 =
tan(x)^2 + 1 D2 = exp(x)
??22?2(y2sinx2)?6(6)2?,【例7】 计算,(t) ??ysinx2???x2?y??x?>>syms x y t
>>D1 = diff(sin(x^2)*y^2,2) >>D2 = diff(D1,y) >>D3 = diff(t^6,6)
计算结果为:
D1 =
-4*sin(x^2)*x^2*y^2+2*cos(x^2)*y^2 D2 =
-8*sin(x^2)*x^2*y+4*cos(x^2)*y D3 = 720
Matlab的符号运算工具箱中并未提供求取偏导数的专门函数,这些偏导数任然可以通过diff()函数直接实现。假设已知二元函数f(x,y),若想求?m?nf/(?xm?yn),则可以用下面的函数求出:f=diff(diff(f,x,m),y,n)或f=diff(diff(f,y,n),x,m)
?2z?2z【例8】已知函数z?xsin2y,求;;
?x?y?y?x2解:编写程序如下;
>>syms x y
>>D1 = diff(diff(x^2*sin(2*y),x),y) >>D2 = diff(diff(x^2*sin(2*y),y),x)
回车后得: D1 =
4*x*cos(2*y) D2 =
4*x*cos(2*y)
【例9】
设f(x,y)?3xy?2y?5x2y2,求Zxx,Zyy,Zxy
解:编程如下:
>>syms x y
>>zxx = diff(3*x*y-2*y+5*x^2*y^2,x,2) >>zyy = diff(3*x*y-2*y+5*x^2*y^2,y,2)
>>Dxy = diff(diff(3*x*y-2*y+5*x^2*y^2,x),y) 回车后得: zxx = 10*y^2 zyy = 10*x^2 Dxy =
20*x*y + 3 3符号积分
使用Matlab的符号计算功能,可以计算出许多积分的解析解和精确解,只是有些