Mathematica函数大全

合集下载

Mathematica教程-2常用的数学函数

Mathematica教程-2常用的数学函数


Round[x]: 最接近x的整数 Floor[x]: 不大于x的最大整数 Ceiling[x]: 不小于x的最小整数 Abs[x]: x的绝对值或复数的摸 x+Iy : 复数x+iy;Re[z]: 复数z的实部 Im[z]: 复数z的虚部;Arg[z]: 复数z的幅角 Divisors[n]: 能整除n的所有整数组成的表 Mod[m,n]: m被n除的正余数 Quotient[m,n]: m/n的整数部分 GCD[n1,n2……]: 求n1,n1,……的最大公因数 LCM[n1,n2……]: 求n1,n2,……的最小公倍数
函数的立即定义
立即定义函数的语法如下f[x_]=expr函数名为f, 自变量为x,expr是表达式。在执行时会把expr 中的x都换为f的自变量x(不是x_)。函数的自变 量具有局部性,只对所在的函数起作用。函数 执行结束后也就没有了,不会改变其它全局定 义的同名变量的值。例: 定义函数f(x)=x*Sinx+x2, 对定义的函数求函数 值,并绘制它的图形。
当然使用If命令也可以定义上面的函数

将一些相互关联的元素放在一起,使它们成 为一个整体。既可以对整体操作,也可以对 整体中的一个元素单独进行操作。在 Mathematica中这样的数据结构就称作表 (List)。表主要有三个用法:表{a,b,c} 可以表示一个向量;表{{a,b},{c,d}}可表示一 个矩阵。
常用函数的命令格式
三角函数 :Sin[x],Cos[x] ,Tan[x] ,Cot[x] 等
反三角函数 :ArcSin[x] ,ArcCos[x] ,ArcTan[x]等 双曲函数与反双曲函数 :Sinh[x] ,Cosh[x] ,Tanh[x], ArcSinh[x],ArcCosh[x],ArcTanh[x] 指数函数E^x(或Exp[x]),指数函数a^x

Mathematica的常用函数

Mathematica的常用函数

Mathematica的内部常数Pi , 或π(从基本输入工具栏输入, 或“Esc”+“p”+“Esc”)圆周率πE (从基本输入工具栏输入, 或“Esc”+“ee”+“Esc”)自然对数的底数eI (从基本输入工具栏输入, 或“Esc”+“ii”+“Esc”)虚数单位iInfinity, 或∞(从基本输入工具栏输入 , 或“Esc”+“inf”+“Esc”)无穷大∞Degree 或°(从基本输入工具栏输入,或“Esc”+“deg”+“Esc”)度Mathematica的常用内部数学函数指数函数Exp[x]以e为底数对数函数Log[x]自然对数,即以e为底数的对数Log[a,x]以a为底数的x的对数开方函数Sqrt[x]表示x的算术平方根绝对值函数Abs[x]表示x的绝对值三角函数(自变量的单位为弧度)Sin[x]正弦函数Cos[x]余弦函数Tan[x]正切函数Cot[x]余切函数Sec[x]正割函数Csc[x]余割函数反三角函数ArcSin[x]反正弦函数ArcCos[x]反余弦函数ArcTan[x]反正切函数ArcCot[x]反余切函数ArcSec[x]反正割函数ArcCsc[x]反余割函数双曲函数Sinh[x]双曲正弦函数Cosh[x]双曲余弦函数Tanh[x]双曲正切函数Coth[x]双曲余切函数Sech[x]双曲正割函数Csch[x]双曲余割函数反双曲函数ArcSinh[x]反双曲正弦函数ArcCosh[x]反双曲余弦函数ArcTanh[x]反双曲正切函数ArcCoth[x]反双曲余切函数ArcSech[x]反双曲正割函数ArcCsch[x]反双曲余割函数求角度函数ArcTan[x,y]以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度数论函数GCD[a,b,c,...]最大公约数函数LCM[a,b,c,...]最小公倍数函数Mod[m,n]求余函数(表示m除以n的余数)Quotient[m,n]求商函数(表示m除以n的商)Divisors[n]求所有可以整除n的整数FactorInteger[n]因数分解,即把整数分解成质数的乘积Prime[n]求第n个质数PrimeQ[n]判断整数n是否为质数,若是,则结果为True,否则结果为FalseRandom[Integer,{m,n}]随机产生m到n之间的整数排列组合函数Factorial[n]或n!阶乘函数,表示n的阶乘复数函数Re[z]实部函数Im[z]虚部函数Arg(z)辐角函数Abs[z]求复数的模Conjugate[z]求复数的共轭复数Exp[z]复数指数函数求整函数与截尾函数Ceiling[x]表示大于或等于实数x的最小整数Floor[x]表示小于或等于实数x的最大整数Round[x]表示最接近x的整数IntegerPart[x]表示实数x的整数部分FractionalPart[x]表示实数x的小数部分分数与浮点数运算函数N[num]或num->a表达式/.{x->a, y->b,…}如何用mathematica进行复数运算a+b*I表示复数a+bIConjugate[z]求复数z的共轭复数Exp[z]复数的指数函数,表示e^zRe[z]求复数z的实部Im[z]求复数z的虚部Abs[z]求复数z的模Arg[z]求复数z的辐角,如何在mathematica中表示集合与数学中表示集合的方法相同,格式如下:{a, b, c,…}表示由a, b, c,…组成的集合(注意:必须用大括号)下列命令可以生成特殊的集合:Table[f,{n}]生成包含n个元素f的集合Table[f[n],{n,nmax}]n从1到nmax,间隔为1,生成集合{f[1], f[2], f[3],…, f[nmax]} Table[f[n],{n,nmin, nmax}]n从nmin到nmax,间隔为1,生成集合{f[nmin], f[nmin+1], f[nmin+2],…, f[nmax]}Table[f[n],{n,nmin, nmax, dn}]n从nmin到nmax,间隔为dn,生成集合{f[nmin],f[nmin+dn], f[nmin+2*dn],…, f[nmax]}Range[n]生成集合{1, 2, 3 ,…, n}Range[imin, imax]生成集合{imin,imin+1,imin+2,…,imax}Range[imin, imax, di]生成集合{imin,imin+di,imin+2*di,… } (最大不超过imax)如何用Mathematica求集合的交集、并集、差集和补集Union[A,B,C,…] 求集合A,B,C,…的并集A~Union~B~U nion~C~Union~… 求集合A,B,C,…的并集A∪B∪C∪… 求集合A,B,C,…的并集Intersection[A,B,C,…] 求集合A,B,C,…的交集A~ Intersection ~B~ Intersection ~C~ Intersection ~… 求集合A,B,C,…的交集A∩B∩C∩… 求集合A,B,C,…的交集Complement [A,B,C,…] 求差集A~ Complement ~B~ Complement ~C~ Complement ~… 求差集Complement [全集I,A] 求集合A关于全集I的补集全集I ~ Complement ~A 求集合A关于全集I的补集如何mathematica用排序Sort[v]将数组或向量v的元素从小到大排列(升序排列)Reverse[v]将数组或向量v的元素按照与原来相反的顺序重新排列(续排列)RotateLeft[v]将数组或向量v中的每一个元素向左移一个位置RotateRight[v]将数组或向量v中的每一个元素向右移一个位置RotateLeft[v,n]将数组或向量v中的每一个元素向左移n个位置RotateRight[v,n]将数组或向量v中的每一个元素向右移n个位置如何在Mathematica中解方程Solve[方程,变元]注:方程的等号必须用: = =如何在Mathematica中解方程组Solve[{方程组},{变元组}]注:方程的等号必须用: = =如何在Mathematica中解不等式先加载:Algebra`InequalitySolve` ,加载方法为:<<Algebra`InequalitySolve` 然后执行解不等式的命令InequalitySolve,此命令的使用格式如下:<--mstheme--><--mstheme-->InequalitySolve[不等式,变元]<--mstheme-->如何在Mathematica中解不等式组先加载:Algebra`InequalitySolve` ,加载方法为:<<Algebra`InequalitySolve` 然后执行解不等式组的命令InequalitySolve,此命令的使用格式如下:<--mstheme--><--mstheme-->InequalitySolve[{不等式组},{变元组}] (我的研究成果)InequalitySolve[And[不等式组],{变元组}]InequalitySolve[不等式1&&不等式2&&…&&不等式n,{变元组}]<--mstheme-->如何在Mathematica中解不等式组先加载:Algebra`InequalitySolve` ,加载方法为:<<Algebra`InequalitySolve`然后执行解不等式组的命令InequalitySolve,此命令的使用格式如下:<--mstheme--><--mstheme-->InequalitySolve[{不等式组},{变元组}] (我的研究成果)InequalitySolve[And[不等式组],{变元组}]InequalitySolve[不等式1&&不等式2&&…&&不等式n,{变元组}]如何用mathematica表示分段函数lhs:=rhs/;condition当condition成立时,lhs才会被定义成rhsIf[test,then,else]如果test为True,则执行then,否则执行 elseIf[test,then,else,unknown]如果test为True,则执行then,为False时,则执行else,无法判断test是True或False时则执行unknownWhich[test1,value1,test2,value2,...]如果test1为True,则执行value1,test2为True,则执行value2,依次类推。

