当前位置:文档之家› Maple使用之要素习得

Maple使用之要素习得

Maple使用之要素习得.教程简介第一数值计算节:第二代数运算节:第三图像节:第四解方程节:第五函数:定义、求值、作图节:第六更多关于图像节:实践问题Maple 快速参考卡工作表界面注释教程目录本教程由Mike Pepe设计,他对有效使用Maple所必需的基本命令给出了精辟的介绍。

以下的六节内容将带领你进入Maple的世界,你不妨亲自动手实践体验Maple的滋味。

说明:本教程针对初等数学水平,不需用户据有微积分基础,但不失为接触微积分的好帮手。

本教程的每节都有如下部分:∙例 : 一组短小、完整解决的例子,用以说明新命令。

∙练习:基于本节内容的短小练习,后面附有答案用以检查结果。

1-6节之后是实践问题。

这些问题将提供一个使用本教程中全部命令的机会。

完成这部分问题后,你已经为在数学课中高效使用Maple做好了准备。

在本教程结尾你将发现一个名为“快速参考卡”的部分,它列出了本教程中你学到的Maple命令及使用格式以便参考。

本教程着眼于基本的Maple命令,工作表界面的细节问题请参阅本教程最后一节:工作表界面说第一节:数值计算o精确算术运算o用evalf()函数做数值近似▪练习 1.1▪答案 1.1▪练习 1.2▪答案 1.2▪练习 1.3▪答案 1.3▪练习 1.4▪答案 1.4o清除变量第一节:数值计算本节将用Maple做一些标准的数值计算。

我们将看到Maple提供精确结果和数值近似的能力为我们解决问题带来更大灵活性。

精确算术运算使用Maple进行数值运算是一件直截了当的事,只需输入数值表达式并以英文分号;为结尾,再按回车经计算结果在下行居中显示.例 1:> 2+4;> 12*34567890;每行红色的输入都是随时可编辑的, 修改后只需再按回车结果将被更新.例 2:> 134^39;与普通计算器不同的是Maple给出全部83位长的结果!例 3:Maple可以计算分数而无须转化为小数.> 3/5 + 5/9 + 7/12;例 4:使用函数 sqrt( ) 计算平方根:> sqrt(24);请注意,虽然Maple对进行了化简,但仍保留精确形式。

下一部分你讲学到如何求这个数的数值近似。

例 5:Maple内置所有重要的数学常数,如只需键入Pi。

注意*号代表乘法,不可省略。

> 4*(3+Pi);Maple 执行了计算,但保留精确形式。

例6:与计算器不同,Maple在进行三角运算时也保留精确结果。

> sin(5*Pi/3);> sec(Pi/4);> arcsin(-1);Maple能判断无意义:> tan(Pi/2);Error, (in tan) numeric exception: division by zero例 7:输入自然对数函数键入函数 exp(x) .> exp(x);数e本身键入 exp(1) .> exp(1);例 8:绝对值函数键入: abs(x).在第三行中Maple给出的是精确值,因为> abs(x);> abs(-3);> abs(exp(1)-Pi);例 9:使用函数ifactor( )可进行因数分解。

> ifactor(31722722304);例 10:有时你可能需要在一行中输入多条命令,只需以;分割,按回车时它们会一起执行。

> sin(Pi/3); cos(Pi/3); tan(Pi/3);例 11:计算和显示数的序列使用seq(..)函数,下面我们计算前100个自然数的平方。

> seq(k^2,k=1..100);使用evalf( )函数进行数值计算前面我们发现Maple有强大的精确计算能力,但有时我们需要数值形式。

例 1:> 3/5+5/9+7/12;> evalf(3/5+5/9+7/12);>例 2:给运算结果赋予名字将便于引用,使用( name := result ; )格式来实现。

> k:=3/5+5/9+7/12;> evalf(k);>请注意 : Maple 是大小写敏感的,例如 k 与 K 将被视为不同变量。

> k;> K;当然我们可以使用单词(甚至中文)作为变量名。

> joe:=2^5;> sqrt(joe);例 3:如果我们需要更高或更低的浮点数精度,而不是系统缺省的10位,可以使用evalf( )函数的精度参数。

> w:=4*(3+Pi);> evalf(w);> evalf(w,4);> evalf(w,45);>例 4:如果在输入中使用小数,Maple自动将结果显示为小数。

比较下面两行。

> sqrt(34.0);另一例:> 4-1/3;> 4.0-1/3;>例 5:evalf( )函数可以作用于列表,下面我们首先生成1到10的精确平方根,再取数值近似。

> result:=seq(sqrt(k),k=1..10);> evalf(result);>Maple 捷径: 快速调用前面的输出结果Maple使用百分号(%)代表前一个输出。

