-
athematica
函数大全
--
运算符及特殊符号
一、运算符及特殊符号
Line1;
执行
Line
,不显示结果
Line1,line2
p>
顺次执行
Line1
,
2
,并显示结果
?name <
/p>
关于系统变量
name
的信息
??name
关于系统变量
< br>name
的全部信息
!command
执行
Dos
命令
n!
N
的阶乘
!!filename
显示文件内容
< Expr>> filename
打开文件写
Expr>>>filename
打开文件从文件末写
()
结合率
[]
函数
{}
一个表
<*Math Fun*>
在
c
语言中使用
math
的函数
< br>
(*Note*)
程序的注释
#n
第
n
个参数
##
所有参数
rule&
把
rule
作用于后面
的式子
%
前一次的输出
%%
倒数第二次的输出
%n
第
n
个输出
var::note
变量
var
p>
的注释
字符串
Context `
上下文
a+b
加
a-b
减
a*b
或
a b
乘
a/b
除
a^b
乘方
除
a^b
乘方
base^^num
以
base
p>
为进位的数
lhs&&rhs
且
lhs||rhs
或
!lha
非
++,--
自加
1
,自减
1
+=,-=,*=,/=
同
C
语言
>,<,>=,<=,==,!=
逻辑判断(同
c
)
lhs=rhs
立即赋值
lhs:=rhs
建立动态赋值
lhs:>rhs
建立替换规则
lhs->rhs
建立替换规则
expr//funname
相当于
filename[expr]
expr/.rule
将规则
p>
rule
应用于
expr
expr//.rule
将规则<
/p>
rule
不断应用于
expr
知道不变为止
param_
< br>名为
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]
多项式<
/p>
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]
展开
p>
expr
的分母部分
ExpandDenominator[expr]
展开
p>
expr
的分母部分
TrigExpand[expr]
展开表达式中的三角函数
TrigFactor[expr]
给出表达式中的三角函数因子
TrigFactorList[expr]
给出表达式中的三角函数因子的表
TrigReduce[expr]
对表达式中的三角函数化简
TrigToExp[expr]
三角到指数的转化
ExpToTrig[expr]
指数到三角的转化
RootReduce[expr]
ToRadicals[expr]
四、解方程
Solve[eqns, vars]
从方程组
eqns
中解出
vars
Solve[eqns, vars, elims]
从方程
组
eqns
中削去变量
elims,<
/p>
解出
vars
DSolve[eqn, y, x]
解微分方程,其中
p>
y
是
x
的函数
p>
DSolve[{eqn1,eqn2,...},{y1,y2
...},x]
解微分方程组,其中
yi
是
x
的函数
DSolve[eqn, y, {x1,x2...}]
解偏微分方程
Eliminate[eqns, vars]
把方程组
p>
eqns
中变量
vars
< br>约去
SolveAlways[eqns,
vars]
给出等式成立的所有参数满足的条件
Reduce[eqns, vars]
化简并给出所有可能解的条件
LogicalExpand[expr]
用
&&
和
||
将逻辑表达式展开
InverseFunction[f]
< br>求函数
f
的逆函数
Root[f, k]
求多项式函数的第
k
个根
Roots[lhs==rhs, var]
得到多项式方程的所有根
五、微积分函数
D[f, x] <
/p>
求
f[x]
的微分
D[f, {x, n}]
求
f
[x]
的
n
阶微分
D[f,x1,x2..]
求
f[x]
对
x1,x2...
偏微分<
/p>
Dt[f, x]
求
f[x]
的全微分
df/dx
Dt[f]
求
f[x]
的全微分
df
Dt[f, {x, n}]
n
阶全微分
df^n/dx^n
Dt[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
的极限<
/p>
Residue[expr, {x,x0}] expr
p>
在
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...}]
'
或
Der
ivative[n1,n2...][f]
一阶导数
InverseSeries[s, x]
给出逆函数的级数
ComposeSeries[serie1,serie2...]
给出两个基数的组合
SeriesD
ata[x,x0,{a0,a1,..},nmin,nmax,den]
表示一个在
x0
处
x
的幂
级数,其中
aii
为系数
O[x]^n n
阶小量
x^n
O[x, x0]^n
n
阶小量
(x-x0)^n
Dt[f, x]
求
f[x]
的全微分
df/dx
Dt[f]
求
f[x]
的全微分
df
Dt[f, {x, n}]
n
阶全微分
df^n/dx^n
Dt[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
的极限<
/p>
Residue[expr, {x,x0}] expr
p>
在
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...}]
'
或
Der
ivative[n1,n2...][f]
一阶导数
InverseSeries[s, x]
给出逆函数的级数
ComposeSeries[serie1,serie2...]
给出两个基数的组合
SeriesD
ata[x,x0,{a0,a1,..},nmin,nmax,den]
表示一个在
x0
处
x
的幂
级数,其中
ai
O[x]^n
n
阶小量
x^n
O[x, x0]^n
n
阶小量
(x-x0)^n
六、多项式函数
Variables[poly]
给出多项式
poly
中独立变量的列表
CoefficientList[poly, var]
给
出多项式
poly
中变量
var
的系数
CoefficientList[poly, {var1,var2...}]
p>
给出多项式
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...}]
< br>得到一个表
{{a1,a2,...},b}
其中
Sum[ai*polyi]+b=poly
Resultant[poly1,poly2,var]
约
去
poly1,poly2
中的
var
Factor[poly]
因式分解(在整式范围内)
FactorTerms[poly]
提出
< br>poly
中的数字公因子
FactorTerms[poly, {x1,x2...}]
提出
poly
中与
xi
无关项的数字公因子
FactorList[poly]
给出
poly
各个因子及其指数
{{
poly1,exp1},{...}...}
FactorSquareFreeList[poly]
FactorTermsList[poly,{x1,x2...}]
给出各个因式列表,第一项是数字公
因子,第二项是与
xi
无关的因式,其后是与
< br>xi
有关的因式按升幂的排排
?
Cyclotomic[n, x]
n
阶柱函数
Decompose[poly, x]
迭代分解,给出
p>
{p1,p2,...},
其中
p1(p2
(...))=poly
InterpolatingPolynomial[data, var]
在数据
data
上的插值多项式
data
可以写为
{f1,
f2..}
相当于
{{x1=1,y1=f1}..}
data
可以写为
< br>{{x1,f1,df11,df12,..},{x2,f2,df21..}
可以指定数据点上的
n
阶导数值
RootSum[f, form] <
/p>
得到
f[x]=0
的所有根,并求得
p>
Sum[form[xi]]
七、随机函数
Random[type,range]
产生
type
类型且在
range
范围内的均匀分布随机数
type
可
以为
Integer,Real,Complex,
不写默认为
Real
range
为
{min,max}
,不写默认为
{0,1}
Random[] 0
~
1
上的随机实数
SeedRandom[n]
以
n<
/p>
为
seed
产生伪随机数
如果采用了
<
在
2.0
版本为
<<
p>
Random[distribution]
可以产生各种分布如<
/p>
Random[BetaDistribution[alpha, beta]]
stribution[alpha, beta]]
Random[NormalDistribution[m
iu,sigma]]
等
常用的分布如
BetaDistri
bution,CauchyDistribution,ChiDistribution,
NoncentralChiSquareDistribu
tion,ExponentialDistribution,
< br>ExtremeValueDistribution,NoncentralFRatioDistri bution,
GammaDistribution,H
alfNormalDistribution, LaplaceDistribution,
LogNormalDistribution,Logis
ticDistribution,
RayleighDi
stribution,NoncentralStudentTDistribution,
UniformDistribution,
WeibullDistribution
八、数值函数
N[expr]
表达式的机器精度近似值
N[expr, n]
表达式的
n<
/p>
位近似值,
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..
取值
< br>
ConstrainedMax[f, {inequ}, {x,
y,..}]
同上
LinearProgramming[c,m,b]
解线性
组合
c.x
在
m.x>=b&&x>=
0
约束下的
最小值,
x,b,c
为向量
,m
为矩阵
LatticeReduce[{v1,v2...}] <
/p>
向量组
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]
< br>对数据进行差值
,
data
同上,另外还可以为
{{x1,{f1,df11,df12}
},{x2,{f2,.}..}
指定各阶导数
InterpolationOrder
默认为
3<
/p>
次,可修改
ListInterpol
ation[array]
对离散数据插值,
array
可为
n
维
ListInterpolation[array,{{xmin,xmax},{ymin,
ymax},..}]
FunctionInterpol
ation[expr,{x,xmin,xmax}, {y,ymin,ymax},..]
以对应
expr[xi,yi]
p>
的为数据进行插值
Fourier[list]
对复数数据进行付氏变换
InverseFourier[list]
对复数数据进行付氏逆变换
Min[
{x1,x2...},{y1,y2,...}]
得到每个表中的最小值
Max[{x1,x2...},{y1,y2,...}]
得到每个表中的最大值
Select[list,
crit]
将表中使得
crit
为<
/p>
True
的元素选择出来
Count[list, pattern]
将表中匹配模式
pattern
的元素的个数
Sort[list]
将表中元素按升序排列
Sort[list,p]
将表中元素按
p[e1,e2]
为
True
的顺
序比较
list
的任两个元素
p>
e1,e2,
实际上
Sort[list]
中默认
p=Greater
集合论:
Union[list1,list2..]
表
listi
的并集并排序
Intersection[list1,list2..]
表
listi
的交集并排序
Complement[listall,list1,list2...]
从全集
listall
中对
lis
ti
的差集
九、虚数函数
Re[expr]
复数表达式的实部
Im[expr]
复数表达式的虚部
Abs[expr]
复数表达式的模
Arg[expr]
复数表达式的辐角
Conjugate[expr]
复数表达式的共轭
十、数的头及模式及其他操作
Integer _Integer
整数
Real _Real
实数
Complex
_Complex
复数
Rational_Rational
有理数
(*
注:模式用在函数参数传递中,如
MyFun[Para1_Integer,Para
2_Real]
规定传入参数的类型,另外也可用来判断<
/p>
If[Head[a]==Real,...]*)
IntegerDigits[n,b,len]
数字
n
以
b
近制的前
p>
len
个码元
RealDigits[x,b,len]
类上
FromDigits[list]
IntegerDigits
的反函数
Rationalize[x,dx]
把实数
x
有理化成有理数,误差小于
dx
Chop[expr, delta]
将
expr
中小于
delta
p>
的部分去掉
,dx
默认为
< br>10^-10
Accuracy[x]
给出
x
小数部分位数
,<
/p>
对于
Pi,E
等为无限大
Precision[x]
给出
< br>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]
p>
区间
2
在区间
1<
/p>
内吗?
IntervalUnion[intv1,intv2...]
区间的并
IntervalIntersection[intv1,intv2...]
区间的交
十二、矩阵操作
a.b.c
或
Dot[a, b, c]
矩阵、向量、张量的点积
Inverse[m]
矩阵的逆
Transpose[list]
矩阵的转置
Transpose[l
ist,{n1,n2..}]
将矩阵
list
第
k
行与第
nk
列交换
Det[m]
矩阵的行列式
Eigenvalues[m]
特征值
Eigenvectors[m]
特征向量
特征值
Eigenvectors[m]
特征向量
Eigensystem[m]
特征系统,返回
{eigvalues,eigvectors}
LinearSolve[m, b]
解线性方程组
m.x==b
NullSpace[m]
矩阵
m<
/p>
的零空间,即
ace[m]==
零向量<
/p>
RowReduce[m]
m
化简为阶梯矩阵
Minors[m, k] m
的所有
k*k
阶子矩阵的行列式的值
(
伴随阵
,好像是
)
MatrixPower[mat, n]
阵
mat
自乘
n
次
Outer[f,list1,list2..] listi
中各个元之间相互组合,并作为
f
的参数的到的矩
矩
?
Outer[Times,list1,list2]<
/p>
给出矩阵的外积
SingularValues[m]
m
的奇异值,结果为
{u,w,v},
m=Conjugate[Transpose[u]].D
iagonalMatrix[w].v
PseudoInverse[m]
m
的广义逆
QRDecomposition[m]
QR
分解
SchurDecomposition[m]
Schur
分解
LUDecomposition[m]
LU
分解
十三、表函数
(*
< br>“表”
,我认为是
Mathematica
中最灵活的一种数据类型
*)
(*
实际上表就是表达式,表达式也
就是表,所以下面
list==expr *)
(*
一个表中元素的位置可以用于一个表来表示
*)
表的生成
{e1,e2,...}
一个表,元素可以为任意表达式,无穷嵌套
Table[expr,{imax}]
生成一个表,共
p>
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
从
p>
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
< br>的元素值
Take[list, n]
取出表
list
前
n
个元组成的表
Take[list,{m,n}]
取出表
< br>list
从
m
到
n
的元素组成的表
Drop[list, n]
去掉表
list
前
n
个元剩下的表,其他参数
同上
Rest[expr]
去掉表
list
第一个元剩下的表
Select[list, crit]
把
< br>crit
作用到每一个
list
的元上,
为
True
的所有元组成的表