您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > Mathematica基础教程
Mathematica基础Mathematica自1988年由美国的WolframResearch公司首次推出,是一个功能强大的常用数学软件,不但可以解决数学中的数值计算问题,还可以解决符号演算问题,并且能够方便地绘出各种函数图形。常用数学软件之比较,MatlabMathematicaMathCADMaple:1.Mathematica基本使用(1)在工作区(软件打开初始时,左侧的窗口,上方有untitled-1*)输入命令,按Shift+Enter组合键执行命令;如输入“2+3”,按Shift+Enter执行后,窗口显示In[1]:=2+3Out[1]=5其中“In[1]:=,Out[1]=”为系统自动添加(不必管),In[1]括号内数字1表示第1次输入。如果不想显示此次输入的结果,只要在所输入命令的后面再加上一个分号便可。(2)软件打开初始时,右侧有一个运算符号面板,可以更方便命令输入,如级数,积分,数学符号等。(3)除可以用直接键盘输入的方法进行输入外,还可以用打开的方式从磁盘中调入一个已经存在的文件来进行操作。2.Mathematica的基本语法特征(1)Mathematica中区分大、小写,如Name、name、NAME等是不同的变量名或函数名。(2)系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[2]等。(3)乘法即可以用*,又可以用空格表示,如23=2*3=6,xy,2Sin[x]等;乘幂可以用“^”表示,如x^0.5,Tan[x]^y。(4)自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。(5)当赋予变量任何一个值,除非明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,否则它将始终保持原值不变。(6)一定要注意四种括号的用法:()圆括号表示运算项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。(7)Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。3.Mathematica中的数据类型和数学常数Mathematica提供的简单数据类型有整数、有理数、实数和复数4种类型,这些数据在Mathematica中有如下的要求:(1)整数描述为Integer,是可以具有任意长度的精确数。书写方法同于我们通常的表示,输入时,构成整数的各数字之间不能有空格、逗号和其它符号,整数的正负号写在该数的首位,正号可以不输入。如:2367189、-932是正确的整数。(2)有理数描述为Rational,用化简过的分数表示,但其中分子和分母都应该是整数,有理数是精确数,输入时分号用“/”代替,即使用“分子分母”的形式。如:23/45、-41/345是正确的有理数。(3)实数描述为Real,是除了整数和有理数之外的所有实数。与一般高级语言不同的是这里数学中的无理数是可以有任意精确度的近似数,如圆周率,在Mathematica中它可以根据需要取任意位有效数字。(4)复数描述为Complex,用是否含有虚数单位I来区分,它的实部和虚部可以是整数、有理数和实数。如:3+4.3I、18.5I都是正确的复数。为了方便数学处理和计算更准确,Mathematica定义了一些数学常数,它们用英文字符串表示,常用的有:Pi表示圆周率=3.14159…E表示自然数e=2.71828…Degree表示几何的角度1或/180,30Degree表示30.I表示虚数单位-1开平方IInfinity表示数学中的无穷大(正无穷)注意:数学常数是精确数,可以直接用于输入的公式中,作为精确数参与计算和公式推导。这些常数可以从符号面板选择输入。4.Mathematica数的运算符数的运算有:加、减、乘、除和乘方,它们在Mathematica中的符号为:加(+)、减(-)、乘(*)、除(/)和乘方(^)。不同类型的数参与运算,其结果的类型为:如果运算数有复数,则计算结果为复数类型;如果运算数没有复数,但有实数,则计算结果为实数类型如果运算数没有复数和实数,但有分数,则计算结果为有理数类型如果运算数只有整数,则计算结果或是整数类型(如果计算结果是整数);或是有理数类型(如果计算结果不是整数)。5.Mathematica中的精确数与近似数(1)Mathematica的近似数是带有小数点的数;精确数是整数、有理数、数学常数以及函数在自变量取整数、有理数、数学常数时的函数值。如:62243、2/3、E、Sin[4]都是精确数。如果参与运算或求值的数带有小数点,则运算结果通常为带有6位有效数字的近似数,如:In[3]:=1.2345678020/30Out[3]=0.0411523结果为近似数In[4]:=2+Sin[1.0]Out[4]=2.84147结果为近似数In[5]:=2+Sin[1]Out[5]=2+Sin[1]结果为精确数(2)如果需要精确数的数值结果(除了整数之外),可以用Mathematica提供的N函数将其转化,N函数可以得到该精确数的任意精度的近似结果:例如:In[6]:=2*E+Sin[Pi/5]//NOut[6]=6.02345(输入2*E+Sin[Pi/5]试试)In[7]:=N[2*E+Sin[Pi/5],30]Out[7]=6.02434890921056359988928089734Input=N[Pi,20]output=3.141592653589793238462643383286.Mathematica中的表表可以用来表示数学中的集合、向量、矩阵和数据库中的记录。在Mathematica中,任何用一对花括号括起来的一组元素都代一个表,其中的元素用逗号分隔且各元素可以具有不同的类型,特别其中的元素还可以是一个表。表的形式:{元素1,元素2,元素3,……,元素n},如:{1,3,5}、{3,x,{1,y},4}都是表建表命令有如下几种形式:(1)命令形式1:Table[f(i),{i,imin,imax,h}],其中h0功能:产生一个表{f(imin),f(imin+h),f(imin+2h),…,f(imin+nh)}例如:In[8]:=Table[i^2,{i,1,19,2}]Out[8]={1,9,25,49,81,121,169,225,289,361}(2)命令形式2:Table[通项公式f(i),{i,imin,imax}],相当于h=1功能:产生一个表{f(imin),f(imin+1),f(imin+2),…,f(imin+n)}命令:In[9]:=Table[i^2,{i,2,10}]Out[9]={4,9,16,25,36,49,64,81,100}(3)命令形式3:Table[通项公式f,{循环次数n}],f为常数功能:产生n个f的一个表{f,f,f,……,f}例如:建立产生8个2一个表{2,2,2,2,2,2,2,2}命令:In[10]:=Table[2,{8}]Out[10]={2,2,2,2,2,2,2,2}(4)命令形式4:Table[通项公式f(i,j),{{i,imin,imax},{j,jmin,jmax}]功能:产生一个二维表{{f(imin,jmin),f(imin,jmin+1),f(imin,jmin+2),……,f(imin,jmin+m)},{f(imin+1,jmin),f(imin+1,jmin+1),f(imin+1,jmin+2),……,f(imin+1,jmin+m)},……{f(imin+n,jmin),f(imin+n,jmin+1),f(imin+n,jmin+2),……,f(imin+n,jmin+m)}例如:In[11]:=Table[i-j,{i,1,6},{j,1,2}]Out[11]={{0,-1},{1,0},{2,1},{3,2},{4,3},{5,4}}表的分量表示:有时为了需要,希望取出表中的某一或某些元素参与后面的运算和处理。常用表示表分量的命令有:(1)命令形式1:表[[序号n]]功能:取出表中序号为n的元素例如:取出表{1,9,x,49,81,{121,169},225,289,361}的正数第3个元素、第6个元素、和倒数第2个元素的命令依次为:命令:In[12]:={1,9,x,49,81,{121,169},225,289,361}[[3]]Out[12]=xIn[13]:={1,9,x,49,81,{121,169},225,289,361}[[6]]Out[13]={121,169}In[14]:={1,9,x,49,81,{121,169},225,289,361}[[-2]](倒数可以用负号表示)Out[14]=289In[15]:=A=Table[i,{i,1,30,3}]Out[15]=A[[3]]=7(2)命令形式2:表[[{序号n1,序号n2,序号n3,……,序号nm}]]功能:取出由表中序号分别为n1,n2,n3,……,nm的m个元素组成的一个表,其中序号n1,n2,n3,……,nm可以重复。例如:取出由表{1,9,x,49,81,{121,169},225,289,361}中序号分别为1,3,3,6,-1的5个元素组成的一个表:命令:In[15]:={1,9,x,49,81,{121,169},225,289,361}[[{1,3,3,6,-1}]]Out[15]={1,x,x,{121,169},361}(3)命令形式3:表[[序号n1,序号n2]]功能:取出表中序号为n1元素(该元素必须是一个表)的序号为n2的元素。例如:取出表{1,9,x,49,81,{121,169},225,289,361}中序号为6的元素的正数第二个元素,命令:In[16]:={1,9,x,49,81,{121,169},225,289,361}[[6,2]]Out[16]=169表的运算函数。Mathematica表的运算函数有很多,这里介绍两个常用的函数:Apply[Plus,表]对表中所有元素求和Apply[Times,表]对表中所有元素求积例如:写出将表{1,9,49,81,225,289,361}中所有元素相加、相乘命令:In[17]:=t={1,9,49,81,225,289,361}In[18]=Apply[Plus,t]Out[18]=1015In[19]=Apply[Times,t]Out[19]=8385156470257.Mathematica中的变量(1)Mathematica的变量命名变量名规定为任何小写英文字母或以小写英文字母开头后跟若干字母或数字表示的字符串,如x,y,ae3,d3er45都是合法的变量名。变量名一般不用大写字母。如果在某些情况下一定要用大写字母,应该注意不要与Mathematica中的数学常数和内部函数或命令的混淆。Mathematica中的变量名是区分大小写字母的,如在Mathematica中,ab与Ab表示两个不同的变量。变量名中的字符之间不能有空格,因为变量名中的空格在Mathematica中被理解为变量的乘积。如:abcd与abcd有不同的含义,前者表示一个变量abcd,而后者Mathematica会将其看成两个变量ab和cd的乘积关系。变量名不能以数字开头的字符串来表示,如果在Mathematica里出现了这种字符串,Mathematica将其理解为数字与变量的乘积。例如:以数字开头的字符串3asd,在Mathematica中表示3乘以变量asd即3asd表示3*asd
本文标题:Mathematica基础教程
链接地址:https://www.777doc.com/doc-6748272 .html