第4章微积分的基本运算本章学习的主要目的:1.复习高等数学中有关函数极限、导数、不定积分、定积分、二重积分、级数、方程近似求解、常微分方程求解的相关知识.2.通过作图和计算加深对数学概念:极限、导数、积分的理解.3.学会用MatLab软件进行有关函数极限、导数、不定积分、级数、常微分方程求解的符号运算;4.了解数值积分理论,学会用MatLab软件进行数值积分;会用级数进行近似计算.1 有关函数极限计算的MatLab命令(1)limit(F,x,a) 执行后返回函数F在符号变量x趋于a的极限(2)limit(F,a) 执行后返回函数F在符号变量findsym(F)趋于a的极限(3)limit(F) 执行后返回函数F在符号变量findsym(F)趋于0的极限(4)limit(F,x,a,’left’) 执行后返回函数F 在符号变量x 趋于a 的左极限(5)limit(F,x,a,’right’) 执行后返回函数F 在符号变量x 趋于a 的右极限注:使用命令limit 前,要用syms 做相应符号变量说明. 例7 求下列极限 (1)4220x cos lim xex x -→-在MatLab 的命令窗口输入: syms xlimit((cos(x)-exp(-x^2/2))/x^4,x,0) 运行结果为 ans =-1/12理论上用洛必达法则或泰勒公式计算该极限: 方法1=-+-=---=---→-→-→2222220x 322x 4220x 12cos lim4)(sin limcos limx x eex x x ex x ex x x x x12112112)2(2lim 1211cos lim222220x 2222220x -=--+=--++--→--→x x x e x x x x x e e x 方法2442224420x 4220x ))(2)2()2(1()(!421limcos limx x o x x x o x x x ex x +-+---++-=-→-→121)(121lim444x -=+-=→x x o x (2)x3x )xt 21(lim +∞→ %自变量趋于无穷大,带参数t在MatLab 的命令窗口输入: syms x tlimit((1+2*t/x)^(3*x),x,inf) 运行结果为 ans =exp(6*t)理论上用重要极限计算:t t t xe 662x x 3x ))xt21((lim )x t 21(lim =+=+∞→∞→ (3)x 1lim0x +→ %求右极限在MatLab 的命令窗口输入: syms xlimit(1/x,x,0,’right’) 运行结果为 ans = inf2 有关函数导数计算的MatLab 命令(1)diff(F,x) 表示表达式F 对符号变量x 求一阶导数,允许表达式F 含有其他符号变量,若x 缺省,则表示对由命令syms 定义的变量求一阶导数。
(2)diff(F,x,n) 表示表达式F 对符号变量x 求n 阶导数。
例10 求下列函数的导数 (1) 已知242arcsin x x x y -+=,求)3(,'y y ;在MatLab 的命令窗口输入如下命令序列: syms xy=x*asin(x/2)+sqrt(4-x^2)diff(y,x) %执行结果ans = asin(1/2*x)与理论推导)2xa r c s i n ('=y 完全吻合。
diff(y,x,3) %执行结果ans = 1/(4-x^2)^(3/2)*x 与理论推导2323)4(x x y -=)(完全吻合。
(2) 已知y xz 2sin 2=,求yx z x z x z ∂∂∂∂∂∂∂222,,在MatLab 的命令窗口输入如下命令序列: syms x y z z=x^2*sin(2*y);diff(z,x) %执行结果ans =2*x*sin(2*y) diff(z,x,2) %执行结果ans =2*sin(2*y)diff(diff(z,x),y) %执行结果ans =4*x*cos(2*y) (3) 已知22zy)-x (u yx z +==,求yx u y u x u ∂∂∂∂∂∂∂2,, (复合函数求导偏导数)在MatLab 的命令窗口输入如下命令序列: syms x y z u z=x^2+y^2; u=(x-y)^z; diff(u,x)%执行结果=xu ∂∂ (x-y)^(x^2+y^2)*(2*x*log(x-y)+(x^2+y^2)/(x-y)) diff(u,y,2)%执行结果=yu∂∂(x-y)^(x^2+y^2)*(2*y*log(x-y)-(x^2+y^2)/(x-y))^2+ (x-y)^(x^2+y^2)*(2*log(x-y)-4*y/(x-y)-(x^2+y^2)/(x-y)^2) diff(diff(u,x),y)%执行结果=yx u∂∂∂2 (x-y)^(x^2+y^2)*(2*y*log(x-y)-(x^2+y^2)/(x-y))*(2*x*log(x-y)+(x^2+y^2)/(x-y))+(x-y)^(x^2+y^2)*(-2*x/(x-y)+2*y/(x-y)+(x^2+y^2)/(x-y)^2)3 极值问题MatLab 软件提供了求一元和多元函数极值问题的命令: fmin(f,x1,x2) 求函数f(x)在x1<x<x2区间取到极小值对应的x 值。
fmins('f',[x1,x2]),求二元函数在点(x1 x2)附近的极值点。
例12 求函数71862)(23+--=x x x x f 的极值,并作图。
在MatLab 的命令窗口输入如下命令序列: syms xf=2.*x.^3-6.*x.^2-18.*x+7;xmin=fmin('2.*x.^3-6.*x.^2-18.*x+7',-5,5) x=xmin; miny3=subs(f)a31='-2.*x.^3+6.*x.^2+18.*x-7'; xmax=fmin(a31,-5,5) x=xmax; maxy3=subs(f)fplot('2.*x.^3-6.*x.^2-18.*x+7',[-5 5]) grid on 执行结果:xmin =3.0000 %在x =3处取极小值 miny3 =-47.0000 %极小值为-47 xmax = -1.0000 %在x =-1处取极大值 maxy3 =17.0000 %极大值为17图154方程的数值求解方法fzero(‘f’,x 0) %在x =x0附近求f(x)=0的近似解。
例14 用MatLab 函数、编程二分法、切线法三种方法求方程04.19.01.123=-++x x x 的实根的近似值,使误差不超过310-。
解 令4.19.01.1)(23-++=x x x x f ,显然f(x)在)(+∞∞-,内连续。
-5-4-3-2-112345-350-300-250-200-150-100-50050因为09.02.23)('2>++=x x x f ,故f(x)在)(+∞∞-,内单调递增,0)(=x f 至多有一个实根。
由06.1)1(,04.1)0(>=<-=f f ,知0)(=x f 在[0,1]内有唯一的实根。
取a=0,b=1,[0,1]即是一个隔离区间。
先画出函数f(x)的图形,如图17, 在MatLab 的命令窗口输入如下命令: f= 'x^3+1.1*x^2+0.9*x-1.4 ' fplot(f,[0,1]) grid on图17f= 'x^3+1.1*x^2+0.9*x-1.4 ' fzero(f,1)运行结果为:ans =0.6707 5 有关计算函数不定积分的MatLab 命令int(f) 求函数f 关于syms 定义的符号变量的不定积分;00.51-2-1012int(f,v) 求函数f 关于变量v 的不定积分。
注:MatLab 在不定积分结果中不自行添加积分常数C 例15 用MatLab 软件,计算下列不定积分dx ex x ⎰-23在MatLab 的命令窗口输入如下命令: syms xint('x^3*exp(-x^2)',x)执行结果:ans =-1/2*x^2/exp(-x^2)-1/2/exp(-x^2) 6 有关计算函数定积分的MatLab 命令int(f,a,b) 求函数f 关于syms 定义的符号变量从a 到b 的定积分;int(f,v,a,b) 求函数f 关于变量v 从a 到b 的定积分。
例17 用MatLab 软件求下列定积分: (1)dx x⎰41lnx(2)⎰∞++03)1(x dx x在MatLab 的命令窗口输入如下命令序列: (1)syms x;y=log(x)*x^(-0.5);int(y,1,4)运行结果:ans = 8*log(2)-4(2)syms x;y=(x*(1+x)^3)^(-0.5);int(y,x,0,inf)8二重积分目前,MatLab还没有求二重积分的命令,我们用定积分的int命令,结合函数图形的观察,完成对二重积分的计算.例19 计算⎰⎰Ddxdyyx22,其中D为直线xyxyxy-===12,2,2围成区域.具体步骤如下: (1)划定积分区域: syms xy1=2*x;y2=x/2;y3=12-x;ezplot(y1,[-2,12]) hold onezplot(y2,[-2,12]) ezplot(y3,[-2,12])-2024681012 051015y=x/2y=2*xy=12-xABC积分区域title('积分区域')结果如图20 ,三条直线相交所围区域即为积分区域. (2) 确定交点的横坐标: xa=fzero('2*x-x/2',0)xb=fzero('2*x-12+x',4)xc=fzero('12-x-x/2',8) 图20 结果为:xa = 0 xb = 4 xc = 8 (3)化二重积分σd yx 22⎰⎰D为累次积分⎰⎰⎰⎰+84x-122x 2242x 2x 22dx dxdy yx dy y x .在MatLab 的命令窗口输入: syms x y z z=x^2/y^2;dx1=int(z,y,x/2,2*x);j1=int(dx1,0,4); dx2=int(z,y,x/2,12-x);j2=int(dx2,4,8); jf=j1+j2结果为: jf =132-144*log(2)9 MatLab级数求和命令:symsum(s) %s为待求和的级数的通项表达式,求出关于系统默认变量如k从0到k-1的级数有限项的和,如不能确定s的默认变量,则用findsym(s)来查.symsum(s,v) %v为求和变量,求出v由0到v-1的级数有限项的和.symsum(s,v,a,b) %求出v由a到b的级数有限项的和.例22 syms ksimple(symsum(k)) 1/2*k*(k-1)simple(symsum(k,0,n-1)) 1/2*n*(n-1)simple(symsum(k,0,n)) 1/2*n*(n+1)simple(symsum(k^2,0,n))1/6*n*(n+1)*(2*n+1)symsum(k^2,0,10) 385symsum(k^2,11,10) 0symsum(1/k^2,1,Inf) 1/6*pi^210 幂级数MatLab完成泰勒展开命令:下面f代表待展开的函数表达式,taylor(f) %求出函数f关于系统默认变量的麦克劳林型的6阶近似展开.taylor(f,n) %求出函数f关于系统默认变量的麦克劳林型的n 阶近似展开.taylor(f,v) %求出函数f关于变量v的麦克劳林型的6阶近似展开.taylor(f,a) %求出函数f关于系统默认变量等于a处的麦克劳林型的6阶近似展开.taylor(f,n,v,a) %求出函数f关于变量v等于a处的麦克劳林型的n阶近似展开.例23 求函数x ey 在x=1处的3阶泰勒展式.syms xtaylor(exp(x),x,4,1)执行后得到:ans =exp(1)+exp(1)*(x-1)+1/2*exp(1)*(x-1)^2+1/6*exp(1)*(x-1) ^311常微分方程在MatLab中的表达方式为:符号D表示对变量的求导,Dy表示对变量y求一阶导数, Dny表示对变量求n阶导数.dsolve (‘diff_equation’) % diff_equation 为待求解的常微分方程,自变量为t,得方程的通解dsolve (‘diff_equation’,’var’) % diff_equation 为待求解的常微分方程,自变量为vardsolve (‘diff_equation’,’cond1, cond2,…’,’var’) %带初始条件的常微分方程例27 解常微分方程x x y 2cos y ''=+ syms xdiff_equ='D2y+y=x*cos(2*x)'; y=dsolve(diff_equ, 'x') 解得结果为: y =(1/2*cos(x)+1/2*x*sin(x)+1/18*cos(3*x)+1/6*x*sin(3*x))*si n(x)+(-1/18*sin(3*x)+1/6*x*cos(3*x)+1/2*sin(x)-1/2*x*cos(x))*cos(x)+C1*sin(x)+C2*cos(x)例28 求常微分方程x ''y ''y'=-满足4)1('',7)1(',8)1(y ===y y 的特解. syms xdiff_equ='D3y –D2y=x';y=dsolve(diff_equ, 'y(1)=8', 'Dy(1)=7', 'D2y(1)=4','x') 解得结果为:y =-1/2*x^2-1/6*x^3+1/6+5/2*x+6/exp(1)*exp(x) 4.9 上机实验内容1 用描点法列出数列}2cos n1{πn 从第1项到第1000项,观察数列的极限,若001.0=ε,N 可以取多少?2作图观察当2x →时,2x y =的极限,若001.0=ε,δ取多少,使当δ<-<2x 0时,001.04<-y ?3 用MatLab软件求极限x x x cos 112ln 2lim 0x ---→,并理论上推导计算.4 用MatLab 软件求下列函数的导数: (1)已知,)1()3(254+-+=x x x y 求1'=x y(2)已知cos x e x =y ,求)(4y(3)已知yx y x z *)ln(2+=,求yx zx z x z ∂∂∂∂∂∂∂222,,5 已知函数[-2,2]x 2)-x -sin(x x y 22∈=,,按要求完成下面的任务:(1)用MatLab 软件求函数的一阶,二阶导函数(2)画出函数y 及其一阶、二阶导函数曲线,观察单调区间,凹凸区间以及极值点,拐点(3)用作图观察法找出函数的四个零点,四个极值点和四个拐点,与其相应的理论值比较。