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