《Maple6-ch3-微积分运算》由会员分享,可在线阅读,更多相关《Maple6-ch3-微积分运算(19页珍藏版)》请在金锄头文库上搜索。
1、第三章 微积分运算在student库。3.1 极 限3.1.1 一元函数的极限在Maple中,求极限的函数是limit(或Limit),完整的函数表达式是:limit(f(x),x=a,dir); Limit(f(x),x=a,dir);其中,a为极限点或无穷,dir极限方向(left、right)或real(实)和complex(复)。参数空时,系统自动取实。 EX.1 f:=x*sin(1/x); limit(f,x=0); plot(f,x=-0.1.0.1);1 / 18 limit(f,x=0,left); limit(f,x=0,real); limit(f,x=0,complex
2、); 由于复数不能求三角函数,故以复数趋于0极限不存在 Ex.2 f:=f: f:=(sqrt(1+x4)-(x6-2*x2)(1/3)/(x2*tan(1/x)*sin(1/x)*(1-cos(1/x); limit(f,x=infinity); 也可用求极限的另一形式: f:=f: f:=x-(sqrt(1+x4)-(x6-2*x2)(1/3)/(x2*tan(1/x)*sin(1/x)*(1-cos(1/x); limit(f(x),x=infinity); Ex.3 limit(1/x,x=0); x-infinity的符号影响结果,故出给不存在 limit(1/x,x=0,left)
3、;3.1.2 多元函数的极限多元函数求极限,公式与一元函数极限公式类似,其完整形式如下:limit(expr(x1,x2,xn), x1=a1,x2=a2,xn=an,dir); Limit(expr(x1,x2,xn), x1=a1,x2=a2,xn=an,dir);其中,如果某些xi没有取值时,系统将保留不动。 limit(x2-y2)/(x2+y2),x=1,left); limit(x2-y2)/(x2+y2),x=1,y=2); limit(x2-y2)/(x2+y2),x=0,y=0); limit(x2-y2)/(x2+y2),x=0,y=infinity);3.1.3 复变函数
4、的极限 z:=x+y*I; f:=f: f:=(abs(z)2; limit(evalc(f),x=1,y=1); 求极限的另一方法: f:=f: z:=z: f:=z-(z+4)/(z-4); limit(f(z),z=-4+4*I);4.1.4 函数的连续性用来判断函数连续性的函数:iscont(expr, x=a.b, dir);其中expr是一个代数表达式,即要判断的表达式。x=a.b用来表示需要判断的自变量所在的区间,a和b都取实数,当a比b大时,系统会自动将其转换。Dir可取open、closed或什么都不选,用来表示在开区间中判断函数的连续性还是在闭区间中判断,默认值是在开区间中
5、进行,当在闭区间中判断连续性是将检查起始点和终止点的连续性。 iscont(1/x,x=0.1); 在(0,1)上连续 iscont(1/x,x=0.1,open); 在(0,1)上连续 iscont(1/x,x=0.1,closed); 在0,1上不连续 iscont(1/(exp(x)+b),x=1.2); 在(1,2)上没有结果Maple还提供两个寻找函数表达式的不连续点,它们是:参P129。discont(f,x);fdiscont(f,domain,res ivar,eqns);第二个函数中“domain”表示求解区间;“res”是期望值的精度;“ivar”是独立变量的名称;“eqn
6、s”是一个可选的等式,用来设置系统运算的参数。3.2 序列与级数3.2.1 创建一个序列序列的创建多种多样,这里给出生成函数seq(f, i=m.n);seq(f,i=x);x其中第一个参数f为代数表达式,第二个参数是设定的自量变的取值范围,可以是区间,也可以是另外一个序列或集合、列表等。如: x:=seq(i2,i=1.5); 生成区间1,5上的整数的平方序列x seq(i mod 5, i=x); 生成上序列x的模5的值序列 seq(i,i=a.f); 生成字符串序列 seq(x2,x=a,a2,3); 3.2.2 序列的基本运算1 赋值操作由于序列是多个元素的集合,在各种运算时都是对多个
7、元素进行操作,Maple又把序列看成是一个多元素对象,因此有些普通数值和符号运算规则需要稍做修改。 SqC:=a,b,a+b,a-b,a*b,a/b; subs(a=3,b=4,SqC); 将SqC中的a,b分别换为3,4Error, wrong number (or type) of parameters in function subs出错的原因是subs()只能包含一个代数表达式,而Maple却将序列SqC看成是多个代数表达式。为了解决这个问题,我们不得不先将序列转换成一个列表(list),操作完成后以后再转换成序列,如: op(subs(a=3,b=4,SqC); op()取列表中各元
8、素得序列或 subs(a=3,b=4,SqC); whattype(%); op(%);2 函数运算上面对序列进行赋值运算时需将其转化为列表才行。如果按同样的思路,将序列转化为列表,然后将元素作为一个函数自变量的值进行运算,实际上行不通,如: exp(%);Error, exp expects its 1st argument, x, to be of type algebraic, but received 3, 4, 7, -1, 12, 3/4系统报错,好在Maple有一个函数map()可以解决这个问题:map(fcn, expr, arg2, , argn);fcn为操作名,expr是
9、任何一个表达式,argi是一个可选操作名。如: op(map(exp,SqC); 又如: map(f, x + y*z); map(f, y*z); map(f, a,b,c); map(x - x2, x + y); map(proc(x,y) x2+y end proc, 1,2,3,4, 2); map(f, g, a,b,c); map2(f, g, a,b,c); map(op, 1, a+b,c+d,e+f);3 从序列中按位置寻找元素P1334 判断元素是否在序列中5 寻找最大和最小值6 寻找满足特写条件的元素7 序列各元素之间的代数运算3.2.3 数的定义与展开1. 幂级数展开
10、series(expr,eqn);series(expr,eqn,n);expr是需要展开的表达式,eqn是一个等式(如,x=a)或是一个变量名(如,x),n是级数展开的阶数(n-1),缺省“n”,系统取默认的值“Order=6”,展开Order-1阶。如: series(exp(x),x); Order:=4; series(exp(x),x); series(exp(x),x=a,4); Ps:=convert(%,polynom); # 将高阶项去掉2. 泰勒(Taylor)展开Maple提供两个函数taylor、mtaylor来分别处理一元表达式和多元表达式的展开,它们的参数设置与幂级
11、数展开series相同,如: taylor(exp(x),x); Order:=4; taylor(exp(x),x); taylor(exp(x),x=a,4); Ps:=convert(%,polynom);多元函数的泰勒展式: mtaylor(exp(x*y),x=1,y=1,3);3. Laurent级数展开4. 泊松(Possion)级数展开5. 傅立叶(Fourier)展开3.2.4 级数的基本运算 Sn:=1/xn; sum(Sn,n=1.infinity); sum(Sn,n=4.10); simplify(%);3.3 微 分3.3.1 一元函数的微分运算定义: f:=f:
12、f:=x-x/(x2+1); limit(f(x+h)-f(x)/h,h=0);求导函数: diff(f,x);返回经过计算的表达式diff(f,x,x,x);求高阶导数表达式Diff(f,x); 返回没有经过计算的表达式如: diff(x/(x2+1),x): simplify(%); 一阶导数 diff(x/(x2+1),x,x): simplify(%); 二阶导数 diff(x/(x2+1),x, x$3): simplify(%); 三阶导数 另有函数D:P142 D(x-x/(x2+1)(x): simplify(%); 一阶导数 D(x/(x2+1)(x): simplify(%
13、); 视x为函数3.3.2 多元函数的偏微分运算 f(x,y):=x6*y5; diff(f(x,y),x,y); diff(f(x,y),x$3,y$2); 3.3.3 隐函数的微分运算例:设,求y. Eq:=Eq: Eq:=2*x2-2*x*y(x)+y(x)2+x+2*y(x)+1=0;上步中,一定将“y”换成“y(x)”,否则将y视为参数,而不是x的函数 dEq:=diff(Eq,x); 对方程两边关于x求导数 isolate(dEq,diff(y(x),x); 解出diff(y(x),x) 练习: 已知氢分了离子的反键态能量如下形式:(1)证明Eg可以写成Eg=,并求出F(t)和G(t),其中t=kR;(2) 假设已知 =0情况下导致k= , 求解当t分别趋于0和正无穷时k的值。提示: Eg:=Eg: Eg:=-1/2*k2+(k2-k-1/R+1/R*(1+k*R)*e(-2*k*R)-k*(k-2)*(1+k*R)*e(-k*R)/(1-e(-k*R)*(1+k*R+1/3*k2*R2): Eg:=subs(e=ex