2024年4月13日发(作者:)

第3章微积分

Maple的一个非常实用的功能就是微积分计算.它能求导数,作积分,作级数展

开,作无穷求和,还有很多很多功能.在这一章,我们关注最基本的功能.

极限

极限思想是微积分学中最基本的思想,而Maple知道怎么计算它们.例如,要求

sin3x

lim

的极限值,可以使用Maple的limit命令,表达式如下所示:

x→0

x

>limit(sin(3*x)/x,x=0);

3

当然你也可以使用Maple函数来求解

>y:=x->sin(3*x)/x;limit(y(x),x=0);

y:=x→

3

您可以输入?limit来查看这条命令的详细说明,但这并不是命令的全部说明.

问题3.1

尝试着练习这个问题:

cos(x)−1

x→0

x

2

lim

sin(3x)

x

微分

导数相对来说是容易的,所以这一节也一样.Maple对初等函数和特殊函数的求导

是同样容易的,所以这一节只是展示两条Maple的微分命令,一条用于表达式,一条

用于函数.

首先,我们对表达式进行微分.我建议你使用下面说明正切函数用法的形式来求一

阶导数,二阶导数和三阶导数.你也可以使用diff命令,它直接求出导数,或者Diff

和value命令,给出所求表达式的导数,并计算其值.Diff命令的用途实际上超出你的

想像,因为它给你一个机会查看你要Maple求的导数是不是你所想要的.

>diff(tan(x),x);

1+tan(x)

2

>diff(tan(x),x$2);

2tan(x)(1+tan(x)

2

)

>d:=Diff(tan(x),x$3);

>d:=value(d);

3

tan(x)

d:=

3

∂x

d:=2(1+tan(x)

2

)

2

+4tan(x)

2

(1+tan(x)

2

)

1

>d:=simplify(d);

d:=2+8tan(x)

2

+6tan(x)

4

下面让我们看一下如何对函数进行微分.

>f:=x->tan(x)/x;

f:=x→

tan(x)

x

Diff命令不能对函数进行微分,因此我们要使用Maple的D命令.这是一条体积

小但功能非常强的命令.它能求复合函数的多阶导数(查看所有用法请输入?D),但我

们只能对单一函数求一阶导数.求一阶导数是非常容易的

fp:=D(f);

1+tan(x)

2

tan(x)

f

p

:=x→

xx

2

注意,指定D(f)对f

p

的结果产生函数f

p

(x).求高阶导数的方法有很多种,这是

最通用的一种.

>fpp:=D[1$2](f);

f

pp

tan(x)(1+tan(x)

2

2(1+tan(x)

2

)2tan(x)

:=x→2

+

xx

2

x

3

方括号里的“1”表示关于参数列表里的第一个变量(这里只有一个)求微

分,“$2”表示相当于执行diff命令两次.

好了,内容就这么多.这里有一些练习需要训练.

问题3.2

求下列函数的形式导数.大部分使用表达式形式,(a)和(d)使用函数形式.如果得

到混乱的结果,尝试使用simplify命令化简它.你会发现simplify命令对函数无效,

为了使结果更好看,用鼠标把你想要化简的混乱结果复制到剪贴板,把它赋给一个新

的变量,删除无关的内容,然后再执行化简命令.然后再使用剪切和粘贴命令重建求导

函数.Maple的这个组合及编辑是做无错误代数的好方法.

3

∂∂∂

2

tan(x)

3

(a)

3

1+x(b)J

0

(x)(c)I

1

(x)(d)

2

e(e)Γ(x)

∂x∂x∂x∂x∂x

∂∂

erf(x)(g)K(k)

∂x∂k

((g)是第一种形式的完全椭圆积分,使用Maple的EllipticK命令.)

(f)

问题3.3

这是一个你在大学里也使用的求最大最小问题.考虑函数ln(x)J

0

(x)(我用词“函

数”是数学意义的,而不是Maple意义的.如果你仅仅使用一个Maple表达式来定义

上面的函数,这个问题是很简单的.)(a)首先画出函数在区间[0,10]上的图像.(b)观察

图像,找出并估摸函数取得最大最小值时x的值.接着对函数求导,然后使用fsolve

命令求出x的精确值.假若求导后的表达式为f,如果你想求出1.1附近的零点,你可

以这样做:fsolve(f,x=1.1);

2