MATLAB课件 第九章 微积分基础 下载本文

第九章 微积分基础

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的符号计算功能,可以计算出许多积分的解析解和精确解,只是有些