MAPLE软件简介及其应用_第1页
MAPLE软件简介及其应用_第2页
MAPLE软件简介及其应用_第3页
MAPLE软件简介及其应用_第4页
MAPLE软件简介及其应用_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Maple及其应用简介及其应用简介第一部分第一部分 Maple简介简介 Maple是加拿大Waterloo大学符号计算研究小组于80年代初开始研发,1985年才面世的计算机代数软件,起初并不为人们所注意。但Maple V release 2于1992年面世后,人们发现它是一个功能强大、界面友好的计算机代数系统。随着版本的不断更新,Maple已日益得到广泛的承认和欢迎,用户越来越多,声誉越来越高。从1995年以后,Maple一直在IEEE的数学软件评比中居符号计算软件的第一名。目前,Maple的最高版本为Maple V release 12.01。 Maple是一个对大众公开的计算机代数系统,主

2、要由三部分组成: 用户界面、代数运算器和外部函数库。用户界面负责输入数学表达式的初步处理、运算结果和图像的显示等。代数运算器进行输入的编译及基本的代数运算。外部函数库中包括数千个数学函数和过程,几乎涵盖了数学中的所有分支。 Maple支持函数、序列、集合、列表、数组、表等多种数据结构。 用户可以查看Maple的非内部函数的源程序,也可以将自己编和函数、过程添加到Maple的函数库中或建立自己的函数库。 Maple的一个突出特点是它的界面非常友好。它有一个非常好的帮助系统,可以很方便地查找函数和命令的用法。 总之,Maple是一个功能强大、容易掌握、不断发展的数学解析软件。有了良好的数学基础加上

3、Maple就能使你如虎添翼,有能力和信心去解决各种各样的数学计算问题。第一章第一章 Maple初步初步 1.1 Maple 的安装与启动的安装与启动 不同版本Maple的安装过程略有不同,有的版本需要序列号。 Maple的工作环境是典型的 windows 界面,下面给出Maple7的经典界面和Maple11的新界面。 1.2 Maple 命令的输入与显示命令的输入与显示 1. 命令提示符;大小写敏感。 2. Maple命令以;或:结尾,以;结尾显示结果,而以:结尾则不显示结果。 3. Maple的赋值号为:=。 4. 光标放在命令行的任意位置,然后回车即可运行此命令;在书写命令时如需换行,须按

4、Shift+回车。1.3 Maple 的数值与解析计算的数值与解析计算 Maple可进行无误差的符号计算和高精度的数值计算。例如, 100!, Pi, sqrt(2), sin(3)。1.4 Maple 的图形显示的图形显示1. 一般函数做图p l o t ( f ( x ) , x = a . . b , o p t i o n ) ; plot3d(f(x,y),x=a.b,y=c.d,option);2. 极坐标做图plot(sin(3*x),x,x=-2*Pi.2*Pi,cords=polor);3. 隐函数做图implicitplot(表达式,x=a.b,y=c.d);with(pl

5、ots);impliciplot(y=sin(x+y),x=1.20,y=-1.1);4. 参数方程做图plot(cos(t),sin(t),t=0.2*Pi);5. 同一坐标系中做多图方法1: plot(f1(x),fn(x),x=a.b);plot(x3-6*x+2,3*x2-6,x=-5.5): 切勿与参数方程做图混淆.方法2:F1:=plot():F2:=plot(): Fn:=plot():Display(F1,Fn);with(plots):F:=plot(cos(x),sin(x),x=0.2*Pi):G:=plot(cos(x),sin(x),x=-2*Pi.2*Pi):dis

