您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > Mathematica的主要功能
Mathematica的主要功能1、符号运算功能:Mathematica最突出的特点就是具有强大的符号运算功能,能和人一样进行带字母的运算,得到精确的结果。符号运算功能可以分成4大类:(1)初等数学:进行各种数和初等函数式的计算与化简。(2)微积分:求极限、导数(包括高阶导数和偏导数等)、不定积分和定积分(包括多重积分),将函数展成幂级数,进行无穷级数求和及积分变换。(3)线性代数:进行行列式的计算、矩阵的各种运算(加法、乘法、求逆矩阵等)、解线性方程组、求特征值和特征向量、进行矩阵分解。(4)解方程组:解各类方程组(包括微分方程组)。2、数值计算功能:可以做任意位数的整数或分子分母为任意大整数的有理数的精确计算,做具有任意位精度的数值(实、复数)计算。Mathematica具有众多的数值计算函数,能满足线性代数、插值与拟合、数值积分、微分方程数值解、求极值、线性规划及概率统计等方面的常用计算需求。3、绘图功能:能绘制各种二维平面图形与全方位的三维立体彩色图形,自动化程度很高。4、编程功能:用户可以自己编写各种程序(文本文件),开发新的功能。二、基本知识1、启动与运行方法Mathematica作为标准的Windows程序,其启动方式与Windows下其它程序的启动方式一样。Mathematica的界面由工作区窗口、基本输入模板和主菜单组成。左边为工作窗口区,可以直接输入函数或命令;工作区窗口右边的是基本输入模板,由一系列按钮组成;图上方所示的是主菜单。当输入完算式后按Shift+Enter键或小键盘中Enter键的执行计算,而“Enter”键可以用来换行。如果执行运行后长时间没有完成计算,可以通过“Alt+空格键,”或“Alt+.”来强制停止计算。2、变量Mathematica中的变量名是以字母开头并由字母或数字组成的字符串(长度不限),不能含有空格或标点符号,大写与小写字母用于表示不同的变量。一个变量可以表示各种类型的数或字符串,也可以表示一个算式。与C语言不同,不必事先声明变量的类型,Mathematica会根据用户给变量所赋的值自动处理。使用等号给变量赋值,具体格式如下:x=Value给x赋值。x=y=Value同时给x,y赋相同的值。{x,y,…}={Value1,Value2,…}同时给x,y,…赋不同的值。为了避免隐蔽的错误,应该及时清除不再使用的变量,这时可以用“Clear”命令,格式为“Clear[变量名]”;或者可以用“x=.”清除变量x的值。每次运行结束后,Mathematica会自动在输入的式子前面加上“In[n]:=”(n表示输入命令的序列号),在输出的答案前面加上“Out[n]=”(n表示输出结果的序列号),以便分清输入和输出并自动加上编号。可以用“%”表示前一个输出的内容,“%%”表示倒数第2个输出的内容,依此类推,“%n”表示第n个(即Out[n])输出的内容。也就是说Mathematica输出的内容被系统记忆,它们可以像其它变量一样在后面的计算中引用。3、数Mathematica以符号运算为主,这与一些语言有所不同,例如2,32,,e等符号表示准确数,近似数用带小数点的数表示,例如1.2,2.3*10^5等。Mathematica中求近似值以及近似值的精度控制函数为函数“N”,其调用格式如下:N[表达式]计算表达式的近似值,具有机器规定的精度(16位有效数字),但是按标准输出只显示前6位有效数字N[表达式,数字位数]指定计算表达式的具有任意数字位数的近似值(指定的数字位数应该大于16),结果在末位后是四舍五入的。4、算术表达式常量和变量用算术运算符连接而成的式子称为算术表达式。表达式按照与常规相同的优先级自左向右执行计算。在运算中运用的标点符号必须是英文的,不能用中文的标点符号,“;”表示运算但不显示结果。Mathematica中和、差、积、商、乘方运算分别用相应的键“+”、“-”、“*”或空格、“/”、“^”来表示,也可通过基本输入模板来输入。用“/.”可以进行变量替换,变量替换是求算式的值而不改变算式本身,例如输入命令:p=x^2+2xy+y^2;p/.x→1运行结果可得:1+2y+y2,此运算是把表达式中的x换为1但不改变变量p。若要替换两个变量,键入p/.{x→1,y→2}即可。5、内部函数Mathematica支持所有的常用的数学函数,下面介绍一些简单而又常用的数学函数:Sin[x]正弦函数Cos[x]余弦函数Tan[x]正切函数Cot[x]余切函数Sec[x]正割函数Csc[x]余割函数ArcSin[x]反正弦函数ArcCos[x]反余弦函数ArcTan[x]反正切函数ArcCot[x]反余切函数Exp[x]表示exSqrt[x]表示xLog[x]表示lnx(一般以a为底的对数函数用Log[a,x]表示)Abs[x]求实数的绝对值或复数的模Sign[x]符号函数n!求n的阶乘Binomial[n,k]求knCMathematica系统函数的书写规则很严格,务必注意以下几点:(1)函数名的首字符用大写,后面的字符一般用小写,当函数名分成几段时,每段的首字符应大写,函数名中不能含有空格。(2)参数用方括号括起来,不能用圆括号,Mathematica认为圆括号表示相乘。6、表表是存储多个数、变量或算式等对象的一种数据结构。一个表用一对花括号表示,它的成员在括号内用逗号隔开,同一个表的成员可以有不同的数据类型,表的成员还可以是一个表(子表)。Mathematica中常用的建表函数是“Table”,其调用格式如下:Table[f,{i,imin,imax,stepi},{j,jmin,jmax,stepj}]表的通项为f(f是变量i和j的函数),min,max,step规定了初值、终值、步长,min和step的默认值为1。注意:用“Table”构成的函数集常常不具备可计算性,这时可以用“Evaluate”命令把它转化为可运算,其命令格式为:Evaluate[Table[]]。三、基本代数运算下面介绍一些实现基本代数运算的函数,用于变换数学表达式、解方程和解不等式。Mathematica具有强大的符号运算功能,下面列举的函数均可代入具有字母的表达式进行计算,得到精确解。Simplify[expr]将表达式变换化简Factor[expr]对表达式进行因式分解Collect[expr,x]将表达式expr中x的同次幂合并Together[expr]对表达式进行通分Cancel[expr]约去表达式的分子、分母的公因式Apart[expr]将有理式分解为最简分式的和Solve[eqns,vars]求方程(组)的全部解Reduce[eqns,vars]讨论系数出现的各种可能情况,分别求解FindRoot[eqn,{x,x0}]数值求解(x0附近的解)NSolve[eqns,vars]求代数方程(组)的全部数值解Eliminate[eqns,elims]从一组等式中消去变量(组)elims注意:在Mathematica中符号“=”用于给变量赋值,而方程中的等号使用符号“==”表示。若是针对方程组的运算,则方程组用花括号括起来,各个方程用逗号分隔,未知量也是如此。PolynomialQuotient[p1,p2,x]求x的多项式p1被p2除的商PolynomialRemainder[p1,p2,x]求x的多项式p1被p2除的余式PolynomialGCD[p1,p2,]求多个多项式的最大公因式。PolynomialLCM[p1,p2,]求多个多项式的最小公倍式四、编程基础前面介绍了Mathematica本身自带的内置函数,下面我们以实例来说明定义函数的方法。例如,要定义函数2ln)1(sin)(xxexfx,我们只要键入命令f[x_]:=Exp[x]*(Sin[x]+1)+Log[x^2]运行即可。注意:在函数的自变量后面有一个下划线“_”,这表示x为自变量,可以把x代入为任何的值进行计算;等号前面的有个冒号,表示定义函数。同样可以定义多变量函数。定义了函数f[x]后,可以直接地调用f[x]来进行符号数学运算(例如积分、微分等)1、自定义函数关系运算符逻辑运算符小于&&与=小于等于||或大于!非=大于等于==等于2、关系操作符与逻辑操作符我们在用计算机语言进行编程时,常用到条件语句,Mathematica也提供了多种设置条件的方法,并规定只有在该条件满足时才计算表达式。常用形式的条件结构有:3、条件结构lhs:=rhsl/;test当test为真时使用定义rshIf[test,then,else]如test为真计算then,反之计算elseWhich[test1,value1,test2,value2,…]依次计算testi,给出对应的值vauleiSwitch[expr,form1,value1,form2,value2,…]expr与每一个formi相比较,给出相匹配的值valuei例如,我们可以用以下命令来定义分段函数000101)(22xxxxxxf:f[x_]:=x^2+1/;x0;f[x_]:=-x^2-1/;x0;f[x_]:=0/;x==0或f[x_]:=If[x0,x^2+1,If[x0,-x^2-1,0]]或f[x_]:=Which[x0,x^2+1,x0,-x^2-1,x==0,0]Mathematica提供了与一般程序语言类似的描述重复执行的循环控制结构循环结构:Do结构、For与While结构。下面将它们的调用形式做一简单介绍。4、循环结构Do[expr,{i,imin,imax,di}]循环计算expr,步长为di,i从imin增加imax(步长缺省则默认为1,imin缺省也默认为1)Do[expr,{n}]循环计算expr共n次Do[expr,{i,imin,imax,di},{j,jmin,jmax,dj}]循环计算expr,i从imin到imax循环,对于每个i,j从jmin到jmax循环(即多重循环)While[test,body]只要test为真,则重复计算执行主体bodyFor[start,test,incr,body]以start为起始值,重复计算执行主体body和执行表达式incr改变循环变量的值,直到test为假注意:当条件满足时,While循环一直进行,因此为了防止死循环,在While中应包括命令能改变test的值。另:有时需要改变正常的循环顺序,以便使计算流程更加自然和提高程序执行的效率,为此系统提供了一些特殊的程序流控制,在这里,介绍一个“Break”命令,它的调用格式为:Break[],表示中断并退出循环。
本文标题:Mathematica的主要功能
链接地址:https://www.777doc.com/doc-1606077 .html