§1 Mathematica简述与函数求值.doc_第1页
§1 Mathematica简述与函数求值.doc_第2页
§1 Mathematica简述与函数求值.doc_第3页
§1 Mathematica简述与函数求值.doc_第4页
§1 Mathematica简述与函数求值.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

5 Mathematica简述与函数运算5.1 Mathematica简述Mathematica系统是美国的Wolfram Research公司开发的一个功能强大的计算机数学系统。从1988年问世至今,已广泛的运用到工程、应用数学、计算机科学、财经、生物、药学、生命科学以及太空科学等领域,深受科学家、学生、教授、研究人员及工程师的喜爱,产生很深远的影响。数以万计的论文、科学报告、期刊杂志、图书资料、计算机绘图等都是Mathematica的杰作,可以说,Mathematica的使用是现代技术性计算开始的标志。自从1960年开始,专用的数值、代数、绘图和其它任务的工具包就已经使用了。但是,Mathematica的梦幻般的概念制作一旦产生,就能够在一个相对独立的系统里面,采用在一个相对统一的方法,处理各种各样的技术性计算。这种重要的、并且富于才智的先进之处在于,它能够使用一些简单的、基本的单元,并且在初次操作中仅仅使用一些基本操作元素,是一种能够在很多方面进行技术性计算的、新的符号计算机语言。Mathematica版本1.0被商业周刊评为是当年的十大最重要的新产品之一。起初,Mathematica的影响主要是在物理科学、工程学和数学领域中。但是,随着岁月的积累,Mathematica已经在很多领域中得到了广泛的应用,并且扮演越来越重要的角色。例如,用于研究微分方程,进行张量分析,解决物理及工程问题,从事经济学的研究等等。现今,Mathematica应用于整个科学领域物理学、生物学、社会学以及其它领域,而且,Mathematica的热心支持者中还有很多世界第一流的科学家。在工程学中,Mathematica已经成为研究和生产的一个标准工具,而且,世界上很多重要的新产品,它们在一个阶段的设计或者多阶段的设计中是依赖Mathematica的。在商业领域中,Mathematica已经在尖端的经济学建模中扮演越来越重要的角色。另外,Mathematica似乎以一个重要工具的身份在计算机科学和软件发展中出现了,语言组成部分在研究、原型试制和接口环境等这些大范围内被频繁的使用。Mathematica在教育中也被广泛使用,而且,成千上万的给高等学校开设的教学软件包也是使用Mathematica来制作的。另外,学生版Mathematica已经成为全世界的技术性和非技术性的学生的重要工具了。Mathematica用户基础的多样性也是引人注目的。它的使用空间覆盖了全部的大陆,时间跨度为上下10年,使用的人多样化,例如包括艺术家、作曲家、语言家和律师在内。除了研究科学、数学和计算的人关心Mathematica的发展之外,还有很多的Mathematica爱好者和热心支持者。自从Mathematica第一次发行以来,它在用户中已经茁壮成长起来,到目前为止,它的用户数量已经超过了100万。Mathematica已经成为大量机构里的标准,并且,它现在被世界最富有的50家公司使用,并且被全美国政府的15主要部门和世界上50所最大的大学使用。在技术的水平,Mathematica被广泛地认为当作软件工程的重要功绩。Mathematica是其中开发过的最大的单一应用程序之一,并且,它包含了一连串新颖的算法,以及重要的技术革新。在这些革新中包括了以与平台无关的交互式的Notebook的文件的概念。Notebook已经成为很多种教学软件和报表汇编的标准,并且,用在Mathematica版本3中新增加的功能,比如出现在网上和其它发表技术性的文件的标准等等。Mathematica是在Wolfram领导的世界级水平的开发小组开发的。Mathematica的成功给Wolfram的持续研究提供了非常重要的基础,并且他允许一个和Mathematica相关的商业机构进行共同开发。现在,Mathematica拥有将近100个专门使用的软件包,并且有好几种期刊和将近200种的书籍来介绍和研究这个系统。重要的是,Mathematica有着强大的符号演算功能,可以作多项式的运算(四则运算、展开、因式分解等)、有理式的各种运算;它可以求一个复杂函数的极限、导函数、不定积分和作幂级数的展开、矩阵的运算等。它有着强大的计算功能,可以作任意精确度(实数值或复数值)的数值计算;可以求多项式方程、有理方程和超越方程的精确解和近似解;求解微分方程、计算定积分的任意精确度的近似值等。它还可以非常方便的作出一元和二元函数的静态图形。5.2 Mathematica的使用双击Mathematica之图标启动Mathematica系统,计算机屏幕出现Mathematica的主工作窗,之后通过键盘输入需要的表达式,最后单击主工作窗左上角处按钮(或按Shift+Enter键),即可得到需要的结果。5.3 Mathematica的常用函数 Mathematica的数学函数的名字通常是英文单词的全写。对于常用的函数,系统使用传统的缩写。如“积分”用其全名Integrate,而“微分”则用其缩写名D。下面给出一些常用函数的函数名: 1 数值函数 Roundx 最接近x的整数 Floorx 不大于 x 的最大整数 Ceilingx 不小于 x 的最小整数 Signx 符号函数Absx x 的绝对值Maxx1,x2, 取 x1,x2,中的最大值Minx1,x2, 取 x1,x2,中的最小值x+Iy x+iyRez z RezImz z ImzAbsz z Argz z 2 整数和数论中的函数FactorIntegern 由n的所有素因子及对应的幂组成的数对表Divisorsn 能整除n的所有整数组成的表PrimeQn 当n为素数时为真,否则为假Modm,n m被n除的正余数Quotientm,n m/n的整数部分GCDn1,n2, n1,n2,的最大公因数LCMn1,n2, n1,n2,的最小公倍数3 基本超越函数Expz 以e为底的指数函数Logz 以e为底的对数函数Logb,z 以b为底的对数函数Sinz,Cosz 正弦函数与余弦函数Tanz,Cotz 正切函数与余切函数Secz,Cscz 正割函数与余割函数ArcSinz, ArcCosz 反正弦函数与反余弦函数ArcTanz, ArcCotz 反正切函数与反余切函数ArcSecz, ArcCscz 反正割函数与反余割函数如上三角函数与反三角函数中的参量为弧度。此外,基本超越函数还有双曲函数与反双曲函数。双曲函数 反双曲函数 4 根式函数 Sqrtz 求z的2次方根 Z1/n 求z的n次方根 例8.1 求表达式的值 解 In1:=Log10,2+Log3 Out1=Log3+Log2/Log10 In2:=NLog10,2+Log3,10 Out2=1.399642284In3:=Log10.0,2+Log3. Out3=1.39964 注意 系统对于只含准确数值的输入表达式也只输出完全准确的结果;NP,10是数值转换函数,输出的是具有10位有效数字的实数形式结果;10.0和3.是实数的表示方法。Mathematica符号计算系统中数值类型有整数、有理数、实数和复数四种,列表如下: 表1-1 Mathematica符号计算系统中数值类型类型描述实例特征说明整数Integer226789任意长度的精确数有理数Rational19/71化简过的分数实数Real1980.0任意精确度的近似实数复数Complex124.0+3I实部和虚部可为整数、有理数、实数5.4 Mathematica的变量1 变量名为便于保持中间变量,常需引进变量。在Mathematica中,内部函数或命令以大写字母开头标识。为了避免混淆,引进的变量名通常以小写字母开头,后跟字母或数字,变量名字符的长度不限。变量也有类型。在定义函数和程序设计时,也可以对变量进行类型说明。2 给变量赋值 在Mathematica中,运算符号“=”被称为立即赋值号;“:=”被称为延迟赋值号。一般形式为:变量=表达式;或变量1=变量2=表达式,其执行步骤为:先计算赋值号右边的表达式,再将计算结果送到变量中。一般的高级语言没有符号运算功能,一个变量只能表示一个数值、字符串或逻辑值。而在Mathematica中,一个变量可以代表一个数值、一个表达式、一个数组或一个图形。例如:In1:=u=v=1 (*与C语言类似,可以对变量连续赋值*) Out1=1In2:=r:=u+1 (*定义r的一个延迟赋值*)In3:=r (*计算r*) Out3=2In4:= u=. (*清除变量u的值*)In5= 2*u+v Out5=1+2u (*u以未赋值的形式出现*)In6:= ?u (*查询变量u的值*)Out6=Globalu 在编程过程中,经常用?u询问u的值,确保运算结果的正确性。5.5 Mathematica的自定义函数1 不带附加条件的自定义函数在Mathematica中,所有的输入都是表达式,所有的操作都是调用转化规则对表达式求值。一个函数就是一条规则。定义一条一元函数的规则是fx_:=或fx_=的后面紧跟一个以x为变量的表达式,其中x_称为形式参数。调用自定义函数fx_时,只需用实在参数代替其中的形式参数x_即可。如果用“fx_=表达式”定义一个函数,那么这个规则仅对x成立。在运行中,可用“fx_:=.”清除函数fx_的定义,用Clearf清除所有以f为函数名的函数定义。例8.2 定义函数,先分别求时的函数值,再求。 解 In1:=fx_:=x2+Sqrtx+Cosx In2:=f1. Out2=2.5463 In3:=f3.1 Out3=10.3715In4:=fNPi/2 Out4=3.72072In5:=fx2 Out5=在Out5中,由于系统不知道变量的符号,所以没有对进行开方运算。2 带附加条件的自定义函数在使用“fx_:=表达式”定义一个规则时,可以给规则附加条件,附加条件放在定义规则表达式的后面,通过“/;”与表达式连接。附加条件的形式为:fx_:=表达式/;条件“附加条件”经常写成用关系运算符连接着的两个表达式,称为关系表达式。关系表达式的一般形式为: 关系运算符有= =(等于),! =(不等于), (大于), =(大于等于), (小于), =(小于等于)。一个表达式只能表示一个条件,要表示多个条件的组合,必须用逻辑运算符连接。常用逻辑运算符有!(非),&(与),|(或)。用逻辑运算符连接起来的表示判定条件的表达式称为逻辑表达式。逻辑表达式的值一般为:真、假、非真非假。逻辑表达式的一般形式: 表1-2 Mathematica逻辑运算符的意义逻辑运算符名称实例意义!非!A若A为真,则!A为假;若A为假,则!A为真&与A&B当A,B均真时,则!A&B真;否则A&B为假|或A|B当A或B为均真时,则A|B真;否则A|B假例8.3 定义函数,求及的值。 解 In1:=fx_:=x2/;x0 (*定义时,的值*) In3:=f-1.5 Out3=2.25In4:=f1.5 Out4=1.55.6 Mathematica的制表1 表的生成系统将表定义为有关联的元素组成的一个整体。可以表示数学中的集合、向量、矩阵,也可以表示数据库中的一组记录。一维表的表示形式是用花括号括起来的且中间用逗号分开的若干元素。例如: 1,2,100,x,y表示由1,2,100,x,y这5个元素组成的一维表。二维表的表示形式是用花括号括起来的且中间用逗号分开的若干个一维表。例如: 1,2,5,2,4,4,3,5,8,a,b,1,2,1,x,y均是二维表,二维表就是“表中表”。实际工作中,经常需要制作某个函数的函数表,系统提供了非常好用的制表命令Table,其使用方法如下:Tablefi,i,min,max (*i从min变到max,步长为1,生成函数fi的数值表*)In1:=Tablei2,i,1,10 (*i从1变到10,步长为1,生成函数的数值表*)Out1=1, 4, 9, 16, 25, 36, 49, 64, 81, 100In2:=TableNSqrti,3,i, 4, 36, 4 (*i从4变到36,步长为4,生成函数的数值表*)Out2=2. , 2.83, 3.46, 4., 4.47, 4.9, 5.29, 5.66, 6.In3:=b1=Tablei, i3,i, 1, 4 (*i从1变到4,步长为1,生成一维函数表i i3的二维数值表,并把这个二维表赋给变量b1*)Out3=1, 1, 2, 8, 3,27, 4, 262 表的元素对于一维表b,用bi或Partb, i表示它的第i个分量;对于二维表b,用bi或Partb, i就表示它的第i个分表,其第i个分表中的第j个元素用bI, j来描述。In1:=b=2, 5, 7, 8In2:=b2Out2=53 表的运算设表b1, b2的结构完全相同,则表b1与b2的四则运算等于其对应元素间的相应运算(分母不可为零)。例如:In1:=b1=2, 5, 7, 8;In2:=b2=4, 3, 6, 9;In3:=b1+b2Out3=6, 8, 13, 17In4:=b1*b2Out4=8, 15, 42, 72In5:=b1/b2Out5=, , , 系统规定以分号“;”结尾的输入语句不输出计算结果。此外,一个数(或标量)乘一个表等于这个数(或标量)乘表中每个元素。4 表的操作系统提供了许多对表的操作函数,如Inseart, Prepend, Append, Take, Rest,

温馨提示

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

评论

0/150

提交评论