-
第
8
章
Mathematica
中的常用函数
8.1 
运算符及特殊符号
Linel 
 
 
 
 
 
 
 
 
 
 
 
 
 
执行<
/p>
Line
,不显示结果
Linel,line2 
 
 
 
 
 
 
 
 
 
顺次执行
Line1
,
Line2
,并显示结果
 
?name 
 
 
 
 
 
 
 
 
 
 
 
关于系统变量
name
的信息
 
??name
 
 
 
 
 
 
 
 
 
 
 
关于系统变量
name
的全部信息
!command 
 
 
 
 
 
 
 
 
执行
Dos
命令
 
N! 
 
 
 
 
 
 
 
 
 
 
 
 
 
N
的阶乘
!!filename 
 
 
 
 
 
 
 
 
显示文件内容
 <
br>,… 中 中   <
br>x 
<
 
 
 
 
 
 
 
读入文件并执行
Expr
:
>>filename
 
 
 
 
打开文件写
Expr>>>filename 
 
 
 
打开文件从文件末写
 
( ) 
 
 
 
 
 
 
 
 
 
 
 
 
 
结合率
 
[ ] 
 
 
 
 
 
 
 
 
 
 
 
 
函数
 
{ }
 
 
 
 
 
 
 
 
 
 
 
 
 
一个表
<*MathFun*> 
 
 
 
 
 
 
在
c
p>
语言中使用
math
的函数
 
 
(*Note*) 
 
 
 
 
 
 
 
程序的注释
 
#n
 
 
 
 
 
 
 
 
 
 
 
 
第
n
今参数
## 
 
 
 
 
 
 
 
 
 
 
 
 
 
所有参数
Rule& 
 
 
 
 
 
 
 
 
 
 
 
p>
把
rule
作用于后面的式子
 
% 
 
 
 
 
 
 
 
 
 
 
 
 
前一次的输出
 
%%
 
 
 
 
 
 
 
 
 
 
 
 
倒数第二次的输出
Var::mote 
 
 
 
 
 
 
 
 
变量
var
的注释
“
Astring”
 
 
 
 
 
 
 
 
字符串
Context 
 
 
 
 
 
 
 
 
 
上下文
A+b 
 
 
 
 
 
 
 
 
 
 
 
加
 
a-b 
 
 
 
 
 
 
 
 
 
 
 
减
A*b
或
ab
 
 
 
 
 
 
 
 
乘
 
A/b 
 
 
 
 
 
 
 
 
 
 
 
除
 
 
8.2
系统常量
 
Pi
 
 
 
 
 
 
 
 
 
 
 
 
3.1415
的无限精度数值
E 
 
 
 
 
 
 
 
 
 
 
 
2.17828
的无限精度数值
Catalan 
 
 
 
 
 
 
 
 
0
.
915
966Catalan
常数
EulerGamma 
 
 
 
 
 
0
.
577
2Euler
常数
 
Khinchin
 
 
 
 
 
 
 
2
.
68545Khinchin
Glaisher 
 
 
 
 
 
 
 
0
.
915966Glaisher
GoldenRatio 
 
 
 
 
 
1
.
618
03
黄金分割数
 
Degree
 
 
 
 
 
 
 
 
 
π
p>
/l80
角度弧度换算
I 
 
 
 
 
 
 
 
 
 
 
 
 
复数单位
Infinity 
 
 
 
 
 
 
 
 
无穷大
-
Infinity 
 
 
 
 
 
 
 
 
负无穷大
Complexlnfinity 
 
 
 
复无穷大
Indeterminate 
 
 
 
 
 
不定式
 
