Mathmatica帮助文件语言概述Mathematica的核心是高级的符号语言,它与广泛应用的编程式程序规范相统一,并且它独特的符号设计概念为程序设计概念增加了新的灵活性。表达式»f[a,b,...]—Mathematica中一切对象的基本形式列表操作»{...}(List)▪...[[...]](Part)▪Table▪Length▪Take▪Select▪...函数程序设计»...&(Function)▪/@(Map)▪Nest▪NestList▪FoldList▪Array▪...规则与模式»_▪__▪|▪..▪/;▪Cases▪Position▪...规则与模式»-(Rule)▪:▪/.(ReplaceAll)▪...赋值»=▪:=▪=.▪^=▪...表达式测试»▪▪&&▪||▪MemberQ▪...范围结构»Module▪With▪Block▪Dynamic▪...程序设计»;▪If▪Do▪While▪Sow▪Reap▪...字符串操作»...(String)▪StringExpression▪StringReplace▪StringCases▪...Mathmatica中的常用函数[返回]Mathmatica提供的数学常数:Pi圆周率E自然对数的底eI虚数单位Infinity无限大∞-Infinity负无限大-∞ComplexInfinity复平面上的无穷远点Binomia[n,m]二项式系数等等表1Mathematica中的常用函数表达式用途表达式用途Abs[expr]计算表达式的绝对值Gamma[expr]计算表达式的伽玛函数值ArcCos[expr]计算表达式的反三角余弦Im[expr]计算复表达式的虚部ArcCosh[expr]计算表达式的反双曲余弦Log[expr]计算表达式的对数函数值ArcSin[expr]计算表达式的反三角正弦Max[el,…en]给出n个表达式的最大值ArcSinh[expr]计算表达式的反双曲正弦Min[el,…en]给出n个表达式的最小值ArcTan[expr]计算表达式的反三角正切Mod[m,n]计算两个整数余模ArcTanh[expr]计算表达式的反双曲正切Random[]产生一个伪随机数Arc[expr]计算表达式的幅角Re[expr]计算复表达式的实部Bessell[expr]计算表达式的贝塞尔函数值Sec[expr]计算表达式的三角余割Beta[expr]计算表达式的Beta函值Sech[expr]计算表达式的双曲余割Conjugate[ep]计算表达式的长时复共值Sign[expr]计算表达式的符号Cos[expr]计算表达式的三角余弦Sin[expr]计算表达式的三角正弦Cosh[expr]计算表达式的双曲余弦Sinh[expr]计算表达式的双曲正弦Cot[expr]计算表达式的三角余切Sqrt[expr]计算表达式的平方根Coth[expr]计算表达式的双曲余切Tan[expr]计算表达式的三角正切Erf[expr]计算表达式的误差函数Tanh[expr]计算表达式的双曲正切Exp[expr]计算表达式的指数函数Zeta[expr]计算表达式的Zeta函数表2关于集合元素的常用函数表达式用途表达式用途Part[set,i]或者set[i]取集合中的第i个元素Part[set,{i,j,…}]或者Set[[{i,j,…}]]得到由集合set中i,j,…个元素组成的集合Part[set,i]=value或者set[i]=value给集合set的第I个元素重新赋值表3Mathematica常用的多项式运算运算符运算结果Coefficient[poly,expr]提取多项式poly中表达式expr的系数Expand[poly]把多项式展开Factor[poly]对多项式进行因式分解FactorTerm[poly]提取公因式GCD[poly1,poly2,…]计算多项式poly1,poly2最大公因子PolynomialQuotient[p,q,x]计算多项式p/q的商,略去余项*PolynomialRemainder[p,q,x]计算多项式p/q的余项*Resultant[poly1,poly2,x]计算多项式poly1,poly2..的预解式**上面最后三个运算方括号中的x代表把多项式的变元定义为x,以区别于多项式中可能包含的其它变量。表4Mathematica常用有理分式运算运算式运算结果Apart[expr]把表达式写成若干项的和,每项有最简单分母Cance[expr]消去分子、分母中的公因子Denominator[expr]取出表达式的分母ExpandNumerator[expr]展开表达式的分子ExpandDenominator[expr]展开表达式的分母Expand[expr]展开表达式的分子,逐项被分母除ExpandAll[expr]展开表达式的分子、分母Factor[expr]首先通分,然后对分子、分母分解因子Numerator[expr]取出表达式的分子Simplify[expr]把表达式尽可能简化Together[expr]对有理式进行通分表5常用的几种求解方程的输入方式输入形式注释FindRoots,[equ,x,a]求出在a附近一般方程的数值解NRoots[equ,x]求出一元代数方程的数值解Roots[equ,x]求出一元代数方程的解(逻辑表达形式)Solve[{equl,…equn},{xl,…xn}]对指定变量求联立方程的解Solve[{equl,equ2…equn}]对全部变量求联立方程的解ToRules[%]输出形式转化Reduce[equ,x]讨论方程所有可能的解表6Mathematica常用微积分运算输入形式注释D[exp,x]计算表达式的一阶导数D[exp,x1,x2…xn]计算表达式的混合偏导数D[exp,{x,n}]计算表达式的n阶导数D[exp,x,Nonconstant-{y1,y2}]计算表达式对x的一阶导数,并指出y1,y2是x的函数Integrate[exp,x]计算表达式的不定积分Integrate[exp,{x,x1,x2}]计算表达式的定积分Integrate[exp,{x,x1,x2},{y,y1,y2}计算表达式的二重积分Protect[Integrate]设置积分写保护Unprotect[Integrate]解除积分写保护表7矩阵的输入和裁剪方法有时需要从一个矩阵中抽出一些行和列,甚至子矩阵,我们称这种运算为矩陈的裁剪。输入形式解释t=[{el1,el2..eln},..{em1,em2..emn}]输入m×n的矩阵t,其中eij为数值或表达式T=Table[f,{i,m},{j,n}]输入m×n的矩阵t,其中f为i,j的函数T=Array[f,{i,m},{j,n}]输入m×n的矩阵t,其元素为f(i,j)MatrixForm[t]显示矩阵t的方阵形式t=DiagonaMatrix[{e1,e2…en}]输入n阶对角矩阵t,其元素为e1,…ent=IdentityMatrix[{n}]输入一个名为t的n阶单位矩阵t=Table[0,{m},{n}]输入一个名为t的m×n阶的零矩阵t=Table[If[{I=j,f,0],{I,m},{j,n}]输入m×n阶下三角矩阵。元素f为I,j的函数t=Table[If[{I=j,f,0],{I,m},{j,n}]输入阶上三角矩阵。元素f为I,j的函数有时需要从一个矩阵中抽出一些行和列,甚至子矩阵,我们称这种运算为矩陈的裁剪。表8Mathematica提供的矩阵剪裁运算输入形式解释M[[i,j]]取出矩阵M的元素M(i,j)M[[i]]取出矩阵M的第i行Map[#[[i]]&,M]取出矩阵M的第i列M[[{i1,…,ir},{j1,…,js}]取出矩阵M的一个r×s的子矩阵,它由i1…ir行和j1…js列相交处的元素构成M[[{Range[i0,i1],Range[j0,j1]}]取出矩阵M的一个r×s的子矩阵,它由i0-i1行和j0-j1列相交处的元素构成表9Mathematica中常用矩阵运算输入形式解释c.M常数乘矩阵u.v向量内积M.v矩阵乘向量M.P矩阵相乘Outer[Times,M,N]矩阵的Kronneker积Transpose[M]求矩阵的转置Inverse[M]求矩阵的逆矩阵Det[\M]求矩阵的行列式Minors[M,K]求矩阵所有可能的k×k子式Sum[M[i,i]],{i,n}求矩阵的迹,其中n为矩阵的尺寸LinearSolver[M,w]求解线性方程组M*x=wNullSpace[M]求矩阵M的化零子空间的基Eigenvalues[M]求数字矩阵M的特征值Eigensystems[M]求数字矩阵M的特征向量QRDecomposition[M]求数字矩阵M的特征值和特征向量SchurDecomposition[M]求数字矩阵M的QR分解Chop[%n]舍去第n个输出语句中无实际意义的小量表10Mathematica中解线性方程组的函数LinearSolve[m,b]给出方程组m.x=b的解向量xNullSpace[m]给出满足m.x=0的一组基向量RowReduce[m]得到经过行化简后的简化形式表11Mathematica中常用数值算法输入形式解释ff=table[N[f[x]]],{x,n}输入名为ff的拟合函数表,变量x在区间[0,n]上,间距为1fp=Fit[ff,{f1,…fn},x]建立名为fp的拟合函数,它由f1…fn的线性组合形成,拟合变量是xfp=Fit[ff,{x^I,{I,0,n},x]多项式拟合的简单输入形式ff=Flatten[Table[{x,y,f[x,y]},{x,x1,x2,dx},{y,y1,y2,dy}],1]输入名ff的二元拟合函数表,变量x在区间[x1,x2]上,间距为dx,变量y在区间[y1,y2]上,间距为dyfp=Fie[ff,{f1,f2…fn},{x,y}]建立名为fp的拟合函数,它由f1…fn的线性组合形成,拟合变量是x,yff={{x1,y1},{x2,y2},…{xn,yn}}输入名为ff的插值函数表,fp=InterpolatingPolyncmial[%,x]建立名为fp的拉格朗插值多项式FindRoot[f[x]=0,{x,x0}]用牛顿法求方程在0附近的解FindRoot[f[x]=0,{x,x0,x1}]用割线法求方程在x0,x1附近的解FindRoot[{equl,…,equn},{x1,x10},{x2,x20},…{xn,xn0}]用牛顿法求联立方程在x10,…xn0附近的解Nintegrate[f[x],{x,xmin,xmax}]计算一元定积分Nintegrate[f[z],{z,z0,z1,…zn,z0}]计算复变函数回路积分Nintegrate[f[x,y],{x,xmin,xmax},{y,ymin,ymax}]计算二元定积分LinearProgramming[c,M,b]求满足M,x≥b,x≥0并minc.x的xConstrainedMin[c,x,{inequ1,inequ2},{x1,x2,…xn}]求满足不等式inequ1,iniequ2…并Minc,x的x和目标函数值FindMinimum[f[x],{x,x0}]求函数f(x)在x0附近的局部极小值表12画图中的特别说明部分摘要输入形式解释缺省值PlotRange-{y0,y1}指定函数因变量的区间计算的结果PlotLabel-“图名”是否给图形加上名字无AxesLabel-“名1,名2”是否给座标轴加上名字无Frame-“True”给图形加上图框不加PlotPoint-数字画图时计算函数的点数25PlotColor-“True”产生彩色图不产生表13绘制函数图形常用的输入形式输入形式解释ParametricPlot[{f1[t],f2[t]},{t,t0,