常用数学软件及其应用.ppt_第1页
常用数学软件及其应用.ppt_第2页
常用数学软件及其应用.ppt_第3页
常用数学软件及其应用.ppt_第4页
常用数学软件及其应用.ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

常用数学软件简介,Maple在若干领域内的应用,第一部分常用数学软件,目前在科学研究与工程计算中常用的数学软件约30余个,可分为通用与专用两大类。专用软件主要是为解决数学中某个分支的特殊问题而设计的。常用的专用软件有:1.SAS和SPSS(统计分析);2.Lindo、Lingo和CPLEX(运筹与优化计算);,3.Cayley和GAP(群论研究);4.PARI(数论研究);5.Origin(科技绘图与数据分析);6.DELiA(微分方程分析);7.ANSYS(有限元计算)。通用软件一般可以求解数学许多分支中的大部分问题。通用软件又可分为数值计算型与解析计算型。,常用的通用型数值计算软件有:Matlab、Xmath、Gauss、MLAB等。常用的通用型解析计算软件有:Maple、Mathematica、Macsyma、Axiom和Reduce等。Matlab、Mathematica、Maple与另一个面向大众的普及型数学软件Mathcad并称数学软件中的“四大天王”。,Matlab意思为“矩阵实验室”,是美国计算机科学家CleveMoler在70年代末开发出的以矩阵数值计算为主的数学软件,如今已发展成为融科技计算、图形可视化与程序语言为一体的功能强大的通用数学软件。Matlab最突出的特点是其带有一系列的“工具包”,可广泛应用于自动控制、信号处理、数据分析、通讯系统和动态仿真等领域。高版本的Matlab也可进行符号计,符号计算,不过它的代数运算系统是从解析计算软件Maple移植而来。目前,Matlab的最高版本为7.2。Mathematica是美国物理学家StephenWolfram开发的第一个将符号计算、数值计算和图形显示很好地结合在一起的数学软件,在国内较为流行,拥有广泛的用户。它的最大优点是带有图形用户接口的计算机上Mathematica支持一个专用的Notebook,接口。通过Notebook接口,可以显示输出结果、图形、动画和声音等。Mathematica的另一个特点是它可以和C、Excel、Word等相互调用。Mathcad是MathSoft公司在80年代开发的一个交互式数学文字软件,与Matlab和Mathematica不同的是,该软件的市场定位是:向广大教师、学生、工程技术人员提供一个兼备文字、数学和图形处理能力的集,集成工作环境,而并不致力于复杂的数值计算与符号计算问题,具有面向大众普及的特点。不过,现在Mathcad的计算能力已远超出了其早期的设计目标。SPSS(社会科学统计软件包)是世界著名的统计分析软件之一。SPSS的基本功能包括数据管理、统计分析、图表分析、输出管理等。其过程包括描述性统计、均值比较、一般线性模型、相关分析、回归,分析、聚类分析、生存分析、时间序列分析等。SPSS中还有专门的绘图系统,可以根据数据绘制各种图形。Origin是与SigmaPlot和Axum齐名的科技绘图和数据处理软件。Origin除了可以很方便地画出各种二维和三维图形外,它的最突出的功能是曲线拟合。它不仅可以用内置的上百种函数很方便地进行曲线拟合,而且可以根据用户的需要添加线型。,Lindo是美国芝加哥大学的Schrage教授开发的专门用于求解数学规划的专用软件包,版权现归属于美国Lindo系统公司。Lindo包含Lindo、Gino、Lingo、LingoNL和“WhatsBest”等多个组件,这些组件统称为Lindo,其中Lindo和Lingo最为常用。Lindo可求解线性规划、整数规划和二次规划;Lingo除了可以求解线性规划、整数规划和二次规划外,还可以求解非线,性规划和线性、非线性方程组。除此之外,Lingo还包含了内置的建模语言和一些常用的数学函数,可以简便、直观地描述大规模优化问题。Lingo有多种版本,如学生版、演示版、高级版、发行版、工业版等,其主要区别在于对优化规模(变量和约束个数)有不同的限制。,第二部分Maple及应用,Maple是加拿大Waterloo大学符号计算研究小组于80年代初开始研发,1985年才面世的计算机代数软件,起初并不为人们所注意,但MapleVrelease2于1992年面世后,人们发现它是一个功能强大、界面友好的计算机代数系统。随着版本的不断更新,Maple已日益得到广泛的承认和欢迎,用户越来越多,声誉越来越高,从1995年以后,Maple一直在IEEE的数学软件评比,中居符号计算软件的第一名。目前,Maple的最高版本为MapleVrelease11.2。Maple是一个对大众公开的计算机代数系统,主要由三部分组成:用户界面、代数运算器和外部函数库。用户界面负责输入数学表达式的初步处理、运算结果和图像的显示等。代数运算器进行输入的编译及基本的代数运算。外部函数库中包括数千个数学函数和过程,几乎涵盖了数学中的,所有分支。Maple支持函数、序列、集合、列表、数组、表等多种数据结构。用户可以查看Maple的非内部函数的源程序,也可以将自己编和函数、过程添加到Maple的函数库中或建立自己的函数库。Maple的一个突出特点是它的界面非常友好。它有一个非常好的帮助系统,可以很方便地查找函数和命令的用法。,总之,Maple是一个功能强大、容易掌握、不断发展的数学解析软件。有了良好的数学基础加上Maple就能使你如虎添翼,有能力和信心去解决各种各样的数学计算问题。,1.Maple在核磁共振研究中的应用弛豫的计算是核磁共振中非常重要的工作。长期以来,由于计算方法、计算软件和计算工具所限,许多学者在计算弛豫时都做了不同程度的简化,这就使得计算结果不够精细,缺乏说服力。本人根据核磁共振弛豫理论和相关数学知识提出了“改进的矩阵计算方法”。应用此方法,借助于Maple软件,本人计算,出了多种重要核磁共振体系完整的弛豫方程组,已发表相关论文十余篇,其中五篇被SCI检索,并被中国、印度和美国多名学者引用。上述计算是极为复杂的,不借助功能强大的解析计算软件和高档的计算机是难以完成的。,2.Maple在溅射物理研究中的应用我校张竹林老师是研究溅射物理的国际知名专家。张老师在与俄罗斯物理学家Glazov论战时需要用到大量复杂的解析计算和高精度的数值计算。张老师和我共同指导张莱(张老师之子,本人的研究生)应用Pad逼近和Maple,分别用解析和数值两种方法,计算了动量和能量淀积空间分分布,从而证明了Glazov推导出的方程是,不正确的。所得结果被美国权威学者称为张公式,研究成果被中科院、清华大学、复旦大学五位学者鉴定为国际领先水平,并已在PhysicalReviewB、RadiationEffectsandDefectsinSolids等国际知名期刊上发表。本工作中的数据高达600位小数,由最新版的Maple和高档计算机完成。,3.Maple在石油测井研究中的应用核磁共振在石油勘探测井中有着非常重要的应用。本人与中石油科学技术研究院测井研究所合作了一个项目球管孔隙模型的弛豫机制及核磁实验数据研究。项目内容为:1.油水两相球管孔隙模型的弛豫机制理论研究,要求给出Bloch方程完整的求解过程;,2.应用化学位移及油气扩散识别孔隙结构和油气的方法研究,须考虑分子键共振频率与核磁共振频率之间的关系,并提供可供编程的算法;3.根据对甲方提供的实验数据,提出油水弛豫信号的分离方法,要求提供可供编程的算法;4.根据甲方提供的实验数据,进行NOE识别岩石孔隙结构和流体应用方法的探,探索性研究,并提供可行的实验方案。项目中的第一和第二个工作已完成,其中第一个工作现已被用于现场测井,并取得了较好的效果。本项目除了需要一定的专业背景和数学知识外,较高的计算技能和先进的计算软件起到了至关重要的作用。本项目中所有的解析计算和数值模拟均由Maple完成。,4.Maple在研究生数学建模中的应用本人在2006和2007年分别指导我校研究生参加了全国第三、第四届研究生数学建模。竞赛论文“确定高精度参数问题”(2006)和“六纬度机械臂运动路径设计问题”(2007)分别获得三等奖和二等奖。竞赛中所采用的计算软件为Matlab和Maple。,今年建模中我校采用的方法是其它获奖队所没有采用的,而且是仿真做得最好的一个队。在颁奖大会上,出题人华中科技大学的王以治教授特别提到这一点。注:本来安徽理工大学获得的是一等奖,但由于某些技术原因,最后调整为二等奖,可惜!,5.Maple在其它方面的应用Maple软件还被用于解决我校教师和学生在科研和学生中遇到的各类计算问题。例如,“空间巷道最短距离的计算”(新集三矿工程硕士)、“高性能混凝土的强度与渗透性的关系”(张集矿)、“齿轮间面积的计算”、“超越方程的求解”(机械学院)、“微分方程的求解”(化工学院)、“实习经费的合理分配”(财务处)等。,最后,需要指出的是,尽管数学软件功能强大,但它毕竟只是一种纯粹的计算工具,只有将其应用于有意义的实际问题才能体现出它的价值。另外,数学软件不是万能的。再好的数学软件也有局限性。例如,Maple存在着占用内存大、计算时间长、数值计算速度较慢、部分数学领域问题未涉及等问题。,第一次作业,1、安装Maple、Lingo、Origin、Matlab;2、浏览上述软件的相关资料;3、自学范红兵著数学软件Maple及其应用,初步掌握Maple基本操作;4、给出“导弹追踪问题”的数学模型,用Maple求出模型的解析解与数学解,并画出导弹的轨迹图。,导弹追踪问题,某导弹基地发现正北方向120km处海面上有敌舰一艘以90km/h的速度向正东方向行驶。该导弹基地立即发射一枚导弹跟踪追击敌舰,导弹速度为450km/h,自动导航系统使导弹在任一时刻都能对准敌舰。试问导弹在何时何处击中敌舰?,如果发射导弹时,敌舰立即由仪器觉察。假定敌舰为一高速快艇,它即刻以135km/h的速度与导弹方向成一夹角逃逸,问导弹何时何地击中敌舰?根据计算结果,你能否指出敌舰与导弹方向成何夹角逃逸才好?提示:可假设导弹与敌舰相距足够近时敌舰即被击中。,第三章Maple简介,3.1Maple的安装与启动不同版本Maple的安装过程略有不同,有的版本需要序列号。Maple的工作环境是典型的windows界面,下面给出Maple7的经典界面和Maple11的新界面。,3.2Maple命令的输入与显示1、命令提示符;大小写敏感。2、Maple命令以;或:结尾,以;结尾显示结果,而以:结尾则不显示结果。3、Maple的赋值号为:=。4、光标放在命令行的任意位置,然后回车即可运行此命令;在书写命令时如需换行,须按Shift+回车。,3.3Maple的数值与解析计算Maple可进行无误差的符号计算和高精度的数值计算。例如,100!,Pi,sqrt(2),sin(3)。3.4Maple的图形显示1、一般函数做图plot(f(x),x=a.b,option);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(plots);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):display(F,G):3.4Maple的微积分计算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+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);,3.5Maple的帮助功能Maple有非常强大、完善的在线帮助功能。Maple可通过Introduction,TopicSearch和键盘命令等方式寻求帮助。例如,?inter;?dsolve;,3.6Maple的函数库Maple有数以千计的函数,这些函数被分成四大类:标准库、混合库、专用软件包和共享软件包。1、标准库标准库分为内部函数、外部函数和惰性函数三类。见P3839。内部函数在Maple的内核中,不能查看其代码。外部函数和惰性函数可以查看,其代码。惰性函数主要用来显示函数名。2、混合库混合库中存放的是不太常用的函数,系统启动时不自动调入内存。需要用时需用命令readlib(函数名)调入。见P39。3、专用软件包Maple有几十个专用软件包,分别处理不同数学分支问题。见P40。,专用软件包在使用时要用命令with(软件包名)调入。4、共享库共享库是由Maple爱好者开发的软件包。这些程序用户可上网搜寻。,第四章Maple语言基础,Maple是一个可编程的数学环境。本章介绍Maple的符号集、语句、表达式、基本数据类型以及基本的程序语言。4.1标识符与变量名4.1.1标识符标识符是语言的基本元素。Maple的,标识符由26个大小写字母、10个数字字符以及一些特殊符号组成(P49)。4.1.2变量名变量名的第一个符号必须是字母,后面可以跟字母、数字、下划线。Maple中的关键词是系统内部使用的字符串,不能作为变量名(P50)。另外,内部函数名也不能作为变量名(P38)。,4.2语句和表达式4.2.1语句类型1、赋值语句变量名:=表达式注:初学者最容易犯的错误是将赋值号“:=”误写为“=”。2、条件语句if条件then语句组fi,if条件then语句组else语句组fiif条件then语句组elif条件then语句组fiif条件then语句组elif条件then语句组else语句组fi3、循环语句for循环变量名from初值by步长to终值do语句组od,考察下列程序中的循环和条件语句。restart:n:=10000:count:=0:forifrom1tondor1:=rand(0.1):r2:=rand(0.1):ifr1()=1orr2()=1thencount:=count+1:fi:od:prizeA:=1000*evalf(count/n);,4.2.2表达式Maple的表达式由常数、变量、函数、运算符和括号等组成。例如,1、序列、列表、集合;(第五章)2、特别运算符:复合、自复合、取模mod。例如,(sinln)(x)结果为sin(ln(x);(ln2)(x)结果为ln(ln(x);,10mod3结果为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):,forifrom1tondox:=evalf(gi)(x):od;3、布尔表达式和逻辑运算Maple中的关系运算符为,=,=,;逻辑运算符为and,or,not。“表达式关系运算符表达式”称为关系式,其值为true或false。,由关系式、逻辑运算符和括号组成的表达式称为布尔表达式。例如,a:=1;b:=2;c:=3;ab,cb;false,trueabandcbfalse考察第38张幻灯片程序中的逻辑表达式。4、过程与函数(第五章),4.3类型与判别Maple具有丰富的表达式、函数和数据类型,以适应不同数学领域和用户的要求。看一个表达式是什么类型,除凭经验外,还可用命令type对变量类型进行判别,用命令whattype对表达式类型进行询问。4.3.1判别类型命令函数type(表达式,类型)判别此表达式,是否属于该类型。属于时函数值为1,否则为0。例如,type(5,float)的值为false。Maple中所有的表达式类型见P57。4.3.2类型询问函数whattype(表达式)返回表达式的基本数据类型。Maple中的基本数据类型见P57。,例如,whattype(x-y)的值为+,whattype(xy)的值为。4.4基本数据类型本节介绍一些常用基本数据类型:整数(integer),分数(fraction),浮点数(float),常数(constant),函数(functions),复数(complex),代数数(algebraicnumber)。下一章将进一步介绍常用复合数据类型。,4.4.1整数、分数Maple可以计算和表示的最大整数长度为219-1=524279位。常用的整数运算函数见P58。Maple的分数计算是符号计算,Maple在处理含有分数的表达式时,自动地对分数进行约分,将分母表示成正整数。4.4.2浮点数、符号常数,浮点数通常指带有小数的数,它的运算不属于符号运算。1、浮点数有常规和指数两种表示法。例如,314.5和3.145e2。2、可用命令evalf(表达式,精度)求表达式的浮点数。例如,evalf(22/7,20)。3、Maple默认的浮点精度为10,可用,命令“Digits:=精度”进行重新设置。例如,Digits:=40;evalf(22/7);Maple对数学中的重要常数做了特殊定义,见P61。注:Maple各版本中的定义略有不同。4.4.3复数、代数数Maple用I代表虚数单位,如1+3*I。复数的常用运算有Re(取实部)、Im(,取虚部)、argument(求幅角)、conjugate(求共轭)。代数数是指有理多项式方程的根。代数数的计算是符号计算。4.5Maple的程序语言用本章介绍的语句可以编制出简单的Maple程序。下面给出用数值积分计算的程序。,因为,只要计算出右边的积分,即可得到的值。我们分别采用数值分析中的复化梯形公式和复化Simpson公式计算。复化梯形公式:复化Simpson公式:,Pi:=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);,1.在同一坐标系中作出和它的Taylor展式前项构成的多项式图象。对不同的,观察多项式逼近的情形,并通过计算证明的Taylor级数收敛于。2.对不同的n,画出在上的图象。通过观察图像猜测当时,这个函数趋向于什么函数,并证明之。,第五章Maple的复合数据类型,本章进一步介绍Maple语言的数据结构,包括常用的复合数据类型、函数的定义方法和函数的运算。最后介绍复合数据的三个重要命令:代换(subs),映射(map)和转换(convert)。,5.1序列、集合、列表序列、集合和列表是三种最常用的复合型数据类型。本节介绍它们的使用和相互转换方法。5.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、$、op生成序列。,(1)seq(f(i),i=m

温馨提示

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

评论

0/150

提交评论