Mathematica入门教程

的基本语法特征
如果你是第一次使用,那么以下几点请你一定牢牢记住:
中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名 。
系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[x],[z]等 。
乘法即可以用*,又可以用空格表示,如2 3=2*3=6 ,x y,2 Sin[x]等;乘幂可以用“^”表示,如x^0.5,Tan[x]^y 。
自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头 。
当你赋予变量任何一个值,除非你明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,它将始终保持原值不变 。
一定要注意四种括号的用法:()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12 Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1 。
的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔) 。当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果 。
一.数的表示及计算
1.在中你不必考虑数的精确度,因为除非你指定输出精度,总会以绝对精确的形式输出结果 。例如:你输入
In[1]:=378/123,系统会输出Out[1]:=126/41,如果想得到近似解,则应输入
In[2]:=N[378/123,5],即求其5位有效数字的数值解,系统会输出Out[2]:=3.073
2,另外还可以根据你前面使用的数字的精度自动地设定精度 。
与众不同之处还在于它可以处理任意大、任意小及任意位精度的数值,如100^7000,2^(-2000)等数值可以很快地求出,但在其他语言或系统中这是不可想象的,你不妨试一试N[Pi,1000] 。
还定义了一些系统常数,如上面提到的Pi(圆周率的精确值),还有E(自然对数的底数)、I(复数单位),(角度一度,Pi/180),(无穷大)等,不要小看这些简单的符号,它们包含的信息远远大于我们所熟知的它们的近似值,它们的精度也是无限的 。
二.“表”及其用法
“表”是中一个相当有用的数据类型,它即可以作为数组,又可以作为矩阵;除此以外,你可以把任意一组表达式用一个或一组{}括起来,进行运算、存储 。可以说表是任意对象的一个集合 。它可以动态地分配内存,可以方便地进行插入、删除、排序、翻转等等几乎所有可以想象到的操作 。
如果你建立了一个表,你可以通过下表操作符[[]](双方括号)来访问它的每一个元素,如我们定义table={2,Pi,Sin[x],{aaa,A*I}}为一个表,那么table[[1]]就为2,table[[2]]就是Pi,而table[[3,1]]表示嵌套在table中的子表{aaa,A*I}的第一个元素即aaa,table[[3,2]]表示{aaa,A*I}第二个元素即A*I 。总之,表每一层次上并列的部分用逗号分割,表可以无穷嵌套 。
你可以通过[表,表达式]或[表,表达式]把表达式添加到表的最前面或最后面,如[{1,2,3},a]表示{1,2,3,a} 。你还可以通过Union[表1,表2,......],Jion[表1,表2,......]来把几个表合并为一个表,二者不同在于Union在合并时删除了各表中重复的元素,而后者仅是简单的合并;你还可以使用[表]把表中所有子表"抹平"合并成一个表,而[表,整数n]把表按每n个元素分段作为子表,集合成的表 。如[{1,2,{Sin[x],dog},{{y}}}]表示{1,2,Sin[x],y},而[{1,2,Sin[x],y},2]把表每两个分段,结果为{{1,2},{Sin[x],y}};还可以通过[表,位置]、[表,位置]来向表中按位置插入或删除元素,如要删除上面提到的table中的aaa,你可以用[table,{3,1}]来实现;Sort[表]给出了表中各元素的大小顺序,[表]、[表,整数n]、[表,整数n]可以分别将一个表进行翻转、左转n个元素、右转n个元素等操作,[表]给出了表第一个层次上的元素个数,[表,表达式]给出了表中出现该表达式的位置,Count[表,表达式]则给出表达式出现的次数 。各种表的操作函数还有很多,这里就不再一一介绍了 。