Mathematica函数大全--运算符及特殊符号一、运算符及特殊符号Line1;执行Line,不显示结果Line1,line2顺次执行Line1,2,并显示结果name关于系统变量name的信息name关于系统变量name的全部信息!command执行Dos命令n! N的阶乘!!filename显示文件内容<Expr>> filename打开文件写Expr>>>filename打开文件从文件末写() 结合率[]函数{}一个表<*Math Fun*> 在c语言中使用math的函数(*Note*)程序的注释#n第n个参数##所有参数rule& 把rule作用于后面的式子%前一次的输出%%倒数第二次的输出%n第n个输出var::note变量var的注释"Astring "字符串Context ` 上下文a+b 加a-b减a*b或a b 乘a/b除a^b 乘方base^^num以base为进位的数lhs&&rhs且lhs||rhs或!lha非++,-- 自加1,自减1+=,-=,*=,/= 同C语言>,<,>=,<=,==,!=逻辑判断(同c)lhs=rhs立即赋值lhs:=rhs建立动态赋值lhs:>rhs建立替换规则expr//funname相当于filename[expr]expr/.rule将规则rule应用于exprexpr//.rule 将规则rule不断应用于expr知道不变为止param_ 名为param的一个任意表达式(形式变量)param__名为param的任意多个任意表达式(形式变量)二、系统常数Pi 3.1415....的无限精度数值E 2.17828...的无限精度数值Catalan 0.915966..卡塔兰常数EulerGamma 0.5772....高斯常数GoldenRatio 1.61803...黄金分割数Degree Pi/180角度弧度换算I复数单位Infinity无穷大-Infinity负无穷大ComplexInfinity复无穷大Indeterminate不定式三、代数计算Expand[expr]展开表达式Factor[expr]表达式因式分解Factor[poly,Modulus->p] Z p域分解Factor[poly,Extension->{a1, a2,… }] 代数数域分解Factor[poly,GaussianIntegers->True] 复整数域分解Factor[poly,Extension->Automatic]poly的系数所在数域分解(以下函数都可在各数域内进行)Simplify[expr]化简表达式FullSimplify[expr]将特殊函数等也进行化简PowerExpand[expr]展开所有的幂次形式ComplexExpand[expr,{x1,x2...}]按复数实部虚部展开FunctionExpand[expr]化简expr中的特殊函数Collect[expr, x]合并同次项Collect[expr, {x1,x2,...}]合并x1,x2,...的同次项Together[expr]通分Apart[expr]部分分式展开Apart[expr, var] 对var的部分分式展开Cancel[expr]约分ExpandAll[expr]展开表达式ExpandAll[expr, patt] 展开表达式FactorTerms[poly]提出共有的数字因子FactorTerms[poly, x] 提出与x无关的数字因子FactorTerms[poly, {x1,x2...}]提出与xi无关的数字因子Coefficient[expr, form]多项式expr中form的系数Coefficient[expr, form, n]多项式expr中form^n的系数Exponent[expr, form]表达式expr中form的最高指数Numerator[expr] 表达式expr的分子Denominator[expr]表达式expr的分母ExpandNumerator[expr]展开expr的分子部分ExpandDenominator[expr]展开expr的分母部分ExpandDenominator[expr]展开expr的分母部分TrigExpand[expr]展开表达式中的三角函数TrigFactor[expr]给出表达式中的三角函数因子TrigFactorList[expr]给出表达式中的三角函数因子的表TrigReduce[expr]对表达式中的三角函数化简TrigToExp[expr] 三角到指数的转化ExpToTrig[expr]指数到三角的转化RootReduce[expr]ToRadicals[expr]四、解方程Solve[eqns, vars]从方程组eqns中解出varsSolve[eqns, vars, elims] 从方程组eqns中削去变量elims,解出vars DSolve[eqn, y, x]解微分方程,其中y是x的函数DSolve[{eqn1,eqn2,...},{y1,y2...},x]解微分方程组,其中yi是x的函数DSolve[eqn, y, {x1,x2...}]解偏微分方程RSolve[eqn, a[n], n] 解函数方程例1、RSolve u x2x1u x1zu x2,u x,x{{u[x] BesselJ[x,z] C[1]+BesselY[x,z] C[2]}} 2、RSolve[{y[x+2]==ay[x+1]+y[x],y[0]==0,y[1]==1},y,x]RSolve[{eqn1, eqn2, … }, {a1[n], a2[n], …}, n]RSolve[eqn, a[n1, n2, …], {n1, n2, …}]Resolve[expr]Resolve[expr, dom]FindInstance[expr, vars]求不定方程的特解FindInstance[expr, vars, dom]求不定方程的特解(在dom数域内)FindInstance[expr, vars, dom, n]求不定方程的n个特解Eliminate[eqns, vars] 把方程组eqns中变量vars约去SolveAlways[eqns, vars] 给出等式成立的所有参数满足的条件Reduce[eqns, vars] 化简并给出所有可能解的条件Reduce x22y21&&x0&&y0&&x y Integers,x,y LogicalExpand[expr] 用&&和||将逻辑表达式展开InverseFunction[f] 求函数f的逆函数Root[f, k] 求多项式函数的第k个根Roots[lhs==rhs, var] 得到多项式方程的所有根五、微积分函数D[f, x]求f[x]的微分∂f/∂xD[f, {x, n}]求f[x]的n阶微分n f x nD[f,x1,x2..] 求f[x]对x1,x2...偏微分x1x2...fDt[f, x]求f[x]的全微分df/dxDt[f]求f[x]的全微分dfDt[f, {x, n}] n阶全微分df^n/dx^nDt[f,x1,x2..]对x1,x2..的偏微分d d x1d d x2...fIntegrate[f, x] f[x]对x在的不定积分Integrate[f, {x, xmin, xmax}] f[x]对x在区间(xmin,xmax)的定积分Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}] f[x,y]的二重积分Limit[expr, x->x0] x趋近于x0时expr的极限Limit[expr, x->x0, Direction -> 1] x趋近于x0+时expr的极限Limit[expr, x->x0, Direction ->-1] x趋近于x0-时expr的极限Residue[expr, {x,x0}] expr在x0处的留数Series[f, {x, x0, n}] 给出f[x]在x0处的幂级数展开Series[f, {x, x0,nx}, {y, y0, ny}]先对y幂级数展开,再对xNormal[expr]化简并给出最常见的表达式(可截断Series的误差O[x])SeriesCoefficient[series, n]给出级数中第n次项的系数SeriesCoefficient[series, {n1,n2...}]' 或Derivative[n1,n2...][f]一阶导数InverseSeries[s, x] 给出逆函数的级数ComposeSeries[serie1,serie2...] 给出两个基数的组合SeriesData[x,x0,{a0,a1,..},nmin,nmax,den]表示一个在x0处x的幂级数,其中aii 为系数O[x]^n n阶小量x^nO[x, x0]^n n阶小量(x-x0)^n六、多项式函数Variables[poly]给出多项式poly中独立变量的列表CoefficientList[poly, var]给出多项式poly中变量var的系数CoefficientList[poly, {var1,var2...}]给出多项式poly中变量var(i)的系数列? PolynomialMod[poly, m] poly中各系数mod m同余后得到的多项式,m可为整式PolynomialQuotient[p, q, x]以x为自变量的两个多项式之商式p/q PolynomialRemainder[p, q, x] 以x为自变量的两个多项式之余式PolynomialGCD[poly1,poly2,...] poly(i)的最大公因式PolynomialLCM[poly1,poly2,...] poly(i)的最小公倍式PolynomialReduce[poly, {poly1,poly2,...},{x1,x2...}]得到一个表{{a1,a2,...},b}其中Sum[ai*polyi]+b=polyResultant[poly1,poly2,var] 约去poly1,poly2中的varFactor[poly] 因式分解(在整式范围内)FactorTerms[poly] 提出poly 中的数字公因子FactorTerms[poly, {x1,x2...}] 提出poly 中与xi 无关项的数字公因子FactorList[poly] 给出poly 各个因子及其指数{{poly1,exp1},{...}...}FactorSquareFreeList[poly] 同上FactorTermsList[poly,{x1,x2...}] 给出各个因式列表,第一项是数字公因子,第二项是与xi 无关的因式,其后是与xi 有关的因式按升幂的排排?Cyclotomic[n, x] C n x k x e 2i k n (割圆多项式,即单位根的极小多项式)Decompose[poly, x] 迭代分解,给出{p1,p2,...},其中p1(p2(...))=polyInterpolatingPolynomial[data, var] 在数据data 上的插值多项式 data 可以写为{f1,f2..}相当于{{x1=1,y1=f1}..} data 可以写为{{x1,f1,df11,df12,..},{x2,f2,df21..} 可以指定数据点上的n 阶导数值RootSum[f, form] 得到f[x]=0的所有根,并求得Sum[form[xi]]七、随机函数Random[type,range] 产生type 类型且在range 范围内的均匀分布随机数,type 可以为Integer,Real,Complex,不写默认为Real ,range 为{min,max},不写默认为{0,1} Random[] 0~1上的随机实数SeedRandom[n] 以n 为seed 产生伪随机数 如果采用了 <在 2.0版本为 <<"D:\\Math\\PACKAGES\\STATISTI\\Continuo.m"Random[distribution]可以产生各种分布如Random[BetaDistribution[alpha, beta]]stribution[alpha, beta]}Random[NormalDistribution[miu,sigma]]等常用的分布如BetaDistribution,CauchyDistribution,ChiDistribution, NoncentralChiSquareDistribution,ExponentialDistribution, ExtremeValueDistribution,NoncentralFRatioDistribution,GammaDistribution,HalfNormalDistribution, LaplaceDistribution, LogNormalDistribution,LogisticDistribution,RayleighDistribution,NoncentralStudentTDistribution,UniformDistribution, WeibullDistribution八、数值函数N[expr] 表达式的机器精度近似值N[expr, n]表达式的n位近似值,n为任意正整数NSolve[lhs==rhs, var]求方程数值解NSolve[eqn, var, n] 求方程数值解,结果精度到n位NDSolve[eqns, y, {x, xmin, xmax}]微分方程数值解NDSolve[eqns, {y1,y2,...}, {x, xmin, xmax}]FindRoot[lhs==rhs, {x,x0}]以x0为初值,寻找方程数值解FindRoot x52,x,1,WorkingPrecision100精确到100位有效数字FindRoot[lhs==rhs, {x, xstart, xmin, xmax}]NSum[f, {i,imin,imax,di}] 数值求和,di为步长NSum[f, {i,imin,imax,di}, {j,..},..] 多维函数求和NProduct[f, {i, imin, imax, di}]函数求积NIntegrate[f, {x, xmin, xmax}] 函数数值积分优化函数:FindMinimum[f, {x,x0}]以x0为初值,寻找函数最小值FindMinimum[f, {x, xstart, xmin, xmax}]LinearProgramming[c,m,b]解线性组合c.x在m.x>=b&&x>=0约束下的最小值,x,b,c为向量,m为矩阵LatticeReduce[{v1,v2...}]向量组vi的极小无关组数据处理:Fit[data,funs,vars]用指定函数组对数据进行最小二乘拟和data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况emp: Fit[{10.22,12,3.2,9.9}, {1, x, x^2,Sin[x]}, x]Interpolation[data]对数据进行差值,data同上,另外还可以为{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各阶导数InterpolationOrder默认为3次,可修改ListInterpolation[array]对离散数据插值,array可为n维ListInterpolation[array,{{xmin,xmax},{ymin,ymax},..}] FunctionInterpolation[expr,{x,xmin,xmax}, {y,ymin,ymax},..]以对应expr[xi,yi]的为数据进行插值Fourier[list] 对复数数据进行付氏变换InverseFourier[list]对复数数据进行付氏逆变换Min[{x1,x2...},{y1,y2,...}]得到每个表中的最小值Max[{x1,x2...},{y1,y2,...}]得到每个表中的最大值Select[list, crit] 将表中使得crit为True的元素选择出来Count[list, pattern] 将表中匹配模式pattern的元素的个数Sort[list] 将表中元素按升序排列Sort[list,p]将表中元素按p[e1,e2]为True的顺序比较list 的任两个元素e1,e2,实际上Sort[list]中默认p=Greater集合论:Union[list1,list2..] 表listi的并集并排序Intersection[list1,list2..]表listi的交集并排序Complement[listall,list1,list2...]从全集listall中对listi的差集九、虚数函数Re[expr]复数表达式的实部Im[expr] 复数表达式的虚部Abs[expr] 复数表达式的模Arg[expr]复数表达式的辐角Conjugate[expr] 复数表达式的共轭十、数的头及模式及其他操作Integer _Integer整数Real _Real实数Complex _Complex复数Rational_Rational 有理数(*注:模式用在函数参数传递中,如MyFun[Para1_Integer,Para2_Real]规定传入参数的类型,另外也可用来判断If[Head[a]==Real,...]*) IntegerDigits[n,b,len]数字n以b近制的前len个码元RealDigits[x,b,len]类上FromDigits[list] IntegerDigits的反函数Rationalize[x,dx] 把实数x有理化成有理数,误差小于dxChop[expr, delta]将expr中小于delta的部分去掉,dx默认为10^-10 Accuracy[x]给出x小数部分位数,对于Pi,E等为无限大Precision[x]给出x有效数字位数,对于Pi,E等为无限大SetAccuracy[expr, n] 设置expr显示时的小数部分位数SetPrecision[expr, n] 设置expr显示时的有效数字位数十一、区间函数Interval[{min, max}] 区间[min, max](* Solve[3 x+2==Interval[{-2,5}],xx]*) IntervalMemberQ[interval, x] x在区间内吗?IntervalMemberQ[interval1,interval2]区间2在区间1内吗?IntervalUnion[intv1,intv2...] 区间的并IntervalIntersection[intv1,intv2...]区间的交十二、矩阵操作a.b.c或Dot[a, b, c]矩阵、向量、张量的点积Inverse[m] 矩阵的逆Transpose[list]矩阵的转置Transpose[list,{n1,n2..}]将矩阵list 第k行与第nk列交换Det[m]矩阵的行列式Eigenvalues[m]特征值Eigenvectors[m]特征向量Eigensystem[m]特征系统,返回{eigvalues,eigvectors}LinearSolve[m, b] 解线性方程组m.x==bNullSpace[m] 矩阵m的零空间,即m.NullSpace[m]==零向量RowReduce[m] m化简为阶梯矩阵Minors[m, k] m的所有k*k阶子矩阵的行列式的值(伴随阵,好像是) MatrixPower[mat, n] 阵mat自乘n次MatrixExp[mat]e matOuter[f,list1,list2..] listi中各个元之间相互组合,并作为f的参数的到的矩矩? Outer[Times,list1,list2]给出矩阵的外积SingularValues[m] m的奇异值,结果为{u,w,v},m=Conjugate[Transpose[u]].DiagonalMatrix[w].vPseudoInverse[m] m的广义逆QRDecomposition[m] QR分解SchurDecomposition[m] Schur分解LUDecomposition[m] LU分解Norm[z]=Abs[z];Norm[v]=Sqrt[v.Conjugate[v]];向量的模(内积开平方)Norm[v, p]=Total[Abs[v^p]]^(1/p)。