1、Mathematica90简明教程24页Mathematica-9.0简明教程24页Mathematica 9.0简明教程c:2015年10月10日 Mathematica自1988年由美国的Wolfram Research公司首次推出,是一个功能强大的常用数学软件, 不但可以解决数学中的数值计算问题, 还可以解决符号演算问题, 并且能够方便地绘出各种函数图形。0.Mathematica启动与帮助假设在Windows环境下已安装好中文Mathematica9.0,在“开始”菜单的“程序”中单击,就启动了Mathematica9.0,默认为是新建“笔记本”。 这与文件新建菜单是一样的。笔记本,幻
2、灯片,项目,后缀都是.nb,可以理解为不同场合设计的模板。任何时候都可以通过按F1键或点击帮助菜单项“参考资料中心”,调出帮助菜单,如图所示,函数浏览器和虚拟全书可理解为两个搜索引擎,帮助查找所需内容。该文档全面整合的文件中心容纳几千个详细举例、动画、辅导课程和其它资料。这些都被翻译成中文,帮助您使用 Mathematica。 1. Mathematica基本使用(1) 在工作区(软件打开初始时,左侧的窗口,上方有untitled-1*)输入命令,按Shift+Enter组合键执行命令;如输入“1+1”,按Shift+Enter执行后,窗口显示In1:= 1 + 1 Out1= 2其中“In1
3、:=,Out1=”为系统自动添加(不必管),In1括号内数字1表示第1次输入。如果不想显示此次输入的结果,只要在所输入命令的后面再加上一个分号便可。(2)可以打开“助手面板”,方便命令输入,如级数,积分,数学符号等。(3)在Mathematica系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function), 直接调用这些函数可以取到事半功倍的效果。这些函数分为两类,一类是数学意义上的函数,如:绝对值函数Absx,正弦函数Sinx,余弦函数Cosx,以e为底的对数函数Logx,以a为底的对数函数Loga,x等;第二类是命令意义上的函数,如作函数图形的函数Plotfx,
4、x,xmin,xmax,解方程函数Solveeqn,x,求导函数Dfx,x等。 在Mathematica中,函数名和自变量之间的分隔符是用方括号“ ”,而不是一般数学书上用的圆括号“( )”,初学者很容易犯这类错误。2. Mathematica的基本语法特征 (1)Mathematica中区分大、小写,如Name、name、NAME等是不同的变量名或函数名。 (2)系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin2等。 (3)乘法即可以用*,又可以用空格表示,如2 32*36 ,x y,2 Sinx等;乘幂可以用“”表示,如x0.5,Tan
5、xy。 (4)自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。 (5)当赋予变量任何一个值,除非明显地改变该值或使用Clear变量名或“变量名=.”取消该值为止,否则它将始终保持原值不变。 (6)一定要注意四种括号的用法:()圆括号表示运算项的结合顺序,如(x+(yx+1/(2x);方括号表示函数,如Logx, BesselJx,1;大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如2x,Sin12 Pi,1+A,y*x;双方括号表示“表”或“表达式”的下标,如a2,3、1,2,31=1。 (7)Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行
6、可以写多个语句(但要以分号间隔)。当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。 3. Mathematica 中的数据类型和数学常数Mathematica提供的简单数据类型有整数、有理数、实数和复数4种类型,这些数据在Mathematica中有如下的要求:(1)整数描述为Integer,是可以具有任意长度的精确数。书写方法同于我们通常的表示,输入时,构成整数的各数字之间不能有空格、逗号和其它符号,整数的正负号写在该数的首位,正号可以不输入。如:2367189、-932是正确的整数。 (2)有理数描述为Rational,用化简过的分数表示,但其中分子和分母都应该
7、是整数,有理数是精确数,输入时分号用“ / ”代替,即使用“分子 / 分母”的形式。如:23/45、- 41/345 是正确的有理数。(3)实数描述为Real,是除了整数和有理数之外的所有实数。与一般高级语言不同的是这里数学中的无理数是可以有任意精确度的近似数, 如圆周率, 在Mathematica中它可以根据需要取任意位有效数字。(4)复数描述为Complex,用是否含有虚数单位I来区分,它的实部和虚部可以是整数、有理数和实数。如:.3I、18.5I都是正确的复数。为了方便数学处理和计算更准确,Mathematica定义了一些数学常数,它们用英文字符串表示,常用的有:Pi 表示圆周率=3.1
8、4159E 表示自然数e =2.71828Degree 表示几何的角度1或 /180 ,30 Degree表示30.I 表示虚数单位-1开平方I Infinity 表示数学中的无穷大 (正无穷)注意:数学常数是精确数,可以直接用于输入的公式中,作为精确数参与计算和公式推导。 这些常数可以从符号面板选择输入。4. Mathematica数的运算符数的运算有:加、减、乘、除和乘方,它们在Mathematica中的符号为:加()、减()、乘(*)、除(/)和乘方()。不同类型的数参与运算,其结果的类型为:如果运算数有复数,则计算结果为复数类型;如果运算数没有复数,但有实数,则计算结果为实数类型如果运
9、算数没有复数和实数,但有分数,则计算结果为有理数类型如果运算数只有整数,则计算结果或是整数类型(如果计算结果是整数);或是有理数类型(如果计算结果不是整数)。5. Mathematica 中的精确数与近似数(1)Mathematica的近似数是带有小数点的数;精确数是整数、有理数、数学常数以及函数在自变量取整数、有理数、数学常数时的函数值。如: 62243、2/3、E、Sin4都是精确数。如果参与运算或求值的数带有小数点,则运算结果通常为带有位有效数字的近似数,如: In3: = 1.2345678020/30 Out3=0.0411523 结果为近似数 In4: = 2+Sin1.0 Out
10、4= 2.84147 结果为近似数 In5: = 2+Sin1 Out5= 2 + Sin1 结果为精确数(2)如果需要精确数的数值结果(除了整数之外),可以用Mathematica提供的N函数将其转化,N函数可以得到该精确数的任意精度的近似结果:例如: In6: = 2*E+Sin Pi/5 / N Out6= 6.02345 (输入2*E+Sin Pi/5 试试) In7:= N 2*E+SinPi/5 , 30 Input=NPi,20output=6. Mathematica中的表 表可以用来表示数学中的集合、向量、矩阵和数据库中的记录。在Mathematica中,任何用一对花括号括起
11、来的一组元素都代一个表,其中的元素用逗号分隔且各元素可以具有不同的类型,特别其中的元素还可以是一个表。表的形式: 元素1,元素2,元素3,元素n ,如:1,3,5、3,x,1,y,4都是表建表命令:(1)命令形式1: Tablef(i),i ,imin,imax,h,其中h0功能:产生一个表 f(imin) ,f(imin +h),f(imin +2h), ,f(imin +nh) 例如:In8: = Table i2 , i , 1, 19 , 2 Out8= 1, 9, 25, 49, 81, 121, 169, 225, 289, 361 (2)命令形式2: Table 通项公式f(i)
12、,i ,imin,imax,相当于h=1功能:产生一个表 f(imin) ,f(imin +1),f(imin +2),f(imin +n)命令:In9: = Tablei2, i, 2 , 10 Out9= 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命令:In10: = Table2, 8 Out10= 2,2,2,2,2,2,2,2(4)命令形式4: Table 通项公式f(i , j),i ,imin
13、,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)例如 :In11: = Tablei-j, i, 1 , 6, j, 1 , 2 Out11
14、= 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个元素的命令依次为:命令:In12: = 1, 9, x, 49, 81, 121, 169, 225, 289, 361 3 Out12=xIn13: = 1, 9, x, 49, 81, 121, 169, 225, 289, 361 6
15、Out13=121,169In14: = 1, 9, x, 49, 81, 121, 169, 225, 289, 361 -2 (倒数可以用负号表示)Out14=289 In15: =A=Tablei,i,1,30,3Out15=A3=7(2)命令形式2: 表序号n 1, 序号n 2, 序号n 3,,序号n m功能:取出由表中序号分别为n1, n2, n3,,nm 的m个元素组成的一个表,其中序号n1, n2, n3,,n m可以重复。例如:取出由表1, 9, x, 49, 81, 121, 169, 225, 289, 361中序号分别为1,3,3,6,-1 的5个元素组成的一个表:命令:
16、In15: = 1, 9, x, 49, 81, 121, 169, 225, 289, 361 1,3,3,6,-1 Out15= 1, x, x, 121, 169, 361(3)命令形式3: 表序号n1,序号n2功能:取出表中序号为n1 元素(该元素必须是一个表)的序号为 n2的元素。例如:取出表1, 9, x, 49, 81, 121, 169, 225, 289, 361中序号为6的元素的正数第二个元素,命令:In16: = 1, 9, x, 49, 81, 121, 169, 225, 289, 361 6,2 Out16= 169运算命令Mathematica 表的运算命令有很多
17、,这里介绍两个常用的函数:ApplyPlus, 表 对表中所有元素求和ApplyTimes, 表 对表中所有元素求积例如:写出将表1, 9, 49, 81, 225, 289, 361中所有元素相加、相乘命令:In17: = t=1, 9, 49, 81, 225, 289, 361 In18= ApplyPlus, t Out18=1015 In19= ApplyTimes, t Out19=8385156470257. Mathematica中的变量(1) Mathematica的变量命名变量名规定为任何小写英文字母或以小写英文字母开头后跟若干字母或数字表示的字符串,如x,y,ae3,d3
18、er45都是合法的变量名。变量名一般不用大写字母。如果在某些情况下一定要用大写字母,应该注意不要与Mathematica中的数学常数和内部函数或命令的混淆。Mathematica中的变量名是区分大小写字母的,如在Mathematica中,ab与 Ab表示两个不同的变量。 变量名中的字符之间不能有空格,因为变量名中的空格在Mathematica中被理解为变量的乘积。如:abcd与ab cd有不同的含义,前者表示一个变量abcd, 而后者Mathematica会将其看成两个变量ab 和cd的乘积关系。 变量名不能以数字开头的字符串来表示,如果在Mathematica里出现了这种字符串,Mathem
19、atica将其理解为数字与变量的乘积。例如: 以数字开头的字符串3asd,在Mathematica中表示3乘以变量asd 即3asd表示3*asd。在Mathematica中变量使用前不必先定义变量类型。Mathematica变量的类型可以不断变化,取决于其中所存数据的类型;变量不但可以存放前面所提到的四种数据数,而且可以存放一个方程式、一个图形或更复杂的关系式。(2) Mathematica中的变量取值与清除如果一个变量在程序运行中没有被存储内容, 此时该变量名只是一般的数学符号参与程序的处理。如果变量被存储了内容, 称为变量取值。变量取值之后,该变量就用存入的内容参与程序的处理。在Math
20、ematica中,变量获取值的方式有三种:变量赋值、键盘输入和变量替换。下面分别介绍这三种方式:变量赋值方式Mathematica中变量赋值的一般形式为: 变量 = 表达式这里“=”称为赋值号,表达式是广义的表达式,即它可以是数值和通常意义的数学表达式,还可以是一个方程或图形等。例如: In20: = x = 2+2 Out20= 4 In21:= x*x x + 1 Out21= 13键盘输入方式 键盘输入方式是变量取值的另一种常用的方式,多用于需要在命令或程序的运行中由用户从键盘上临时键入的人机交互式变量取值。键盘输入命令形式为: 变量= Input 当遇到上面的键盘输入命令后,计算机在屏
21、幕上给出一个输入小窗口,等待用户在其中从键盘上键入一个表达式,键入完毕后,用鼠标点击“OK”按扭后,计算机将键入的表达式求值后,将结果存储在算等号左边的变量中。这里“=”是赋值号。 例如: In22: = x = Input *变量x等待键盘输入赋值 (见图) Out22= 23 (*此时x从键盘上被赋值23) In23:= x + 1 Out23= 24变量替换变量替换类似于数学中的计算函数在某一点的函数值。变量替换的一般形式为:表达式 / . 变量名1 -表达式1 或 表达式 / . 变量名1 -表达式1, 变量名2 -表达式2,这里符号“/.”是由键盘上的两个符号“/”和“.”组成的,中
22、间不能有空格。同样,“-”也是由键盘上的两个符号“-”和“”组成的, 中间也不能有空格。例如: In24: = 2x+3y /. x - 2.1 Out24= 4.2 + 3 y In25:= 2x+3y /.x - 2.1, y -1 + a Out25= 4.2 + 3 (1 + a)清除变量清除变量的含义是清除给变量所赋的值,它的命令形式为:变量名=.或Clear变量名1,变量名2,清除变量后,变量名就还原成一般的数学符号了。 (3) Mathematica中有关变量的注意事项 使用变量前先用清除命令清除其中的内容。Mathematica中的变量名还可以用作代数中的数学符号,在Mathe
23、matica的命令或程序中出现的任何合法的变量名符号,如果该变量名所代表的变量没有被赋值,则它就作为数学算式中的符号参与数学的公式推导和运算;如果该变量被赋值了,则用该变量所赋的值参与对应数学的公式推导和运算。因此,如果用户在做符号运算时使用的符号有被赋值的变量名,则就会出现察觉不到的错误。 变量替换时变量本身还是数学符号,没有发生变量赋值的行为。如: In26: = x=9; (若后面需要进行符号运算,则需要清除) In27: = 6/x-7 Out27= -19/3 In28: = x=. - In29: = 6x-7/. x-9 (变量替换,没有赋值行为) Out29= -19/3 In
24、30: = 6/x-7 Out30= 6/x-78. Mathematica中的函数(1).的Mathematica内部函数Mathematica有很丰富的内部函数,它们是Mathematica系统自带的函数,函数名一般为数学中常使用的英文单词,只要输入相应的函数名,就可以方便地使用这些函数。内部函数既有数学中常用的函数,又有工程中用的特殊函数。如果用户想自己定义一个函数,Mathematica也提供了这种功能。Mathematica的内部函数名字大部分是其英文单词的全名,如Random等。Mathematica内部函数的名字第一个字母一定要大写,其后的字母一般是小写的,不过如果该名字有几个含
25、义,则函数名字中体现每个含义的第一个字母也要大写,如反正切函数arctanx中含有反“arc”和正切“tan”两个含义, 故它的Mathematica函数表示为ArcTanx。Mathematica中的函数自变量应该用方括号 括起,不能用圆括 ( ) 号括起,即一个数学中的函数f (x, y,)应该写为f x, y,才行下面列举一些常用的Mathematica内部函数数值函数Absx 表示x的绝对值|x|Roundx 表示最接近x的整数Floorx 表示不大于x的最大整数Ceilingx 表示不小于x的最大整数Signx 表示x的符号函数sgn(x)Expx 表示以自然数为底的指数函数e xL
26、ogx 表示以自然数为底的对数函数ln xLoga,x 表示以数a为底的对数函数log a xSinx, Cosx 表示正弦函数sin x, 余弦函数cos xTanx, Cotx 表示正切函数tan x ,余切函数cot xArcSinx, ArcCosx 表示反正弦函数, 反余弦函数ArcTanx, ArcCotx 表示反正切函数arctan x , 反余切函数arccot xMaxx1,x2,xn 表示取出实数x1,x2,。,x n的最大值Maxs 表示取出表s中所有数的最大值 Minx1,x2,xn 表示取出实数x1,x2,。,x n的最小值Mins 表示取出表s中所有数的最小值 n!
27、 表示阶乘n(n-1)(n-2) .1n! 表示双阶乘n(n-2)(n-4) .Modm,n 表示整数m除以整数n的余数Quotientm,n 表示整数m除以整数n的整数部分GCDm1,m2,mn 表示取出整数m1,m2,。,mn的最大公约数GCD s 表示取出表s中所有数的最大公约数LCMm1,m2,mn 表示取出整数m1,m2,。,mn的最小公倍数LCM s 表示取出表s中所有数的最小公倍数Binomialn, m 表示二项式系数Rez 取复数z的实部Imz 取复数z的虚部Conjugatez 取复数z的共轭复数Sqrtx 表示x 的平方根函数(2).Mathematica中的自定义函数
28、Mathematica自定义函数的一般命令为: 函数名自变量名1_, 自变量名2_,:= 表达式这里函数名与变量名的规定相同,方括号中的每个自变量名后都要有一个下划线“_”,中部的定义号“: =”的两个符号是一个整体,中间不能有空格。定义一个一元函数 函数名自变量名_:= 表达式例如 : 定义一个函数 y=asin x+x5, a是参数 命令: In44: = yx_ := a*Sinx+x5定义一个二元函数 函数名自变量名1_, 自变量名2_ := 表达式 例如: 定义一个函数 z1=tan(x/y) ye5x 命令: In45: = z1x_ ,y_ :=Tanx/y+y*Exp5x分段函
29、数定义方式:fx_ := exp1 /; condition1 fx_ := exp2 /; condition2 fx_ := exp3 /; condition3当然有多少个分段就定义多少个 fx_ 。2.如果该分段函数只使用一次或者用来做图,则可以按照下面的方式来定义 使用which语句,其格式为: fx_:=which条件1,表达式1,条件2,表达式2,.,条件n,表达式n(这里,fx_ 后面的冒号可有可无,根据需要自己定。)。which语句的执行过程为:先从判断条件1是否为真开始,若为真,则执行表达式1;否则,判断条件2是否为真,以此类推,直到某一个条件为真时结束。并把该条件对应的表达式结果作为which语句的执行结果。举例或者3. 系统内部自有函数。Piecewiseval1,cond1,val2,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1