8.3 
代数计算
Expand[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
展开表达式
Factor[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
展开表达式
Simplify[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
化简表达式
FullSimplify[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
 
将特殊函数也进行化简
PowerExpand[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
 
展开所有的幂次形式
 
ComplexExpand[expr,{x1
,
x2
…
}] 
 
 
 
按复数实部虚部展开
FunctionExpand[expr] 
 
 
 
 
 
 
 
 
 
 
化简表达式中的特殊函数
 
Collect[expr,x] 
 
 
 
 
 
 
 
 
 
 
 
 
合并同次项
 
 
Collect[expr,{x1
,
x2
}] 
 
 
 
 
 
p>
合并
x1
,
x2,
...
的同次项
 
Together[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
通分
 
Apart[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
部分分式展开
 
Apart[expr,var] 
 
 
 
 
 
 
 
 
 
 
 
 
对
p>
var
的部分分式展开
 
Cancel[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
 
约分
 
ExpandAll[expr] 
 
 
 
 
 
 
 
 
 
 
 
展开表达式
 
ExpandAll[expr,patt] 
 
 
 
 
 
 
 
展开表达式
 
FactorTermsrpoly] 
 
 
 
 
 
 
 
 
 
提出共有的数字因子
 
 
FactorTerms[poly
,
x]
 
 
 
 
 
 
 
提出与
x
无
关的数字因子
 
FactorTerms[poly,(x1,x2…)] 
 
 
 
提出与
xi
无关的数字因子
 
Coefficient[expr,form]
 
 
 
 
 
 
 
多项式
expr
form
的系数
 
Coefficient[expr,form
,
n] 
 
 
 
 
 
p>
多项式
expr
中
form^n
的系数
 
Exponent[expr,form] 
 
 
 
 
 
 
 
表达式
expr
form
的最高指数
 
Numerator[expr] 
 
 
 
 
 
 
 
 
 
 
p>
表达式
expr
的分子
 
Denominator[expr]
 
 
 
 
 
 
 
 
 
表达式
expr
的分母
 
ExpandNumerator[expr]
 
 
 
 
 
 
展开<
/p>
expr
的分子部分
 
 
8.4
解方程
Solve[eqns,vats] 
 
 
 
 
 
 
 
 
 
从方程
组
eqns
中解出
Vats
Solve[eqns,vats,elims] 
 
 
 
 
 
从方程组
eqns
中削去变量
elims
,解出
vats 
DSolve[eqn,y,x]
 
 
 
 
 
 
 
 
 
 
p>
解微分方程,其中、
y
是
的函数
 
DSolve[{e
qnl,eqn2,
…
}
,
{y1
,
y2
…
},] 
 
 
 
 
解微分方程组,其中
yi
是
x
的函数
DSolve[eqn,y,{x1,x2…}]
 
 
 
 
 
 
 
 
 
 
 
 
解偏微分方程
 
Eliminate[
eqns
,
Vats] 
 
 
 
 
 
 
 
 
 
 
 
 
 
把方程组
eqns
< br>中变量
vars
约去
 
SolveAlways[eqns
,
vars
] 
 
 
 
 
 
 
 
 
给出等式成立的所有参数满足的条件
Reduce[eqns
,
Vats]
 
 
 
 
 
 
 
 
 
 
 
化简并给出所有可能解的条件
LogicalExpand[expr] 
 
 
 
 
 
 
 
 
 
 
用
&&
和,
,将逻辑表达式展开
InverseFunction[f] 
 
 
 
 
 
 
 
 
 
 
 
 
求函数
f
的反函数
Root[f,k] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
p>
求多项式函数的第
k
个根
< br>
Roots[1hs==rhs
,
var]
 
 
 
 
 
 
 
 
 
得到多项式方程的所有根
 
8.5
微积分
 
D[f,x]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
p>
求
f[x]
的微分
D[f,{x
,
n}]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
求
p>
f[x]
的
n
阶微
分
 
 
D[f,x1,x2…]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
求
f[x
]x1,x2
…偏微分
 
Dt[f,x] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
求
f[x
]
的全微分
df/dx 
Dt(f) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
求
p>
f[x]
的全微分
df
 
Dt[f,{x,n}] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
n
阶全微分
d^nf/dx^n
 
Dt[f,x1,x2..] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
对
x1,
x2..
的偏微分
 
Integrate[f,x] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
p>
f[x]
对
x
在的
不定积分
 
 
Integrate[f
,{x
,
xmin
,
< br>xmax}]
 
 
 
f[x]
对
x
在区间
(xmin,xmax)
的定
积分
 
 
Integrate[f,{
x
,
xmin
,
xmax},{y,ymin,ymax}] 
f[x,y]
的二重积分
 
Limit[expr,x->x0]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
p>
x
趋近于
x0
时<
/p>
expr
的极限
 
Residue[expr,{x,x0}]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
expr
在
x0
处的留数
 
Series[f,{x,x0,n}] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
给出<
/p>
f[x]
在
x0
处的幂级数展开
 
 
Series[f
,{x
,
x0,nx}
,
{y
,
y0
,
ny}] 
 
 
 
 
 
 
先对
y
幂级
数展开,再对
x
幂级数展开
 
Normal[expr] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
化简并给出最常见的表达式
 
 
SeriesCoefficient[series
,
n] 
 
 
 
 
 
 
 
 
 
 
 
 
给出级数中第
n
次项的系数
 
SeriesCoefficient[series,{n1,n2…}]
 
 
 
 
 
 
 
 
一阶导数
 
InverseSeries[s,x]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
给出逆函数的级数
 
ComposeSeries[seriel,serie2…]
 
 
 
 
 
 
 
 
 
 
给出两个基数的组合
 
SeriesData[x,x0,{a0,a1,..},
nmin,nmax,den] 
 
 
表示一个
x0
处
x
的幂级数
 
O[x]^n 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
n
阶小量
x^n
 
8.6
多项式函数
Variables[poly] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
给出多项式
poly
中独立变量的列表
CoefficientList[poly,var] 
 
 
 
 
 
 
 
 
 
给出多
项式
poly
中变量
var
的系数
 
CoefficientList[po
ly,{varl,var2…}]
 
 
 
 
给出多
项式
poly
中变量
var(i)
p>
的系数列
PolynomialMod[poly,m] 
 
 
 
poly
中各系数
mod m
同余后得到的多项式,
m
可为整式
 
PolynomialQuotient[p,q,x]
 
 
 
 
 
 
 
 
以
x
p>
为自变量的两个多项式之商式
p/
PolynomialRemainder[p,q,x] 
 
 
 
 
 
 
以
p>
x
为自变量的两个多项式之余式
P01ynomialGCD[polyl,poly2,...]
 
 
 
poly(i)
的最大公因式
 
PolynomialLCM[polyl,poly2
.
.
.
.
]
 
 
poly(i)
的最小公倍式
 
PolynomialReduce[pjoly
,
< br>{polyl,Poly2,..}
,
{xl,x2
p>
…
}) 
得到一个表
I(a1
,
a2
,
< br>·
)
,
b)
其中
Sumld*polyi]+b=poly
Resultant[polyl,poly2,var] 
 
 
 
 
 
 
 
 
约去
po
lyl,poly2
中的
var
Factor[poly] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
p>
因式分解
(
在整式范围内
< br>)
FactorTerms[poly] 
 
 
 
 
 
 
 
 
 
 
 
 
 
p>
提出
poly
中的数字公因子
 
FactorTerms[poly,{x1
,<
/p>
x2
…
}] 
 
 
 
 
 
提出
po
ly
中与
xi
无关项的数字公因子
p>
 
FactorList[poly]
,<
/p>
FactorSquareFreeList[poly]
,
p>
FactorTermsList[poly,{x1
,
x2
…
}]
给出各
个因式列表
Cyclotomic[n,x] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
n
阶柱函数
Decomposet[poly,x] 
 
 
 
 
 
 
 
 
 
 
 
迭代分解,给出
< br>{p1,p2,...}
,其中
P1(p2(
…
))=poly 
InterpolafinS
Polynomial[data
,
Var]
 
 
 
 
p>
在数据
data
上的插值多项式
RootSum[f,form] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
得到
f[
x]=0
的所有根,并求得
Sum[form[xi]]
 
8.7
随机函数
Random[type,range] 
 
 
 
 
产生
type
类型且在
range
范围内的均匀分布随机数
 
 
Random[] 
 
 
 
 
 
 
 
 
 
 
0-1
上的随机实数
 
SeedRandom[n] 
 
 
 
 
 
 
 
以
n
为
p>
seed
产生伪随机数
 
Random[distribution]
 
 
 
 
可以产生各种分布
 
8.8
数值函数
 
N[expr]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
表达式的机器精度近似值
 
N[expr,n] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
p>
表达式的
n
位近似值,
n
为任意正整数
 
 
NSolve[1hs
==
rhs
< br>,
val] 
 
 
 
 
 
求方程数值解
Nsolve[eqn
,
Var,
n] 
 
 
 
 
 
 
 
求方程数值解,结果精度到
n
位
 
 
NDSolv
e[eqns
,
y
,
< br>{x
,
xmin
,
xmax}] 
 
 
 
 
 
 
 
 
 
 
 
微分方程数值解
 
 
< br>NDSolve[eqns
,
{y1
,
y2
,
…}
,
{x
,
xmin
,
xmax}] 
 
 
微分方程组数值解
 
 
FindRoot[1hs
==
rhs
,
{x,x0}] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
以
x0<
/p>
为初值,寻找方程数值解
 
 
FindRoot[1hs
==
rhs
,
{x
,
xstart<
/p>
,
xmin
,
x
max}] 
 
 
 
< br>以
xstart
为初值,在
[x
min,xmax]
范围
内寻找方程数值解
 
NSum[f,{imin,imax
,
di}] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
p>
数值求和,
di
为步长
 
NSum[f,{imin,imax
,
di},{jmin,jmax,dj},..] 
 
 
多维函数求和
 
NProduct[f,{i,imin,imax,di}]
 
 
 
 
 
 
 
 
 
 
 
 
函数求积
 
 
NIntegrate[f
,
{x,xmin,xmax}]
 
 
 
 
 
 
 
 
 
 
 
函数数值积分
 
 
FindMinimum[f
,
{x,x0}]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
以
x0<
/p>
为初值,寻找函数最小值
 
FindMi
nimum[f
,
{x
,
xstart
,
xmin
,
xmax}] 
 
 
< br>以
xstart
为初值,在
[x
min,xmax]
范围内
寻找函数最小值
ConstrainedMin[f,{inequ}
,
{x
,
y
,<
/p>
..}] 
 
 
 
 
inequ
为线性不等式组,
f
为
x,y
,…
之线性
函数,得到最小值及此时的
x,y
,…
取值
 <
/p>
ConstrainedMax[f
,
{
inequ}
,
{x
,
y
,
..}] 
 
 
 
ine
qu
为线性不等式组,
f
为
x,y
,…
之线性
函数,
得到最大值及此时的
x,y
,…
取值<
/p>
 
LinearProgramming[C
,
m
,
b]
 
 
 
 
 
 
 
 
 
 
 
解线性组合
C*x
在
m*x>=b&&x>=0
约束
下的最小值,
x,b,C
为向量,
m
为矩阵
 
LatticeReduce[{v1,v2...}] 
 
 
 
 
 
 
 
 
 
 
 
 
 
向量组
Vi
的极小无关组
 
Fit[data,funs,vats] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
用指定函数组对数据进行最小二乘拟合
 
Interpolation[data]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
对数据进行插值
 
Lisfinterpolation[array] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
对离散数据插值,
array
可为
n
维
 
 
ListInterpolafion[a
rray,{{xmin,xmax}
,
{min,ymax}
,..}] 
 
 
 
 
 
在特定网格上进行插值
 
 
FunctionInterpolation[expr,{x,xmin,xmax}
,
{y,ymin,ymax},..] 
 
 
以对应
e
xpr[xi,yi]
的数值
为数据进行插值
< br>
 
Fourier[list]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
对复数数据进行傅氏变换
 
InverseFourier[list] 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
对复数数据进行傅氏逆变换