1Mathematica使用教程一、要点Mathematica是一个敏感的软件.所有的Mathematica函数都以大写字母开头;圆括号(),花括号{},方括号[]都有特殊用途,应特别注意;句号“.”,分号“;”,逗号“,”感叹号“!”等都有特殊用途,应特别注意;用主键盘区的组合键Shfit+Enter或数字键盘中的Enter键执行命令.二、介绍案例1.输入与输出例1计算1+1:在打开的命令窗口中输入1+2+3并按组合键Shfit+Enter执行上述命令,则屏幕上将显示:In[1]:=1+2+3Out[1]=6这里In[1]:=表示第一个输入,Out[1]=表示第一个输出,即计算结果.2.数学常数Pi表示圆周率;E表示无理数e;I表示虚数单位i;Degree表示/180;Infinity表示无穷大.注:Pi,Degree,Infinity的第一个字母必须大写,其后面的字母必须小写.3.算术运算Mathematica中用“+”、“-”、“*”、“/”和“^”分别表示算术运算中的加、减、乘、除和乘方.例2计算213121494891100.输入100^(1/4)*(1/9)^(-1/2)+8^(-1/3)*(4/9)^(1/2)*Pi则输出3103这是准确值.如果要求近似值,再输入N[%]则输出10.543这里%表示上一次输出的结果,命令N[%]表示对上一次的结果取近似值.还用%%表示上上次输出的结果,用%6表示Out[6]的输出结果.注:关于乘号*,Mathematica常用空格来代替.例如,xyz则表示x*y*z,而xyz表示字符串,Mathematica将它理解为一个变量名.常数与字符之间的乘号或空格可以省略.4.代数运算例3分解因式232xx输入Factor[x^2+3x+2]输出)x2)(x1(例4展开因式)2)(1(xx输入Expand[(1+x)(2+x)]输出2xx32例5通分3122xx2输入Together[1/(x+3)+2/(x+2)]输出)x3)(x2(x38例6将表达式)3)(2(38xxx展开成部分分式输入Apart[(8+3x)/((2+x)(3+x))]输出3x12x2例7化简表达式)3)(1()2)(1(xxxx输入Simplify[(1+x)(2+x)+(1+x)(3+x)]输出2x2x75三、部分函数1.内部函数Mathematica系统内部定义了许多函数,并且常用英文全名作为函数名,所有函数名的第一个字母都必须大写,后面的字母必须小写.当函数名是由两个单词组成时,每个单词的第一个字母都必须大写,其余的字母必须小写.Mathematica函数(命令)的基本格式为函数名[表达式,选项]下面列举了一些常用函数:算术平方根xSqrt[x]指数函数xeExp[x]对数函数xalogLog[a,x]对数函数xlnLog[x]三角函数Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x]反三角函数ArcSin[x],ArcCos[x],ArcTan[x],ArcCot[x],AsrcSec[x],ArcCsc[x]双曲函数Sinh[x],Cosh[x],Tanh[x],反双曲函数ArcSinh[x],ArcCosh[x],ArcTanh[x]四舍五入函数Round[x](*取最接近x的整数*)取整函数Floor[x](*取不超过x的最大整数*)取模Mod[m,n](*求m/n的模*)取绝对值函数Abs[x]n的阶乘n!符号函数Sign[x]取近似值N[x,n](*取x的有n位有效数字的近似值,当n缺省时,n的默认值为6*)例8求的有6位和20位有效数字的近似值.输入N[Pi]输出3.14159输入N[Pi,20]输出3.1415926535897932285注:第一个输入语句也常用另一种形式:输入Pi//N输出3.14159例9计算函数值(1)输入Sin[Pi/3]输出233(2)输入ArcSin[.45]输出0.466765(3)输入Round[-1.52]输出-2例10计算表达式)6.0arctan(226sin2ln1132e的值输入1/(1+Log[2])*Sin[Pi/6]-Exp[-2]/(2+2^(2/3))*ArcTan[.6]输出0.2749212.自定义函数在Mathematica系统内,由字母开头的字母数字串都可用作变量名,但要注意其中不能包含空格或标点符号.变量的赋值有两种方式.立即赋值运算符是“=”,延迟赋值运算符是“:=”.定义函数使用的符号是延迟赋值运算符“:=”.例11定义函数12)(23xxxf,并计算)2(f,)4(f,)6(f.输入Clear[f,x];(*清除对变量f原先的赋值*)f[x_]:=x^3+2*x^2+1;(*定义函数的表达式*)f[2](*求)2(f的值*)f[x]/.{x-4}(*求)4(f的值,另一种方法*)x=6;(*给变量x立即赋值6*)f[x](*求)6(f的值,又一种方法*)输出1797289注:本例1、2、5行的结尾有“;”,它表示这些语句的输出结果不在屏幕上显示.四、解方程在Mathematica系统内,方程中的等号用符号“==”表示.最基本的求解方程的命令为Solve[eqns,vars]它表示对系数按常规约定求出方程(组)的全部解,其中eqns表示方程(组),vars表示所求未知变量.例12解方程0232xx输入Solve[x^2+3x+2==0,x]输出}}1x{},2x{{例13解方程组10dycxbyax输入Solve[{ax+by==0,cx+dy==1},{x,y}]输出adbcay,adbcbx例14解无理方程axx11输入Solve[Sqrt[x-1]+Sqrt[x+1]==a,x]输出24a4a4x很多方程是根本不能求出准确解的,此时应转而求其近似解.求方程的近似解的方法有两种,一种是在方程组的系数中使用小数,这样所求的解即为方程的近似解;另一种是利用下列专门用于4求方程(组)数值解的命令:NSolve[eqns,vars](*求代数方程(组)的全部数值解*)FindRoot[eqns,{x,x0},{y,y0},]后一个命令表示从点),,(00yx出发找方程(组)的一个近似解,这时常常需要利用图像法先大致确定所求根的范围,是大致在什么点的附近.例15求方程013x的近似解输入NSolve[x^3-1==0,x]输出{{x-0.5-0.866025ii},{x-0.5+0.866025ii},{x1.}}输入FindRoot[x^3-1==0,{x,.5}]输出{x1.}下面再介绍一个很有用的命令:Eliminate[eqns,elims](*从一组等式中消去变量(组)elims*)例16从方程组11)1()1(1222222yxzyxzyx消去未知数y、z.输入Eliminate[{x^2+y^2+z^2==1,x^2+(y-1)^2+(z-1)^2==1,x+y==1},{y,z}]输出0x3x22注:上面这个输入语句为多行语句,它可以像上面例子中那样在行尾处有逗号的地方将行与行隔开,来迫使Mathematica从前一行继续到下一行在执行该语句.有时候多行语句的意义不太明确,通常发生在其中有一行本身就是可执行的语句的情形,此时可在该行尾放一个继续的记号“\”,来迫使Mathematica继续到下一行再执行该语句.五、保存与退出Mathematica很容易保存Notebook中显示的内容,打开位于窗口第一行的File菜单,点击Save后得到保存文件时的对话框,按要求操作后即可把所要的内容存为*.nb文件.如果只想保存全部输入的命令,而不想保存全部输出结果,则可以打开下拉式菜单Kernel,选中DeleteAllOutput,然后再执行保存命令.而退出Mathematica与退出Word的操作是一样的.六、查询与帮助查询某个函数(命令)的基本功能,键入“?函数名”,想要了解更多一些,键入“??函数名”,例如,输入?Plot则输出Plot[f,{x,xmin,xmax}]generatesaplotoffasafunctionofxfromxmintoxmax.Plot[{f1,f2,…},{x,xmin,xmax}]plotsseveralfunctionsfi它告诉了我们关于绘图命令“Plot”的基本使用方法.例17在区间]1,1[上作出抛物线2xy的图形.输入Plot[x^2,{x,-1,1}]则输出5-1-0.50.510.20.40.60.81例18在区间]2,0[上作出xysin与xycos的图形.输入Plot[{Sin[x],Cos[x]},{x,0,2Pi}]则输出123456-1-0.50.51如果输入??Plot则Mathematica会输出关于这个命令的选项的详细说明,请读者试之.此外,Mathematica的Help菜单中提供了大量的帮助信息,其中Help菜单中的第一项HelpBrowser(帮助游览器)是常用的查询工具,读者若想了解更多的使用信息,则应自己通过Help菜单去学习.编辑本段Mathematica基本运算a+mathematica数学实验(第2版)b+c加6a-b减abc或a*b*c乘a/b除-a负号a^b次方Mathematica数字的形式256整数2.56实数11/35分数2+6I复数常用的数学常数Pi圆周率,π=3.141592654…E尤拉常数,e=2.71828182…Degree角度转换弧度的常数,Pi/180I虚数,其值为√-1Infinity无限大指定之前计算结果的方法%前一个运算结果%%前二个运算结果%%…%(n个%)前n个运算结果%n或Out[n]前n个运算结果复数的运算指令a+bI复数Conjugate[a+bI]共轭复数Re[z],Im[z]复数z的实数/虚数部分Abs[z]复数z的大小或模数(Modulus)Arg[z]复数z的幅角(Argument)Mathematica输出的控制指令expr1;expr2;expr3做数个运算,但只印出最後一个运算的结果expr1;expr2;expr3;做数个运算,但都不印出结果expr;做运算,但不印出结果编辑本段常用数学函数Sin[x],Cos[x],Tan[x],Cot[x],Sec[x],Csc[x]三角函数,其引数的单位为弪度Sinh[x],Cosh[x],Tanh[x],…双曲函数ArcSin[x],ArcCos[x],ArcTan[x]反三角函数ArcCot[x],ArcSec[x],ArcCsc[x]7ArcSinh[x],ArcCosh[x],ArcTanh[x],…反双曲函数Sqrt[x]根号Exp[x]指数Log[x]自然对数Log[a,x]以a为底的对数Abs[x]绝对值Round[x]最接近x的整数Floor[x]小於或等於x的最大整数Ceiling[x]大於或等於x的最小整数Mod[a,b]a/b所得的馀数n!阶乘Random[]0至1之间的随机数(最新版本已经不用这个函数,改为使用RandomReal[])Max[a,b,c,...],Min[a,b,c,…]a,b,c,…的极大/极小值编辑本段数之设定x=a将变数x的值设为ax=y=b将变数x和y的值均设为bx=.或Clear[x]除去变数x所存的值变数使用的一些法则xy中间没有空格,视为变数xyxyx乘上y3x3乘上xx3变数x3x^2y为x^2y次方运算子比乘法的运算子有较高的处理顺序编辑本段四个常用处理代数的指令Expand[expr]将expr展开Factor[expr]将expr