6、play(F,G):1.5 Maple 的微积分计算的微积分计算1. 解方程solve(f(x),x); 求解析解fsolve(f(x),x); 求全部实数数值解fsolve(f(x),x,complex); 求全部复数数值解2. 求极限limit(tan(x)-sin(x)/x3,x=0);limit(sqrt(x2+x)-sqrt(x2-x),x=infinity);3. 求导数diff(x/(1+x)x,x);diff(sin(x),x$2);diff(ln(tan(x/y),x,y);simplify(diff(ln(tan(x/y),x,y);implicitdiff(y=sin(x

7、+y),y,x);4. 求积分int(exp(-x)*cos(x),x);int(sqrt(1+cos(2*x),x=0.Pi);5. 解微分方程dsolve(diff(y(x),x)=x+y(x),y(x);dsolve(diff(y(x),x)=x+y(x),y(0)=2,y(x);1.6 Maple 的线性代数计算的线性代数计算1. 矩阵转置 transpose(A);2. 矩阵取行列式 det(A);3. 矩阵加法 evalm(A+B);4. 矩阵乘法 evalm(A&*B);5. 求特征值 eigenvals(A);6. 求特征向量 eigenvects(A);1.7 Map

8、le 的帮助功能的帮助功能 Maple有非常强大、完善的在线帮助功能。Maple可通过Introduction, Topic Search和键盘命令等方式寻求帮助。 例如,?interp; ?dsolve;1.8 Maple 的函数库的函数库 Maple有数以千计的函数,这些函数被分成四大类: 标准库、混合库、专用软件包和共享软件包。1. 标准库 标准库分为内部函数、外部函数和惰性函数三类。 内部函数在 Maple 的内核中,不能查看其代码。外部函数和惰性函数可以查看其代码。惰性函数主要用来显示函数名。2. 混合库 混合库中存放的是不太常用的函数,系统启动时不自动调入内存。需要用时需用命令re

9、adlib(函数名)调入 。3. 专用软件包 Maple 有几十个专用软件包,分别处理不同数学分支问题。 专用软件包在使用时要用命令with(软件包名)调入。4. 共享库 共享库是由 Maple 爱好者开发的软件包。这些程序用户可上网搜寻。第二章第二章 Maple语言基础语言基础 Maple 是一个可编程的数学环境。本章介绍 Maple 的符号集、语句、表达式、基本数据类型以及基本的程序语言。2.1 标识符与变量名标识符与变量名2.1.1 标识符标识符 标识符是语言的基本元素。 Maple 的标识符由26个大小写字母、10个数字字符以及一些特殊符号组成(P49)。2.1.2 变量名变量名 变量

10、名的第一个符号必须是字母,后面可以跟字母、数字、下划线。 Maple 中的关键词是系统内部使用的字符串,不能作为变量名。另外,内部函数名也不能作为变量名。2.2 语句和表达式语句和表达式2.2.1 语句类型语句类型 1. 赋值语句 变量名:=表达式注:初学者最容易犯的错误是将赋值号“:=”误写为“=”。 2. 条件语句 if 条件 then 语句组 fi if 条件 then 语句组 else 语句组 fi if 条件 then 语句组 elif 条件 then 语句组 fi if 条件 then 语句组 elif 条件 then 语句组 else 语句组 fi 3. 循环语句 for 循环变

11、量名 from 初值 by 步长 to 终值 do 语句组 od 考察下列程序中的循环和条件语句。restart:n:=10000: count:=0:for i from 1 to n do r1:=rand(0.1): r2:=rand(0.1): if r1()=1 or r2()=1 then count:=count+1: fi:od:prizeA:=1000*evalf(count/n);2.2.2 表达式表达式 Maple的表达式由常数、变量、函数、运算符和括号等组成。例如, 1. 序列、列表、集合;(第五章) 2. 特别运算符:复合、自复合 、取模mod。例如, (sinln)

12、(x)结果为sin(ln(x); (ln2)(x)结果为ln(ln(x); 10 mod 3结果为1。 考察下列程序中的复合运算。restart:f:=x-x3-3*x-1:plot(f(x),x=-3.3);fsolve(f(x);x:=-4:n:=9:g:=x-x-(x3-3*x-1)/(3*x2-3):for i from 1 to n do x:=evalf(gi)(x):od; 3. 布尔表达式和逻辑运算 Maple中的关系运算符为,=,=, ;逻辑运算符为and, or, not。 “表达式 关系运算符 表达式”称为关系式,其值为true或false。 由关系式、逻辑运算符和括号组

13、成的表达式称为布尔表达式。例如, a:=1; b:=2; c:=3; ab, cb; false, true ab and cb false 考察第38张幻灯片程序中的逻辑表达式。 4. 过程与函数 (第五章)2.3 类型与判别类型与判别 Maple 具有丰富的表达式、函数和数据类型,以适应不同数学领域和用户的要求。看一个表达式是什么类型,除凭经验外,还可用命令 type对变量类型进行判别,用命令 whattype对表达式类型进行询问。2.3.1 判别类型命令判别类型命令 函数type(表达式, 类型)判别此表达式是否属于该类型。属于时函数值为1,否则为0。 例如,type(5,float)的

14、值为false。 Maple中所有的表达式类型见P57。2.3.2 类型询问类型询问 函数whattype(表达式)返回表达式的基本数据类型。 Maple中的基本数据类型见P57。 例如,whattype(x-y)的值为+, whattype(xy)的值为。2.4 基本数据类型基本数据类型 本节介绍一些常用基本数据类型:整数(integer), 分数(fraction), 浮点数(float), 常数(constant),函数(functions),复数(complex),代数数(algebraic number)。下一章将进一步介绍常用复合数据类型。2.4.1 整数、分数整数、分数 Mapl

15、e可以计算和表示的最大整数长度为219-1=524279位。 常用的整数运算函数见P58。 Maple的分数计算是符号计算, Maple在处理含有分数的表达式时,自动地对分数进行约分,将分母表示成正整数。2.4.2 浮点数、符号常数浮点数、符号常数 浮点数通常指带有小数的数,它的运算不属于符号运算。 1. 浮点数有常规和指数两种表示法。 例如,314.5和3.145e2。 2. 可用命令evalf(表达式,精度)求表达式的浮点数。 例如,evalf(22/7,20)。 3. Maple 默认的浮点精度为10,可用命令“Digits:=精度”进行重新设置。 例如,Digits:=40; eval

16、f(22/7); Maple对数学中的重要常数做了特殊定义。注: Maple各版本中的定义略有不同。2.4.3 复数、代数数复数、代数数 Maple用I代表虚数单位,如1+3*I。 复数的常用运算有Re(取实部)、 Im(取虚部)、argument(求幅角)、conjugate(求共轭)。 代数数是指有理多项式方程的根。代数数的计算是符号计算。2.5 Maple的程序语言的程序语言 用本章介绍的语句可以编制出简单的Maple程序。 下面给出用数值积分计算 的程序。 因为 ,只要计算出右边的积分,即可得到的值。 我们分别采用数值分析中的复化梯形公式和复化Simpson公式计算。复化梯形公式 :复

17、化Simpson公式 :10214dxx11( )2()( )2nnkkbaTf af xf bn)()(2)(4)(6111021bfxfxfafnabSnkknkknPi:=evalf(Pi,50);a:=0: b:=1: n:=1000:f:=x-4/(1+x2):Pi1:=evalf(b-a)/n*(sum(f(a+i*(b-a)/n),i=1.n-1)+(f(a)+f(b)/2),50);Pi2:=evalf(b-a)/6/n*(f(a)+f(b)+2*sum(f(a+i*(b-a)/n),i=1.n-1)+4*sum(f(a+(i+1/2)*(b-a)/n),i=0.n-1),50

18、);1.在同一坐标系中作出 和它的Taylor展式前 项构成的多项式图象。对不同的 ,观察多项式逼近 的情形,并通过计算证明 的Taylor级数收敛于 。2.对不同的n,画出 在 上的图象。通过观察图像猜测当时,这个函数趋向于什么函数,并证明之。 xycosxycosxycosxycosnnnkkkxky1112) 12cos() 1(45 ,5n第三章第三章 Maple的复合数据类型的复合数据类型 本章进一步介绍 Maple 语言的数据结构,包括常用的复合数据类型、函数的定义方法和函数的运算。最后介绍复合数据的三个重要命令:代换(subs),映射(map)和转换(convert)。3.1 序

19、列、集合、列表序列、集合、列表 序列、集合和列表是三种最常用的复合型数据类型。本节介绍它们的使用和相互转换方法。3.1.1 序列序列(sequence) 形如下列类型的数据称为序列。 表达式1, 表达式2, , 表达式n 例如,1,2,3和x,y,z均为序列。 1. 序列是 Maple 中的一种基本数据结构,可用于函数、集合、列表等语句中。例如,f(1,2,3) (三元函数), x,y,z (集合), a,b,c (列表)。 2. 两个序列可用逗号连成一个序列。例如,a:=1,2,3; b:=4,5,6; ,则语句c:=a,b;产生的序列是1,2,3,4,5,6。 3. 可用函数seq、$、o

20、p生成序列。 (1)seq(f(i),i=m.n)生成序列f(m),f(m+1),f(n)。 (2)语句“表达式$n”表示将表达式重复n次,即生成序列“表达式,表达式”。 例如,a$3生成序列a,a,a。 语句“表达式(i)$i=m.n”表示生成序列“表达式(m),表达式(n) ”。 例如,i2$i=1.4生成序列1,4,9,16。 语句“$m.n”等价于语句“i$i=m.n”,即生成序列“m,m+1,n ”。 例如,$1.4生成序列1,2,3,4。 (3)op(列表)生成列表。 例如,op(x,y,z)生成列表x,y,z。 (4)可用命令“序列名i”提取序列的第i项。 例如,s:=1,2,3

21、; s3; 的结果是3。 (5)连接算子|可将两个序列按一定法则连接,产生一个新序列。若s为一序列,则a|s可以把a缀于s的每一元素前。 例如,s:=1,2,3; a|s;生成序列a1,a2,a3。3.1.2 列表列表(list) 用一对方括号括起的以逗号分隔的一组Maple对象即序列称为列表。 例如,1,2,3即为一列表。 (1)列表的元素是有序的,可以重复。 例如,1,2和2,1、1,2和1,2,2是不同的列表。 (2)可用“列表名i.j” 提取列表的第i到第j个元素。 例如,L:=$1.10: L5; L1.3;的结果分别为5和1,2,3。 (3)op(L)表示提取列表的所有操作数即元素

22、,亦即将列表转换为序列。 (4)nops(L)表示求列表中元素的个数即列表的长度。 例如,L:=1,2,3,4: nops(L)结果为4。 (5)op(L),x 表示在列表后面附加一个元素x;subsop(i=x,L)表示将列表L中的第i个元素换成x;subsop(i=NULL,L)表示消去列表L中的第i个元素。3.1.3 集合集合(set) 用一对花括号括起的以逗号分隔的一组Maple对象即序列称为集合。 例如,x,y,z即为一集合。 (1)列表的元素是无序的。元素可以重复,但运行后重复的元素只保留一个。 例如,1,2和2,1 、1,2和1,2,2是相同的集合。 (2)可用“集合名i.j”

23、提取集合的第i到第j个元素。 (3)可用命令op(S)、op(S) 将集合S分别转换为序列和列表,但在转换时去除重复元素。 (4)集合的运算有union (并)、intersect (交)、minus(差)、member(成员判别)。第二部分第二部分 Maple应用示例应用示例1. Maple在核磁共振研究中的应用在核磁共振研究中的应用 弛豫的计算是核磁共振中非常重要的工作。长期以来,由于计算方法、计算软件和计算工具所限,许多学者在计算弛豫时都做了不同程度的简化,这就使得计算结果不够精细,缺乏说服力。 本人根据核磁共振弛豫理论和相关数学知识提出了“改进的矩阵计算方法”。应用此方法,借助于Map

24、le 软件,本人计算出了多种重要核磁共振体系完整的弛豫方程组,已发表相关论文十余篇,其中五篇被 SCI 检索,并被中国、印度和美国多名学者引用。 上述计算是极为复杂的,不借助功能强大的解析计算软件和高档的计算机是难以完成的。2. Maple在溅射物理研究中的应用在溅射物理研究中的应用 我校张竹林老师是研究溅射物理的国际知名专家。张老师在与俄罗斯物理学家Glazov 论战时需要用到大量复杂的解析计算和高精度的数值计算。张老师和我共同指导张莱 (张老师之子,本人的研究生) 应用 Pad 逼近和 Maple,分别用解析和数值两种方法,计算了动量和能量淀积空间分分布,从而证明了Glazov推导出的方程

25、是不正确的。所得结果被美国权威学者称为张公式,研究成果被中科院、清华大学、复旦大学五位学者鉴定为国际领先水平,并已在Physical Review B、Radiation Effects and Defects in Solids等国际知名期刊上发表。 本工作中的数据高达600位小数,由最新版的Maple和高档计算机完成。 3. Maple在石油测井研究中的应用在石油测井研究中的应用 核磁共振在石油勘探测井中有着非常重要的应用。本人与中石油科学技术研究院测井研究所合作了一个项目球管孔隙模型的弛豫机制及核磁实验数据研究。 项目内容为 : 1. 油水两相球管孔隙模型的弛豫机制理论研究,要求给出 B

26、loch 方程完整的求解过程; 2. 应用化学位移及油气扩散识别孔隙结构和油气的方法研究,须考虑分子键共振频率与核磁共振频率之间的关系,并提供可供编程的算法; 3. 根据对甲方提供的实验数据,提出油水弛豫信号的分离方法,要求提供可供编程的算法; 4. 根据甲方提供的实验数据,进行 N OE识别岩石孔隙结构和流体应用方法的探 探索性研究,并提供可行的实验方案。 项目中的第一和第二个工作已完成,其中第一个工作现已被用于现场测井,并取得了较好的效果。 本项目除了需要一定的专业背景和数学知识外,较高的计算技能和先进的计算软件起到了至关重要的作用。 本项目中所有的解析计算和数值模拟均由Maple完成。4. Maple在研究生数学建模中的应用在研究生数学建模中的应用 本人在2006和2007年分别指导我校研究生参加了全国第三、第四届研究生数学建模。竞赛论文“确定高精度参数问题” (2 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论