Mathematica 函数集

Mathematica 函数集

最接近的整数 不大于 x 的最大整数 不小于 x 的最小 绝对值 取符号函数 取整数部分 小数 多个数或数组的最大值 最小值
复变量 Re[z] Im[z] Comjugate[z] Abs[z] Arg[z]
z=x+I y 取实部 虚部 共轭 模 幅角
实数或虚数 Exp[z] Log[z] Log[b,z] Sin[z],Cos[z],Tan[z],Cot[z], Csc[z],Sec[z] ArcSin[z],ArcCos[z],Arctan[z],Arccot[z], ArcCsc[z],ArcSec[z] Sinh[z],Cosh[z],Tanh[z],Coth[z], Csch[z],Sech[z] ArcSinh[z],ArcCosh[z],……
Reduce[方程, 变量]:什么情况下方城有解,尽量化简方程并保留方程所有解
Eliminate[方程 s, 变量 s]:消去变量并重组方程组 如:eqns = {x= =1+a/2,y= =1+2 x};
Eliminate[eqns,x]
2.2.4 不等式方程和递归方程
InequalitySolve[ineq,x] InequalitySolve[{ineq1,ineq2},{x,y}
抽象函数的导数表示 f[x_]:=Sin[x^2] 定义函数 f[x] f[x]+f’[x]+f’’[x] 一阶导,二阶导
D[x g[2x],x]
全微分 df
全导数 df dx
多重全导数 全导数,说明 c1,c2, ……为常数
置 dy =0 dx
D[h[x,y],x,x,y]
计算
∂ ∂x2
∂ ∂y
h(3) (x,

Mathematica的常用函数

Mathematica的常用函数

Mathematica的内部常数Pi , 或π(从基本输入工具栏输入, 或“Esc”+“p”+“Esc”)圆周率πE (从基本输入工具栏输入, 或“Esc”+“ee”+“Esc”)自然对数的底数eI (从基本输入工具栏输入, 或“Esc”+“ii”+“Esc”)虚数单位iInfinity, 或∞(从基本输入工具栏输入, 或“Esc”+“inf”+“Esc”)无穷大∞Degree 或°(从基本输入工具栏输入,或“Esc”+“deg”+“Esc”)度Mathematica的常用内部数学函数指数函数Exp[x]以e为底数对数函数Log[x]自然对数,即以e为底数的对数Log[a,x]以a为底数的x的对数开方函数Sqrt[x]表示x的算术平方根绝对值函数Abs[x]表示x的绝对值三角函数(自变量的单位为弧度)Sin[x]正弦函数Cos[x]余弦函数Tan[x]正切函数Cot[x]余切函数Sec[x]正割函数Csc[x]余割函数反三角函数ArcSin[x]反正弦函数ArcCos[x]反余弦函数ArcTan[x]反正切函数ArcCot[x]反余切函数ArcSec[x]反正割函数ArcCsc[x]反余割函数双曲函数Sinh[x]双曲正弦函数Cosh[x]双曲余弦函数Tanh[x]双曲正切函数Coth[x]双曲余切函数Sech[x]双曲正割函数Csch[x]双曲余割函数反双曲函数ArcSinh[x]反双曲正弦函数ArcCosh[x]反双曲余弦函数ArcTanh[x]反双曲正切函数ArcCoth[x]反双曲余切函数ArcSech[x]反双曲正割函数ArcCsch[x]反双曲余割函数求角度函数ArcTan[x,y]以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度数论函数GCD[a,b,c,...]最大公约数函数LCM[a,b,c,...]最小公倍数函数Mod[m,n]求余函数(表示m除以n的余数)Quotient[m,n]求商函数(表示m除以n的商)Divisors[n]求所有可以整除n的整数FactorInteger[n]因数分解,即把整数分解成质数的乘积Prime[n]求第n个质数PrimeQ[n]判断整数n是否为质数,若是,则结果为True,否则结果为FalseRandom[Integer,{m,n}]随机产生m到n之间的整数排列组合函数Factorial[n]或n!阶乘函数,表示n的阶乘复数函数Re[z]实部函数Im[z]虚部函数Arg(z)辐角函数Abs[z]求复数的模Conjugate[z]求复数的共轭复数Exp[z]复数指数函数求整函数与截尾函数Ceiling[x]表示大于或等于实数x的最小整数Floor[x]表示小于或等于实数x的最大整数Round[x]表示最接近x的整数IntegerPart[x]表示实数x的整数部分FractionalPart[x]表示实数x的小数部分分数与浮点数运算函数N[num]或num//N把精确数num化成浮点数(默认16位有效数字)N[num,n]把精确数num化成具有n个有效数字的浮点数NumberForm[num,n]以n个有效数字表示numRationalize[float]将浮点数float转换成与其相等的分数Rationalize[float,dx]将浮点数float转换成与其近似相等的分数,误差小于dx最大、最小函数Max[a,b,c,...]求最大数Min[a,b,c,...]求最小数符号函数Sign[x]Mathematica中的数学运算符a+b 加法a-b减法a*b (可用空格键代替*)乘法a/b (输入方法为:“ Ctrl ” + “ / ” ) 除法a^b (输入方法为:“ Ctrl ” + “ ^ ” )乘方-a 负号Mathematica的关系运算符==等于<小于>大于<=小于或等于>=大于或等于!=不等于注:上面的关系运算符也可从基本输入工具栏输入。

Mathematica 函数大全

Mathematica 函数大全

Mathematica 函数大全--运算符及特殊符号一、运算符及特殊符号Line1; 执行Line,不显示结果Line1,line2 顺次执行Line1,2,并显示结果?name 关于系统变量name 的信息??name 关于系统变量name 的全部信息!command 执行Dos 命令n! N 的阶乘!!filename 显示文件内容<Expr>> filename 打开文件写Expr>>>filename 打开文件从文件末写() 结合率[] 函数{} 一个表在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 建立替换规则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] 展开表达式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...}] 解偏微分方程Eliminate[eqns, vars] 把方程组eqns 中变量vars 约去SolveAlways[eqns, vars] 给出等式成立的所有参数满足的条件Reduce[eqns, vars] 化简并给出所有可能解的条件LogicalExpand[expr] 用&&和||将逻辑表达式展开InverseFunction[f] 求函数f 的逆函数Root[f, k] 求多项式函数的第k 个根Roots[lhs==rhs, var] 得到多项式方程的所有根五、微积分函数D[f, x] 求f[x]的微分D[f, {x, n}] 求f[x]的n 阶微分D[f,x1,x2..] 求f[x]对x1,x2...偏微分Dt[f, x] 求f[x]的全微分df/dxDt[f] 求f[x]的全微分dfDt[f, {x, n}] n 阶全微分df^n/dx^nDt[f,x1,x2..] 对x1,x2..的偏微分Integrate[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 的极限Residue[expr, {x,x0}] expr 在x0 处的留数Series[f, {x, x0, n}] 给出f[x]在x0 处的幂级数展开Series[f, {x, x0,nx}, {y, y0, ny}] 先对y幂级数展开,再对x Normal[expr] 化简并给出最常见的表达式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)^nDt[f, x] 求f[x]的全微分df/dxDt[f] 求f[x]的全微分dfDt[f, {x, n}] n 阶全微分df^n/dx^nDt[f,x1,x2..] 对x1,x2..的偏微分Integrate[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 的极限Residue[expr, {x,x0}] expr 在x0 处的留数Series[f, {x, x0, n}] 给出f[x]在x0 处的幂级数展开Series[f, {x, x0,nx}, {y, y0, ny}] 先对y幂级数展开,再对x Normal[expr] 化简并给出最常见的表达式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 的幂级数,其中aiO[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=poly Resultant[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] n 阶柱函数Decompose[poly, x] 迭代分解,给出{p1,p2,...},其中p1(p2(...))=poly InterpolatingPolynomial[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,不写默认为Realrange 为{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, WeibullDistributionN[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[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}]ConstrainedMin[f,{inequ},{x,y,..}]inequ为线性不等式组,f 为x,y..之线性函数,得到最小值及此时的x,y..取值ConstrainedMax[f, {inequ}, {x, y,..}]同上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,yma x},..}]FunctionInterpolation[expr,{x,xmin,xmax}, {y,ymin,ymax},..] 以对应expr[xi,yi]的为数据进行插值Fourier[list] 对复数数据进行付氏变换InverseFourier[list] 对复数数据进行付氏逆变换Min[{x1,x2...},{y1,y2,...}] 得到每个表中的最小值变换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] 特征向量特征值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 次Outer[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 分解十三、表函数(*“表”,我认为是Mathematica 中最灵活的一种数据类型*)(*实际上表就是表达式,表达式也就是表,所以下面list==expr*)(*一个表中元素的位置可以用于一个表来表示*)表的生成{e1,e2,...} 一个表,元素可以为任意表达式,无穷嵌套Table[expr,{imax}] 生成一个表,共imax个元素Table[expr,{i, imax}] 生成一个表,共imax个元素expr[i]Table[expr,{i,imin,imax},{j,jmin,jmax},..] 多维表Range[imax] 简单数表{1,2,..,imax}Range[imin, imax, di] 以di 为步长的数表Array[f, n] 一维表,元素为f[i] (i 从1到n)Array[f,{n1,n2..}] 多维表,元素为f[i,j..] (各自从1到ni)IdentityMatrix[n] n阶单位阵DiagonalMatrix[list] 对角阵元素操作Part[expr, i]或expr[[i]] 第i个元expr[[-i]] 倒数第i个元expr[[i,j,..]] 多维表的元expr[[{i1,i2,..}] 返回由第i(n)的元素组成的子表First[expr] 第一个元Last[expr] 最后一个元Head[expr] 函数头,等于expr[[0]]Extract[expr, list] 取出由表list制定位置上expr 的元素值Take[list, n] 取出表list 前n 个元组成的表Take[list,{m,n}] 取出表list从m 到n 的元素组成的表Drop[list, n] 去掉表list 前n 个元剩下的表,其他参数同上Rest[expr] 去掉表list第一个元剩下的表Select[list, crit] 把crit作用到每一个list 的元上,为True 的所有元组成的表表的属性Length[expr] expr 第一曾元素的个数Dimensions[expr] 表的维数返回{n1,n2..},expr为一个n1*n2... 的阵TensorRank[expr] 秩Depth[expr] expr 最大深度Level[expr,n] 给出expr 中第n 层子表达式的列表Count[list, pattern] 满足模式的list 中元的个数MemberQ[list, form] list 中是否有匹配form 的元FreeQ[expr, form] MemberQ 的反函数Position[expr, pattern] 表中匹配模式pattern 的元素的位置列表Cases[{e1,e2...},pattern] 匹配模式pattern 的所有元素ei 的表表的操作Append[expr, elem] 返回在表expr 的最后追加elem元后的表Prepend[expr, elem] 返回在表expr 的最前添加elem元后的表Insert[list, elem, n] 在第n 元前插入elemInsert[expr,elem,{i,j,..}] 在元素expr[[{i,j,..}]]前插入elemDelete[expr, {i, j,..}] 删除元素expr[[{i,j,..}]]后剩下的表DeleteCases[expr,pattern] 删除匹配pattern 的所有元后剩下的表ReplacePart[expr,new,n] 将expr 的第n 元替换为newSort[list] 返回list按顺序排列的表Reverse[expr] 把表expr倒过来RotateLeft[expr, n] 把表expr循环左移n 次RotateRight[expr, n] 把表expr循环右移n 次Partition[list, n] 把list按每n 各元为一个子表分割后再组成的大表Flatten[list] 抹平所有子表后得到的一维大表Flatten[list,n] 抹平到第n 层Split[list] 把相同的元组成一个子表,再合成的大表FlattenAt[list, n] 把list[[n]]处的子表抹平FlattenAt[list, n] 把list[[n]]处的子表抹平Permutations[list] 由list 的元素组成的所有全排列的列表Order[expr1,expr2] 如果expr1在expr2之前返回1,如果expr1 在expr2之后返回-1,如果expr1 与expr2全等返回0Signature[list] 把list 通过两两交换得到标准顺序所需的交换次数(排列数)以上函数均为仅返回所需表而不改变原表AppendTo[list,elem] 相当于list=Append[list,elem];PrependTo[list,elem] 相当于list=Prepend[list,elem];十四、绘图函数二维作图Plot[f,{x,xmin,xmax}] 一维函数f[x]在区间[xmin,xmax]上的函数曲线Plot[{f1,f2..},{x,xmin,xmax}] 在一张图上画几条曲线ListPlot[{y1,y2,..}] 绘出由离散点对(n,yn)组成的图ListPlot[{{x1,y1},{x2,y2},..}] 绘出由离散点对(xn,yn)组成的图ParametricPlot[{fx,fy},{t,tmin,tmax}] 由参数方程在参数变化范围内的曲线ParametricPlot[{{fx,fy},{gx,gy},...},{t,tmin,tmax}]在一张图上画多条参数曲线选项:PlotRange->{0,1} 作图显示的值域范围AspectRatio->1/GoldenRatio 生成图形的纵横比PlotLabel ->label 标题文字Axes ->{False,True} 分别制定是否画x,y 轴AxesLabel->{xlabel,ylabel}x,y 轴上的说明文字Ticks->None,Automatic,fun 用什么方式画轴的刻度AxesOrigin ->{x,y} 坐标轴原点位置AxesStyle->{{xstyle}, {ystyle}} 设置轴线的线性颜色等属性Frame ->True,False 是否画边框FrameLabel ->{xmlabel,ymlabel,xplabel,yplabel}边框四边上的文字FrameTicks 同Ticks 边框上是否画刻度GridLines 同Ticks 图上是否画栅格线FrameStyle ->{{xmstyle},{ymstyle} 设置边框线的线性颜色等属性ListPlot[data,PlotJoined->True] 把离散点按顺序连线PlotSytle->{{style1},{style2},..} 曲线的线性颜色等属性PlotPoints->15 曲线取样点,越大越细致三维作图Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}]二维函数f[x,y]的空间曲面Plot3D[{f,s}, {x,xmin,xmax},{y,ymin,ymax}]同上,曲面的染色由s[x,y]值决定ListPlot3D[array] 二维数据阵array 的立体高度图ListPlot3D[array,shades] 同上,曲面的染色由shades[数据]值决定ParametricPlot3D[{fx,fy,fz},{t,tmin,tmax}]二元数方程在参数变化范围内的曲线ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},...},{t,tmi n,tmax}]多条空间参数曲线选项:ViewPoint ->{x,y,z} 三维视点,默认为{1.3,-2.4,2}Boxed -> True,False 是否画三维长方体边框BoxRatios->{sx,sy,sz} 三轴比例BoxStyle 三维长方体边框线性颜色等属性Lighting ->True 是否染色LightSources->{s1,s2..} si 为某一个光源si={{dx,dy,dz},color}color 为灯色,向dx,dy,dz方向照射AmbientLight-> 颜色函数慢散射光的光源Mesh->True,False 是否画曲面上与x,y 轴平行的截面的截线MeshStyle 截线线性颜色等属性MeshRange->{{xmin,xmax}, {ymin,ymax}} 网格范围ClipFill->Automatic,None,color,{bottom,top}指定图形顶部、底部超界后所画的颜色Shading ->False,True 是否染色HiddenSurface->True,False 略去被遮住不显示部分的信息等高线ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 二维函数f[x,y]在指定区间上的等高线图ListContourPlot[array] 根据二维数组array 数值画等高线选项:Contours->n 画n 条等高线Contours->{z1,z2,..} 在zi处画等高线ContourShading -> False 是否用深浅染色ContourLines -> True 是否画等高线ContourStyle -> {{style1},{style2},..}等高线线性颜色等属性FrameTicks 同上密度图DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}] 二维函数f[x,y]在指定区间上的密度图ListDensityPlot[array] 同上图形显示Show[graphics,options] 显示一组图形对象,options为选项设置Show[g1,g2...] 在一个图上叠加显示一组图形对象GraphicsArray[{g1,g2,...}] 在一个图上分块显示一组图形对象SelectionAnimate[notebook,t] 把选中的notebook 中的图画循环放映选项:(此处选项适用于全部图形函数)>选项:(此处选项适用于全部图形函数)Background-> 颜色函数指定绘图的背景颜色RotateLabel -> True 竖着写文字TextStyle 此后输出文字的字体,颜色大小等ColorFunction->Hue 等把其作用于某点的函数值上决定某点的颜色RenderAll->False 是否对遮挡部分也染色MaxBend 曲线、曲面最大弯曲度图元函数Graphics[prim, options] prim 为下面各种函数组成的表,表示一个二维图形对象Graphics3D[prim, options] prim 为下面各种函数组成的表,表示一个三维图形对象SurfaceGraphics[array, shades] 表示一个由array 和shade决定的曲面对象ContourGraphics[array] 表示一个由array 决定的等高线图对象DensityGraphics[array] 表示一个由array 决定的密度图对象以上定义图形对象,可以进行对变量赋值,合并显示等操作,也可以存盘Point[p] p={x,y}或{x,y,z} 在指定位置画点Line[{p1,p2,..}] 经由pi 点连线Rectangle[{xmin, ymin},{xmax, ymax}] 画矩形Cuboid[{xmin,ymin,zmin},{xmax,ymax,zmax}] 由对角线指定的长方体Polygon[{p1,p2,..}] 封闭多边形Circle[{x,y},r] 画圆Circle[{x,y},{rx,ry}] 画椭圆,rx,ry 为半长短轴Circle[{x,y},r,{a1,a2}] 从角度a1~a2 的圆弧Disk[{x, y}, r] 填充的园、衷病⒃弧等参数同上Raster[array,ColorFunction->f] 颜色栅格Text[expr,coords] 在坐标coords上输出表达式PostScript["string"] 直接用PostScript 图元语言写Scaled[{x,y,..}] 返回点的坐标,且均大于0 小于1颜色函数(指定其后绘图的颜色)GrayLevel[level] 灰度level为0~1 间的实数RGBColor[red, green, blue] RGB 颜色,均为0~1 间的实数Hue[h, s, b] 亮度,饱和度等,均为0~1 间的实数CMYKColor[cyan, magenta, yellow, black] CMYK 颜色其他函数(指定其后绘图的方式)Thickness[r] 设置线宽为rPointSize[d] 设置绘点的大小Dashing[{r1,r2,..}] 虚线一个单元的间隔长度ImageSize->{x, y} 显示图形大小(像素为单位) ImageResolution->r 图形解析度r 个dpi 小(像素为单位) ImageResolution->r 图形解析度r 个dpi ImageMargins->{{left,right},{bottom,top}} 四边的空白ImageRotated->False 是否旋转90度显示十五、流程控制分支If[condition, t, f] 如果condition 为True, 执行t段,否则f段If[condition, t, f, u] 同上,即非True 又非False,则执行u 段Which[test1,block1,test2,block2..] 执行第一为True 的testi对应的blockiSwitch[expr,form1,block1,form2,block2..] 执行第一个expr所匹配的formi所对应的blocki 段循环Do[expr,{imax}] 重复执行expr imax 次Do[expr,{i,imin,imax}, {j,jmin,jmax},...]多重循环While[test, body] 循环执行body 直到test 为FalseFor[start,test,incr,body] 类似于C 语言中的for,注意","与";"的用法相反examp: For[i=1;t =x,i^2异常控制Throw[value] 停止计算,把value 返回给最近一个Catch 处理Throw[value, tag] 同上,Catch[expr] 计算expr,遇到Throw 返回的值则停止Catch[expr, form] 当Throw[value, tag]中Tag 匹配form 时停止其他控制Return[expr] 从函数返回,返回值为exprReturn[ ] 返回值NullBreak[ ] 结束最近的一重循环Continue[ ] 停止本次循环,进行下一次循环Goto[tag] 无条件转向Label[Tag]处Label[tag] 设置一个断点Check[expr,failexpr] 计算expr,如果有出错信息产生,则返回failexpr 的值Check[expr,failexpr,s1::t1,s2::t2,...]当特定信息产生时则返回failexprCheckAbort[expr,failexpr] 当产生abort信息时放回failexprInterrupt[ ] 中断运行Abort[ ] 中断运行TimeConstrained[expr,t] 计算expr,当耗时超过t秒时终止MemoryConstrained[expr,b] 计算expr,当耗用内存超过b 字节时终止运算交互式控制Print[expr1,expr2,...] 顺次输出expri 的值examp: Print[ "X=" , X//N , " " ,f[x+1]];Input[ ] 产生一个输入对话框,返回所输入任意表达式Input["prompt"] 同上,prompt 为对话框的提示Pause[n] 运行暂停n 秒的提示Pause[n] 运行暂停n 秒十六、函数编程(*函数编程是Mathematica 中很有特色也是最灵活的一部分,它充分体现了*)(*Mathematica的“一切都是表达式”的特点,如果你想使你的Mathematica程*)(*序快于高级语言,建议你把本部分搞通*)纯函数Function[body]或body& 一个纯函数,建立了一组对应法则,作用到后面的表达式Function[x, body] 单自变量纯函数Function[{x1,x2,...},body] 多自变量纯函数#,#n 纯函数的第一、第n 个自变量## 纯函数的所有自变量的序列examp: #1^#2& [2,3] 返回第一个参数的第二个参数次方映射Map[f,expr]或f/@expr 将f分别作用到expr第一层的每一个元上得到的列表Map[f,expr,level] 将f分别作用到expr第level 层的每一个元上Apply[f,expr]或f@@expr 将expr 的“头”换为fApply[f,expr,level] 将expr第level层的“头”换为fMapAll[f,expr]或f//@expr 把f作用到expr 的每一层的每一个元上MapAt[f,expr,n] 把f作用到expr 的第n 个元上MapAt[f,expr,{i,j,...}] 把f作用到expr[[{i,j,...}]]元上MapIndexed[f,expr] 类似MapAll,但都附加其映射元素的位置列表Scan[f, expr] 按顺序分别将f 作用于expr 的每一个元Scan[f,expr,levelspec] 同上,仅作用第level层的元素复合映射Nest[f,expr,n] 返回n 重复合函数f[f[...f[expr]...]]NestList[f,expr,n] 返回0 重到n 重复合函数的列表{expr,f[expr],f[f[exprr]]..}FixedPoint[f, expr] 将f 复合作用于expr直到结果不再改变,即找到其不定点FixedPoint[f, expr, n] 最多复合n 次,如果不收敛则停止FixedPointList[f, expr] 返回各次复合的结果列表FoldList[f,x,{a,b,..}] 返回{x,f[x,a],f[f[x,a],b],..}Fold[f, x, list] 返回FoldList[f,x,{a,b,..}]的最后一个元ComposeList[{f1,f2,..},x] 返回{x,f1[x],f2[f1[x]],..}的复合函数列表Distribute[f[x1,x2,..]] f 对加法的分配率Distribute[expr, g] 对g 的分配率Identity[expr] expr 的全等变换Composition[f1,f2,..] 组成复合纯函数f1[f2[..fn[ ]..]Operate[p,f[x,y]] 返回p[f][x, y]br> Operate[p,f[x,y]] 返回p[f][x, y]Through[p[f1,f2][x]] 返回p[f1[x],f2[x]]Compile[{x1,x2,..},expr] 编译一个函数,编译后运行速度可以大大加快Compile[{{x1,t1},{x2,t2}..},expr] 同上,可以制定函数参数类型十七、替换规则lhs->rhs 建立了一个规则,把lhs 换为rhs,并求rhs 的值lhs:>rhs 同上,只是不立即求rhs 的值,知道使用该规则时才求值Replace[expr,rules] 把一组规则应用到expr上,只作用一次expr /. rules 同上expr //.rules 将规则rules 不断作用到expr上,直到无法作用为止Dispatch[{lhs1->rhs1,lhs2->rhs2,...}] 综合各个规则,产生一组优化的规则组十八、查询函数(*查询函数一般是检验表达式是否满足某些特殊形式,并返回True 或False*) (*可以在Mathematica 中用“?*Q”查询到*)ArgumentCountQ MatrixQAtomQ MemberQDigitQ NameQEllipticNomeQ NumberQEvenQ NumericQExactNumberQ OddQFreeQ OptionQHypergeometricPFQ OrderedQInexactNumberQ PartitionsQIntegerQ PolynomialQIntervalMemberQ PrimeQInverseEllipticNomeQ SameQLegendreQ StringMatchQLetterQ StringQLinkConnectedQ SyntaxQLinkReadyQ TrueQListQ UnsameQLowerCaseQ UpperCaseQMachineNumberQ ValueQMatchLocalNameQ VectorQMatchQ十九、字符串函数"text" 一个串,头为_String"s1"<>"s2"<>..或StringJoin["s1","s2",..] 串的连接StringLength["string"] 串长度StringReverse["string"] 串反转StringTake["string", n] 取串的前n 个字符的子串,参数同Take[] StringDrop["string", n] 参见Drop,串也就是一个表StringInsert["string","snew",n] 插入,参见Insert[]StringPosition["string", "sub"] 返回子串sub在string 中起止字母位置StringReplace["string",{"s1"->"p1",..}] 子串替换StringReplacePart["string", "snew", {m, n}]把string第m~n 个字母之间的替换为snew StringToStream["string"] 把串当作一个输入流赋予一个变量Characters["string"] 把串"string"分解为每一个字符的表ToCharacterCode["string"] 把串"string"分解为每一个字符ASCII 值的表FromCharacterCode[n]ToCharacterCode 逆函数FromCharacterCode[{n1,n2,..}]ToCharacterCode 逆函数ToUpperCase[string] 把串的大写形式ToLowerCase[string] 把串的小写形式CharacterRange["c1","c2"] 给出ASCII 吗在c1 到c2之间的字符列表ToString[expr] 把表达式变为串的形式ToExpression[input] 把一个串变为表达式Names["string"] 与?string 同,返回与string 同名的变量列表最后编辑BY 凹凸曼的马甲。

符号计算系统Mathematica的常用系统函数

符号计算系统Mathematica的常用系统函数

符号计算系统Mathematica的常用系统函数Mathematica是一个很大的用计算机作数学的软件系统,仅在2.0版的系统中就定义了800多个函数。

这里摘选了Mathematica2.0版的部分函数和命令,其中不包括Mathematica软件包中的函数定义,因篇幅所限,对于一些函数只作了简要说明,可在任意版本中用“??函数名”或“??命令名”的形式得到该版本中函数和命令的更详细的使用说明.所提供的函数和命令对Mathematica2.0以后的版本仍然适用.(一)数学常数ComplexInfinity 复无穷大Degree 1°对应的弧度值,为π/180 DirectedInfinity 有方向的无穷E 自然对数的底e≈2.718 28I 虚单位i=1Indeterminate 不定值Infinity 正无穷Pi 圆周率π≈3.141 59…(二)数学函数Abort[ ] 产生中止运算过程的急停。

AbortProtect[expr ] expr的运算完成后执行中止运算过程的Abort[ ]命令.Abs[x] 给出实数x的绝对值,或给出复数x的模。

如果x不是数,则Abs[x]不作运算..AbsoluteDashing[{d1,d2,…}] 图形的样式指令,虚线线段重复循环使用d1,d2,…的长度.AbsolutePointSize[d] 图形的样式指令,d是图形上点的半径.AbsoluteThickness[d] 图形的样式指令,d是图形上直线的绝对宽度.Accuracy[x] 给出x的小数点以后的位数,如果x不是一个数,Accuracy[x]给出x 中所有数的精度的最小值,整数的精度为无穷大.Apart[expr] 将有理式写成一系列最简分式之和.Apart[expr,var] 将var以外的变量都作为常数.Append[expr,elem] 给出将元素elem追加到expr后的结果,expr的值不变.AppendTo[s,elem] 将元素elem追加到s中.Apply[f,expr] f作用于expr.例如,Apply[Plus,2,3]的值为5.ArcCos[z] 复数z的反余弦arccos z.ArcaCosh[z] 复数z的反双曲余弦arccosh z.ArcCot[z] 复数z的反余切arccot z.ArcCoth[z] 复数z的反双曲余切arccoth z.ArcCsc[z] 复数z的反余割arccsc z.ArcCsch[z] 复数z的反双曲余割arccsch z.ArcSec[z] 复数z的反正割arcsec z.ArcSech[z] 复数z的反双曲正割arcsech z.ArcSin[z] 复数z的反正弦arcsin z.ArcSinh[z] 复数z的反双曲正弦arcsinh z.ArcTan[z] 复数z的反正切arctan z.ArcTanh[z] 复数z的反双曲正切arctanh z.Arg[z] 给出复数z的辐角。

Mathematica的常用函数

Mathematica的常用函数

Mathematica的内部常数Pi , 或π(从基本输入工具栏输入, 或“Esc”+“p”+“Esc”)圆周率πE (从基本输入工具栏输入, 或“Esc”+“ee”+“Esc”)自然对数的底数eI (从基本输入工具栏输入, 或“Esc”+“ii”+“Esc”)虚数单位iInfinity, 或∞(从基本输入工具栏输入, 或“Esc”+“inf”+“Esc”)无穷大∞Degree 或°(从基本输入工具栏输入,或“Esc”+“deg”+“Esc”)度Mathematica的常用内部数学函数指数函数Exp[x]以e为底数对数函数Log[x]自然对数,即以e为底数的对数Log[a,x]以a为底数的x的对数开方函数Sqrt[x]表示x的算术平方根绝对值函数Abs[x]表示x的绝对值三角函数(自变量的单位为弧度)Sin[x]正弦函数Cos[x]余弦函数Tan[x]正切函数Cot[x]余切函数Sec[x]正割函数Csc[x]余割函数反三角函数ArcSin[x]反正弦函数ArcCos[x]反余弦函数ArcTan[x]反正切函数ArcCot[x]反余切函数ArcSec[x]反正割函数ArcCsc[x]反余割函数双曲函数Sinh[x]双曲正弦函数Cosh[x]双曲余弦函数Tanh[x]双曲正切函数Coth[x]双曲余切函数Sech[x]双曲正割函数Csch[x]双曲余割函数反双曲函数ArcSinh[x]反双曲正弦函数ArcCosh[x]反双曲余弦函数ArcTanh[x]反双曲正切函数ArcCoth[x]反双曲余切函数ArcSech[x]反双曲正割函数ArcCsch[x]反双曲余割函数求角度函数ArcTan[x,y]以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度数论函数GCD[a,b,c,...]最大公约数函数LCM[a,b,c,...]最小公倍数函数Mod[m,n]求余函数(表示m除以n的余数)Quotient[m,n]求商函数(表示m除以n的商)Divisors[n]求所有可以整除n的整数FactorInteger[n]因数分解,即把整数分解成质数的乘积Prime[n]求第n个质数PrimeQ[n]判断整数n是否为质数,若是,则结果为True,否则结果为FalseRandom[Integer,{m,n}]随机产生m到n之间的整数排列组合函数Factorial[n]或n!阶乘函数,表示n的阶乘复数函数Re[z]实部函数Im[z]虚部函数Arg(z)辐角函数Abs[z]求复数的模Conjugate[z]求复数的共轭复数Exp[z]复数指数函数求整函数与截尾函数Ceiling[x]表示大于或等于实数x的最小整数Floor[x]表示小于或等于实数x的最大整数Round[x]表示最接近x的整数IntegerPart[x]表示实数x的整数部分FractionalPart[x]表示实数x的小数部分分数与浮点数运算函数N[num]或num//N把精确数num化成浮点数(默认16位有效数字)N[num,n]把精确数num化成具有n个有效数字的浮点数NumberForm[num,n]以n个有效数字表示numRationalize[float]将浮点数float转换成与其相等的分数Rationalize[float,dx]将浮点数float转换成与其近似相等的分数,误差小于dx最大、最小函数Max[a,b,c,...]求最大数Min[a,b,c,...]求最小数符号函数Sign[x]Mathematica中的数学运算符a+b 加法a-b减法a*b (可用空格键代替*)乘法a/b (输入方法为:“ Ctrl ” + “ / ” ) 除法a^b (输入方法为:“ Ctrl ” + “ ^ ” )乘方-a 负号Mathematica的关系运算符==等于<小于>大于<=小于或等于>=大于或等于!=不等于注:上面的关系运算符也可从基本输入工具栏输入。

mathematica函数大全

mathematica函数大全

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乘方除a^b乘方base^^num以base为进位的数lhs&&rhs且lhs||rhs或!lha非++,--自加1,自减1+=,-=,*=,/=同C语言>,<,>=,<=,==,!=逻辑判断(同c)lhs=rhs立即赋值lhs:=rhs建立动态赋值lhs:>rhs建立替换规则lhs->rhs建立替换规则expr//funname相当于filename[expr]expr/.rule将规则rule应用于exprexpr//.rule将规则rule不断应用于expr知道不变为止param_名为param的一个任意表达式(形式变量)param__名为param的任意多个任意表达式(形式变量)二、系统常数Pi3.1415....的无限精度数值E2.17828...的无限精度数值Catalan0.915966..卡塔兰常数EulerGamma0.5772....高斯常数GoldenRatio1.61803...黄金分割数Degree Pi/180角度弧度换算I复数单位Infinity无穷大-Infinity负无穷大ComplexInfinity复无穷大Indeterminate不定式三、代数计算Expand[expr]展开表达式Factor[expr]展开表达式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...}]解偏微分方程Eliminate[eqns,vars]把方程组eqns中变量vars约去SolveAlways[eqns,vars]给出等式成立的所有参数满足的条件Reduce[eqns,vars]化简并给出所有可能解的条件LogicalExpand[expr]用&&和||将逻辑表达式展开InverseFunction[f]求函数f的逆函数Root[f,k]求多项式函数的第k个根Roots[lhs==rhs,var]得到多项式方程的所有根五、微积分函数D[f,x]求f[x]的微分D[f,{x,n}]求f[x]的n阶微分D[f,x1,x2..]求f[x]对x1,x2...偏微分Dt[f,x]求f[x]的全微分df/dxDt[f]求f[x]的全微分dfDt[f,{x,n}]n阶全微分df^n/dx^nDt[f,x1,x2..]对x1,x2..的偏微分Integrate[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的极限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]化简并给出最常见的表达式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)^nDt[f,x]求f[x]的全微分df/dxDt[f]求f[x]的全微分dfDt[f,{x,n}]n阶全微分df^n/dx^nDt[f,x1,x2..]对x1,x2..的偏微分Integrate[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的极限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]化简并给出最常见的表达式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的幂级数,其中aiO[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]n阶柱函数Decompose[poly,x]迭代分解,给出{p1,p2,...},其中p1(p2(...))=poly InterpolatingPolynomial[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,不写默认为Realrange为{min,max},不写默认为{0,1}Random[]0~1上的随机实数SeedRandom[n]以n为seed产生伪随机数如果采用了<在2.0版本为<<"D:\\Math\\PACKAGES\\STA TISTI\\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,Rayle ighDistribution,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[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}]ConstrainedMin[f,{inequ},{x,y,..}]inequ为线性不等式组,f为x,y..之线性函数,得到最小值及此时的x,y..取值ConstrainedMax[f,{inequ},{x,y,..}]同上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,...}]得到每个表中的最小值变换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个码元RealDig its[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[3x+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]特征向量特征值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次Outer[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分解十三、表函数(*“表”,我认为是Mathematica中最灵活的一种数据类型*)(*实际上表就是表达式,表达式也就是表,所以下面list==expr*)(*一个表中元素的位置可以用于一个表来表示*)表的生成{e1,e2,...}一个表,元素可以为任意表达式,无穷嵌套Table[expr,{imax}]生成一个表,共imax个元素Table[expr,{i,imax}]生成一个表,共imax个元素expr[i]Table[expr,{i,imin,imax},{j,jmin,jmax},..]多维表Range[imax]简单数表{1,2,..,imax}Range[imin,imax,di]以di为步长的数表Array[f,n]一维表,元素为f[i](i从1到n)Array[f,{n1,n2..}]多维表,元素为f[i,j..](各自从1到ni)IdentityMatrix[n]n阶单位阵DiagonalMatrix[list]对角阵元素操作Part[expr,i]或expr[[i]]第i个元expr[[-i]]倒数第i个元expr[[i,j,..]]多维表的元expr[[{i1,i2,..}]返回由第i(n)的元素组成的子表First[expr]第一个元Last[expr]最后一个元Head[expr]函数头,等于expr[[0]]Extract[expr,list]取出由表list制定位置上expr的元素值Take[list,n]取出表list前n个元组成的表Take[list,{m,n}]取出表list从m到n的元素组成的表Drop[list,n]去掉表list前n个元剩下的表,其他参数同上Rest[expr]去掉表list第一个元剩下的表Select[list,crit]把crit作用到每一个list的元上,为True的所有元组成的表表的属性Length[expr]expr第一曾元素的个数Dimensions[expr]表的维数返回{n1,n2..},expr为一个n1*n2...的阵TensorRank[expr]秩Depth[expr]expr最大深度Level[expr,n]给出expr中第n层子表达式的列表Count[list,pattern]满足模式的list中元的个数MemberQ[list,form]list中是否有匹配form的元FreeQ[expr,form]MemberQ的反函数Position[expr,pattern]表中匹配模式pattern的元素的位置列表Cases[{e1,e2...},pattern]匹配模式pattern的所有元素ei的表表的操作Append[expr,elem]返回在表expr的最后追加elem元后的表Prepend[expr,elem]返回在表expr的最前添加elem元后的表Insert[list,elem,n]在第n元前插入elemInsert[expr,elem,{i,j,..}]在元素expr[[{i,j,..}]]前插入elemDelete[expr,{i,j,..}]删除元素expr[[{i,j,..}]]后剩下的表DeleteCases[expr,pattern]删除匹配pattern的所有元后剩下的表ReplacePart[expr,new,n]将expr的第n元替换为newSort[list]返回list按顺序排列的表Reverse[expr]把表expr倒过来RotateLeft[expr,n]把表expr循环左移n次RotateRight[expr,n]把表expr循环右移n次Partition[list,n]把list按每n各元为一个子表分割后再组成的大表Flatten[list]抹平所有子表后得到的一维大表Flatten[list,n]抹平到第n层Split[list]把相同的元组成一个子表,再合成的大表FlattenAt[list,n]把list[[n]]处的子表抹平FlattenAt[list,n]把list[[n]]处的子表抹平Permutations[list]由list的元素组成的所有全排列的列表Order[expr1,expr2]如果expr1在expr2之前返回1,如果expr1在expr2之后返回-1,如果expr1与expr2全等返回0Signature[list]把list通过两两交换得到标准顺序所需的交换次数(排列数)以上函数均为仅返回所需表而不改变原表AppendTo[list,elem]相当于list=Append[list,elem];PrependTo[list,elem]相当于list=Prepend[list,elem];十四、绘图函数二维作图Plot[f,{x,xmin,xmax}]一维函数f[x]在区间[xmin,xmax]上的函数曲?Plot[{f1,f2..},{x,xmin,xmax}]在一张图上画几条曲线ListPlot[{y1,y2,..}]绘出由离散点对(n,yn)组成的图ListPlot[{{x1,y1},{x2,y2},..}]绘出由离散点对(xn,yn)组成的图ParametricPlot[{fx,fy},{t,tmin,tmax}]由参数方程在参数变化范围内的曲线ParametricPlot[{{fx,fy},{gx,gy},...},{t,tmin,tmax}]在一张图上画多条参数曲线选项:PlotRange->{0,1}作图显示的值域范围AspectRatio->1/GoldenRatio生成图形的纵横比PlotLabel->label标题文字Axes->{False,True}分别制定是否画x,y轴AxesLabel->{xlabel,ylabel}x,y轴上的说明文字Ticks->None,Automatic,fun用什么方式画轴的刻度AxesOrigin->{x,y}坐标轴原点位置AxesStyle->{{xstyle},{ystyle}}设置轴线的线性颜色等属性Frame->True,False是否画边框FrameLabel->{xmlabel,ymlabel,xplabe l,yplabel}边框四边上的文字FrameTicks同Ticks边框上是否画刻度GridLines同Ticks图上是否画栅格线FrameStyle->{{xmstyle},{ymstyle}设置边框线的线性颜色等属性ListPlot[data,PlotJoined->True]把离散点按顺序连线PlotSytle->{{style1},{style2},..}曲线的线性颜色等属性PlotPoints->15曲线取样点,越大越细致三维作图Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}]二维函数f[x,y]的空间曲面Plot3D[{f,s},{x,xmin,xmax},{y,ymin,ymax}]同上,曲面的染色由s[x,y]值决定ListPlot3D[array]二维数据阵array的立体高度图ListPlot3D[array,shades]同上,曲面的染色由shades[数据]值决定ParametricPlot3D[{fx,fy,fz},{t,tmin,tmax}]二元数方程在参数变化范围内的曲线二元数方程在参数变化范围内的曲线ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},...},{t,tmin,tmax}]多条空间参数曲线选项:ViewPoint->{x,y,z}三维视点,默认为{1.3,-2.4,2}Boxed->True,False是否画三维长方体边框BoxRatios->{sx,sy,sz}三轴比例BoxStyle三维长方体边框线性颜色等属性Lighting->True是否染色LightSources->{s1,s2..}si为某一个光源si={{dx,dy,dz},color}color为灯色,向dx,dy,dz方向照射AmbientLight->颜色函数慢散射光的光源Mesh->True,False是否画曲面上与x,y轴平行的截面的截线MeshStyle截线线性颜色等属性MeshRange->{{xmin,xmax},{ymin,ymax}}网格范围ClipFill->Automatic,None,color,{bottom,top}指定图形顶部、底部超界后所画的颜色Shading->False,True是否染色HiddenSurface->True,False略去被遮住不显示部分的信息等高线ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}]二维函数f[x,y]在指定区间上的等高线图ListContourPlot[array]根据二维数组array数值画等高线选项:Contours->n画n条等高线Contours->{z1,z2,..}在zi处画等高线ContourShading->False是否用深浅染色ContourLines->True是否画等高线ContourStyle->{{style1},{style2},..}等高线线性颜色等属性FrameTicks同上密度图DensityPlot[f,{x,xmin,xmax},{y,ymin,ymax}]二维函数f[x,y]在指定区间上的密度图ListDensityPlot[array]同上图形显示Show[graphics,options]显示一组图形对象,options为选项设置Show[g1,g2...]在一个图上叠加显示一组图形对象GraphicsArray[{g1,g2,...}]在一个图上分块显示一组图形对象SelectionAnimate[notebook,t]把选中的notebook中的图画循环放映选项:(此处选项适用于全部图形函数)>选项:(此处选项适用于全部图形函数)Background->颜色函数指定绘图的背景颜色RotateLabel->True竖着写文字TextStyle此后输出文字的字体,颜色大小等ColorFunction->Hue等把其作用于某点的函数值上决定某点的颜色RenderAll->False是否对遮挡部分也染色MaxBend曲线、曲面最大弯曲度十四、绘图函数(续)图元函数Graphics[prim,options]prim为下面各种函数组成的表,表示一个二维图形对象Graphics3D[prim,options]prim为下面各种函数组成的表,表示一个三维图形对象SurfaceGraphics[array,shades]表示一个由array和shade决定的曲面对象ContourGraphics[array]表示一个由array决定的等高线图对象DensityGraphics[array]表示一个由array决定的密度图对象以上定义图形对象,可以进行对变量赋值,合并显示等操作,也可以存盘Point[p]p={x,y}或{x,y,z},在指定位置画点Line[{p1,p2,..}]经由pi点连线Rectangle[{xmin,ymin},{xmax,ymax}]画矩形Cuboid[{xmin,ymin,zmin},{xmax,ymax,z max}]由对角线指定的长方体Polygon[{p1,p2,..}]封闭多边形Circle[{x,y},r]画圆Circle[{x,y},{rx,ry}]画椭圆,rx,ry为半长短轴Circle[{x,y},r,{a1,a2}]从角度a1~a2的圆弧Disk[{x,y},r]填充的园、衷病⒃弧等参数同上Raster[array,ColorFunction->f]颜色栅格Text[expr,coords]在坐标coords上输出表达式PostScript["string"]直接用PostScript图元语言写Scaled[{x,y,..}]返回点的坐标,且均大于0小于1颜色函数(指定其后绘图的颜色)GrayLevel[level]灰度level为0~1间的实数RGBColor[red,green,blue]RGB颜色,均为0~1间的实数Hue[h,s,b]亮度,饱和度等,均为0~1间的实数CMYKColor[cyan,magenta,yellow,black]CMYK颜色其他函数(指定其后绘图的方式)Thickness[r]设置线宽为rPointSiz e[d]设置绘点的大小Dashing[{r1,r2,..}]虚线一个单元的间隔长度ImageSiz e->{x,y}显示图形大小(像素为单位)ImageResolution->r图形解析度r个dpi小(像素为单位)ImageResolution->r图形解析度r个dpiImageMargins->{{left,right},{bottom,top}}四边的空白ImageRotated->False是否旋转90度显示十五、流程控制分支If[condition,t,f]如果condition为True,执行t段,否则f段If[condition,t,f,u]同上,即非True又非False,则执行u段Which[test1,block1,test2,block2..]执行第一为True的testi对应的blockiSwitch[expr,form1,block1,form2,block2..]执行第一个expr所匹配的formi所对应的blocki段循环Do[expr,{imax}]重复执行expr imax次Do[expr,{i,imin,imax},{j,jmin,jmax},...]多重循环While[test,body]循环执行body直到test为FalseFor[start,test,incr,body]类似于C语言中的for,注意","与";"的用法相反examp:For[i=1;t=x,i^2<10,i++,t=t+i;Print[t]]异常控制Throw[value]停止计算,把value返回给最近一个Catch处理Throw[value,tag]同上,Catch[expr]计算expr,遇到Throw返回的值则停止Catch[expr,form]当Throw[value,tag]中Tag匹配form时停止其他控制Return[expr]从函数返回,返回值为exprReturn[]返回值NullBreak[]结束最近的一重循环Continue[]停止本次循环,进行下一次循环Goto[tag]无条件转向Label[Tag]处Label[tag]设置一个断点Check[expr,failexpr]计算expr,如果有出错信息产生,则返回failexpr的值Check[expr,failexpr,s1::t1,s2::t2,...]当特定信息产生时则返回failexpr CheckAbort[expr,failexpr]当产生abort信息时放回failexprInterrupt[]中断运行Abort[]中断运行TimeConstrained[expr,t]计算expr,当耗时超过t秒时终止MemoryConstrained[expr,b]计算expr,当耗用内存超过b字节时终止运算交互式控制Print[expr1,expr2,...]顺次输出expri的值examp:Print["X=",X//N,"",f[x+1]];Input[]产生一个输入对话框,返回所输入任意表达式Input["prompt"]同上,prompt为对话框的提示Pause[n]运行暂停n秒的提示Pause[n]运行暂停n秒十六、函数编程(*函数编程是Mathematica中很有特色也是最灵活的一部分,它充分体现了*) (*Mathematica的“一切都是表达式”的特点,如果你想使你的Mathematica程*) (*序快于高级语言,建议你把本部分搞通*)纯函数Function[body]或body&一个纯函数,建立了一组对应法则,作用到后面的表达达式? Function[x,body]单自变量纯函数Function[{x1,x2,...},body]多自变量纯函数#,#n纯函数的第一、第n个自变量##纯函数的所有自变量的序列examp:#1^#2&[2,3]返回第一个参数的第二个参数次方映射Map[f,expr]或f/@expr将f分别作用到expr第一层的每一个元上得到的列表Map[f,expr,level]将f分别作用到expr第level层的每一个元上Apply[f,expr]或f@@expr将expr的“头”换为fApply[f,expr,level]将expr第level层的“头”换为fMapAll[f,expr]或f//@expr把f作用到expr的每一层的每一个元上MapAt[f,expr,n]把f作用到expr的第n个元上MapAt[f,expr,{i,j,...}]把f作用到expr[[{i,j,...}]]元上MapIndexed[f,expr]类似MapAll,但都附加其映射元素的位置列表Scan[f,expr]按顺序分别将f作用于expr的每一个元Scan[f,expr,levelspec]同上,仅作用第level层的元素复合映射Nest[f,expr,n]返回n重复合函数f[f[...f[expr]...]]NestList[f,expr,n]返回0重到n重复合函数的列表{expr,f[expr],f[f[exprr]]..} FixedPoint[f,expr]将f复合作用于expr直到结果不再改变,即找到其不定点FixedPoint[f,expr,n]最多复合n次,如果不收敛则停止FixedPointList[f,expr]返回各次复合的结果列表FoldList[f,x,{a,b,..}]返回{x,f[x,a],f[f[x,a],b],..}Fold[f,x,list]返回FoldList[f,x,{a,b,..}]的最后一个元ComposeList[{f1,f2,..},x]返回{x,f1[x],f2[f1[x]],..}的复合函数列表Distribute[f[x1,x2,..]]f对加法的分配率Distribute[expr,g]对g的分配率Identity[expr]expr的全等变换Composition[f1,f2,..]组成复合纯函数f1[f2[..fn[]..]Operate[p,f[x,y]]返回p[f][x,y]br>Operate[p,f[x,y]]返回p[f][x,y]Through[p[f1,f2][x]]返回p[f1[x],f2[x]]Compile[{x1,x2,..},expr]编译一个函数,编译后运行速度可以大大加快Compile[{{x1,t1},{x2,t2}..},expr]同上,可以制定函数参数类型十七、替换规则lhs->rhs建立了一个规则,把lhs换为rhs,并求rhs的值lhs:>rhs同上,只是不立即求rhs的值,知道使用该规则时才求值Replace[expr,rules]把一组规则应用到expr上,只作用一次expr/.rules同上expr//.rules将规则rules不断作用到expr上,直到无法作用为止Dispatch[{lhs1->rhs1,lhs2->rhs2,...}]综合各个规则,产生一组优化的规则组十八、查询函数(*查询函数一般是检验表达式是否满足某些特殊形式,并返回True或False*) (*可以在Mathematica中用“?*Q”查询到*)ArgumentCountQ MatrixQAtomQ MemberQDigitQ NameQEllipticNomeQ NumberQEvenQ NumericQExactNumberQ OddQFreeQ OptionQHypergeometricPFQ OrderedQInexactNumberQ PartitionsQIntegerQ PolynomialQIntervalMemberQ PrimeQInverseEllipticNomeQ SameQLegendreQ StringMatchQLetterQ StringQLinkConnectedQ SyntaxQLinkReadyQ TrueQListQ UnsameQLowerCaseQ UpperCaseQMachineNumberQ ValueQMatchLocalNameQ VectorQMatchQ十九、字符串函数"text"一个串,头为_String"s1"<>"s2"<>..或StringJoin["s1","s2",..]串的连接StringLength["string"]串长度StringReverse["string"]串反转StringTake["string",n]取串的前n个字符的子串,参数同Take[]StringDrop["string",n]参见Drop,串也就是一个表StringInsert["string","snew",n]插入,参见Insert[]StringPosition["string","sub"]返回子串sub在string中起止字母位置StringReplace["string",{"s1"->"p1",..}]子串替换StringReplacePart["string","snew",{m,n}]把string第m~n个字母之间的替换为snew把string第m~n个字母之间的替换为snewStringToStream["string"]把串当作一个输入流赋予一个变量Characters["string"]把串"string"分解为每一个字符的表ToCharacterCode["string"]把串"string"分解为每一个字符ASCII值的表FromCharacterCode[n]ToCharacterCode的逆函数FromCharacterCode[{n1,n2,..}]ToCharacterCode的逆函数ToUpperCase[string]把串的大写形式ToLowerCase[string]把串的小写形式CharacterRange["c1","c2"]给出ASCII吗在c1到c2之间的字符列表ToString[expr]把表达式变为串的形式ToExpression[input]把一个串变为表达式Names["string"]与?string同,返回与string同名的变量列表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Mathematica函数大全一、运算符及特殊符号
Line1; 执行Line,不显示结果
Line1,line2 顺次执行Line1,2,并显示结果
?name 关于系统变量name的信息
??name 关于系统变量name的全部信息
!command 执行Dos命令
n! N的阶乘
!!filename 显示文件内容
<<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 建立替换规则
lhs->rhs 建立替换规则
expr//funname 相当于filename[expr]
expr/.rule 将规则rule应用于expr
expr//.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] 展开表达式
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的分母部分
TrigExpand[expr] 展开表达式中的三角函数TrigFactor[expr] 给出表达式中的三角函数因子TrigFactorList[expr] 给出表达式中的三角函数因子的表TrigReduce[expr] 对表达式中的三角函数化简TrigToExp[expr] 三角到指数的转化
ExpToTrig[expr] 指数到三角的转化
RootReduce[expr]
ToRadicals[expr]。

相关文档
最新文档