> 3/5+5/9+7/12;> Pi;> evalf(%);> %+5;>参见下面练习 1.4。

练习 1.1计算.答案 1.1> 37^43;练习 1.2取18位有效数字计算. 答案 1.2> m:=sqrt(34);> evalf(m,18);>练习 1.3求表达式的数值近似答案 1.3> answer:=(3+Pi)/(7-sqrt(13));> evalf(answer);练习 1.4使用%引用前面的输出结果有时产生非预料结果,如下例。

> 4+Pi;> evalf(%);> %+10;>如果再次执行%+10;那一行,结果由变为,能解释为什么吗?答案 1.4引用符号%代表Maple计算得的最后数,故前三行执行后, % = .再次运行%+10;得再加10。

因此我们可以用赋名字的办法避免此类混乱。

> a:=4+Pi;> b:=evalf(a);> b+10;>清除变量一旦定义了变量,Maple将在整个工作过程中记得变量的值。

再次赋值可以覆盖前一次赋值。

(检查变量的值只需输入变量名跟;)> h;> h:=56;> h;> h:=sqrt(Pi);> h;有时我们需要从内存中清除变量的值,下例中首先给x赋值65> x:=65;现在假设我们开始另一个问题,将 w赋值为代数表达式。

如果像下面输入,Maple自动用原来的值65代换x。

> w:=x^2-4*x+7;使用 x:='x';格式清除变量x的值。

注意这里使用单引号。

> x:='x';> w:=x^2-4*x+7;立即清除内存中所有变量的值使用restart命令。

在开始新问题时可以使用restart命令确保无赋过值的变量。

> p:=4;> p; x; h;是不是已经忘了h赋过值?因此开始新问题前别忘了使用restart命令。

这也是为什么本教程每节都以restart命令开头。

> restart;> p; x; h;第2节: 代数运算o subs( ) 命令▪练习 2.1▪答案 2.1▪练习 2.2▪答案 2.2▪练习 2.3▪答案 2.3▪练习 2.4▪答案 2.4 o expand( ) 命令▪练习 2.6▪答案 2.6 o factor( ) 命令▪练习 2.8▪答案 2.8▪练习 2.9▪答案 2.9 o simplify( ) 命令▪练习 2.11:▪答案 2.11▪练习 2.12▪答案 2.12第2节: 代数运算Maple 是一套C.A.S,即"计算机代数系统"(C omputer A lgebra S ystem).也就是说Maple 了解所有你知道的代数法则。

随着你逐步学习微积分、微分方程、和现行代数你将发现Maple已将以上所涉及的基本操作包含在强大的命令集中。

本节你将学习如何输入代数表达式、求值、以及恒等变形。

>subs( )命令例 1:前4例我们从给表达式命名为W开始。

> W:=3*x^2+8;假设我们要将x代换为4,最快捷的方法是使用命令subs( ):> subs(x=4,3*x^2+8);或> subs(x=4,W);例 2:subs( )命令对符号值的代换同样有效。

我们用5+2u代换x并将结果赋予M。

> W:=3*x^2+8;> M:=subs(x=5+2*u,W);最后我们用expand( )命令展开成u的多项式。

> expand(M);例 3:subs( )命令功能远强于此,我们可以代换多变量表达式,如中用7代换x、12代换y。

> U:=(2/5)*x^2+3*y;> subs(x=7,y=12,U);> evalf(%);例 4:subs( )命令也可以代换方程中的部分,这常被用来验根。

我们用方程对eqn赋值,注意" := "用来赋值, 方程使用"="。

> eqn:=x^3-5*x^2+7*x-12=0;> subs(x=3,eqn);> subs(x=4,eqn);> subs(x=5,eqn);>练习 2.1用对k赋值 . 用对M赋值,并求. 答案 2.1> k:=x^2+4*x-3;> M:=k^2-9;> 3*M+6;> expand(3*M+6);>练习 2.2用expand( )命令展开答案 2.2> w:=(1+x)^4;> expand(w);或> expand((1+x)^4);>练习 2.3令. 当 x = 0.01 , a = , , ,知求P .答案 2.3> P:=a*x^3+b*x^2+c*x+d;> subs(x=0.01,a=-1/5,b=2/5,c=0,d=13/15,P);>练习 2.4用subs( )命令检验1,2,3是否是如下方程的根。

答案 2.4> eqn:=x^3-16*x^2+51*x-36=0;> subs(x=1,eqn);> subs(x=2,eqn);> subs(x=3,eqn);>易见三者都是原方程根。

(第5节精细讲如何解方程。

相关主题