MATLAB常用函数2
Mathmatica 中
的常用函数
Mathmatica 提供的数学常数:
Pi 圆周率E 自然对数的底e I 虚数单位Infinity 无限大∞-Infinity 负无限大-∞ComplexInfinity 复平面上的无穷远点Binomia[n,m]二项式系数
表1Mathematica 中的常用函数
表达式Abs[expr]ArcCos[expr]
用
途
表达式Gamma[expr]Im[expr]Log[expr]Max[el,…en]Min[el,…en]Mod[m,n]Random[]Re[expr]Sec[expr]Sech[expr]Sign[expr]Sin[expr]Sinh[expr]Sqrt[expr]Tan[expr]Tanh[expr]Zeta[expr]
用
等等
途
计算表达式的绝对值计算表达式的反三角余弦
计算表达式的伽玛函数
值计算复表达式的虚部计算表达式的对数函数
值给出n 个表达式的最大值给出n 个表达式的最小值计算两个整数余模产生一个伪随机数计算复表达式的实部计算表达式的三角余割计算表达式的双曲余割计算表达式的符号计算表达式的三角正弦计算表达式的双曲正弦计算表达式的平方根计算表达式的三角正切计算表达式的双曲正切计算表达式的Zeta 函数
ArcCosh[expr]计算表达式的反双曲余弦ArcSin[expr]ArcSinh[expr]ArcTan[expr]Arc[expr]Bessell[expr]Beta[expr]Conjugate[ep]Cos[expr]Cosh[expr]Cot[expr]Coth[expr]Erf[expr]Exp[expr]
计算表达式的反三角正弦计算表达式的反双曲正弦计算表达式的反三角正切计算表达式的幅角计算表达式的贝塞尔函数
值计算表达式的Beta 函值计算表达式的长时复共
值计算表达式的三角余弦计算表达式的双曲余弦计算表达式的三角余切计算表达式的双曲余切计算表达式的误差函数计算表达式的指数函数
ArcTanh[expr]计算表达式的反双曲正切
表2关于集合元素的常用函数
表达式用途表达式用途
Part[set,{i,j,…}]
Part[set,i]或者取集合中的第i 个得到由集合set 中i,j,…
或者
set[i]元素个元素组成的集合
Set[[{i,j,…}]]
Part[set,i]=value给集合set 的第I 个或者set[i]=value元素重新赋值
表3Mathematica 常用的多项式运算
运
Expand[poly]Factor[poly]FactorTerm[poly]GCD[poly1,poly2,…]PolynomialQuotient[p,q,x]PolynomialRemainder[p,q,x]Resultant[poly1,poly2,x]
算
符
运
把多项式展开对多项式进行因式分解提取公因式
计算多项式poly1,poly2
最大公因子
算
结
果
Coefficient[poly,expr]
提取多项式poly 中表达式expr 的系数
计算多项式p/q的商,略去余项*计算多项式p/q的余项*
计算多项式poly1, poly2.. 的预解式*
项式中可能包含的其它变量。
表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,
NRoots[equ,Roots[equ,
x]x]
常用的几种求解方程的输入方式
注
a]
释
求出在a 附近一般方程的数值解求出一元代数方程的数值解求出一元代数方程的解(逻辑表达形式)
对指定变量求联立方程的解对全部变量求联立方程的解
输出形式转化
x]
讨论方程所有可能的解
Solve[{equl,…equn},{xl,…xn}]Solve[{equl,equ2…equn}]
ToRules[%]Reduce[equ,
表6Mathematica 常用微积分运算
输入形式注释计算表达式对x 的一阶导数,并指出{y1,y2}]y1,y2是x 的函数
计算表达式的二重积分{y,y1,y2}
Protect [Integrate]设置积分写保护表7矩阵的输入和裁剪方法
有时需要从一个矩阵中抽出一些行和列,甚至子矩阵,我们称这种运算为矩陈的
裁剪。
输入形式
eln},..{em1,em2..emn}]T=Table[f,{i,m},{j,n}]T=Array[f,{i,m},{j,n}]MatrixForm[t]
t=DiagonaMatrix[{e1,e2…en}]t=IdentityMatrix[{n}]t=Table[0,{m},{n}]
t=Table[If[{I>=j,f,0],{I,m},{j,n}]
解
释
输入m ×n 的矩阵t, 其中e i j 为数值或表达式
输入m ×n 的矩阵t ,其中f 为i, j 的函数输入m ×n 的矩阵t ,其元素为f (i,j) 显示矩阵t 的方阵形式
输入n 阶对角矩阵t ,其元素为e1, …en输入一个名为t 的n 阶单位矩阵输入一个名为t 的m ×n 阶的零矩阵输入m ×n 阶下三角矩阵。元素f 为I ,j 的函数
t=Table[If[{I
表8
输入形式M[[i,j]]M[[i ]]Map[#[[i]]&,M]M[[{i1,…,ir},{j1,…,js}]M[[{Range[i0,i1],
Range[j0,j1]}]
Mathematica 提供的矩阵剪裁运算
解
释
j )
取出矩阵M 的元素M (i, 取出矩阵M 的第i 行取出矩阵M 的第i 列
表9
输入形式
c.M u.v M.v M.P
Outer[Times,M, N]Transpose[M]Inverse[M]Det[\M]Minors[M,K]Sum[M[i,i]],{i,n}LinearSolver[M,w]NullSpace[M]Eigenvalues[M]Eigensystems[M]QRDecomposition[M]SchurDecomposition[M]Chop[%n]
取出矩阵M 的一个r ×s 的子矩阵,
它由i1…ir行和j1…js列相交处的元素构成
取出矩阵M 的一个r ×s 的子矩阵,
它由i0-i1行和j0-j1列相交处的元素构成
Mathematica 中常用矩阵运算
解
常数乘矩阵向量内积矩阵乘向量矩阵相乘
矩阵的Kronneker 积求矩阵的转置求矩阵的逆矩阵求矩阵的行列式
求矩阵所有可能的k ×k 子式求矩阵的迹,其中n 为矩阵的尺寸求解线性方程组M*x=w求矩阵M 的化零子空间的基求数字矩阵M 的特征值求数字矩阵M 的特征向量求数字矩阵M 的特征值和特征向量求数字矩阵M 的QR 分解
舍去第n 个输出语句中无实际意义的小量
释
表10
LinearSolve[m,b]NullSpace[m]RowReduce[m]
Mathematica 中解线性方程组的函数
给出方程组m.x=b的解向量x 给出满足m.x=0的一组基向量得到经过行化简后的简化形式
表11Mathematica 中常用数值算法
输
ff=table[N[f[x]]],{x,n}fp=Fit[ff,{f1,…fn},
x]入
形
式
解
释
输入名为ff 的拟合函数表,变量x 在区间[0,n ]上,间距为1建立名为fp 的拟合函数,它由f1…fn的线性组合形成,拟合变量是x
多项式拟合的简单输入形式输入名ff 的二元拟合函数表,变量x 在区间[x1,x2]上,间距为dx ,变量y 在区间[y1,y2]上,间距为dy
建立名为fp 的拟合函数,它由f1…fn的线性组合形成,拟合变量是x, y
输入名为ff 的插值函数表,建立名为fp 的拉格朗插值多项式
用牛顿法求方程在0附近的解
fp=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]
fp=Fie[ff,{f1,f2…fn},{x,y}]ff={{x1,y1},{x2,y2},…{xn,yn}}fp=InterpolatingPolyncmial[%,x]FindRoot[f[x]=0,{x,x0}]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]ConstrainedMin[c,x,{inequ1,inequ2},{x1,x2,…xn}]FindMinimum[f[x],{x,x0}]
计算一元定积分计算复变函数回路积分计算二元定积分
求满足M, x ≥b, x ≥0并min c. x 的x
求满足不等式inequ1, iniequ2…并Min c,x 的x 和目标函数值
求函数f(x)在x0附近的局部极小值
表12画图中的特别说明部分摘要
输入形式PlotRange->{y0,y1}PlotLabel->“图名”AxesLabel->“名1,名2”Frame->“True”PlotPoint->数字PlotColor->“True”
解释缺省值
指定函数因变量的区间是否给图形加上名字是否给座标轴加上名字给图形加上图框画图时计算函数的点数产生彩色图
计算的结果无无不加25不产生
表13绘制函数图形常用的输入形式
输入形式解释
画出参数形式给出的函数图象
{特别说明1,特别说明2,…}]
画出几个普通形式给出的函数图象
说明1,特别说明2,….}]
Show[{f1,f2…fn},{特别说明2,…}]PlotList[{y1,y2,…yn}]
PlotList[{x1,y1},{x2,y2},…{xn,yn}]
显示几个已经画出的函数图像
画出表形式给出的函数图像(横座标为整数)
画出表形式给出的函数图象
表14
输入形式Mathematica 三维绘图的特别说明项
缺省值解
释
All
PloRange->{zmin,zmax}
{xmin,xmax},{ymin,Automatic ymax},
{zmin,zmax}Framed->TrueFalse PlotPoints->0}
2}
ViewPoint->-2,-2}-2, 0}0}
2}
{0,-2, {0,{-2,{2,-2, {0,0,
{1.3,-2.4, 2}15
只绘制指定范围内的部分图形
添加图形标题添加图框
计算f(x,y) 时在x, y 方向上曲的点数
视点为正前方视点为上前方视点为下前方视点为左手方视点为右手方视点为正上方
是否把x ,y 平面上的网格画在曲
Mesh->FalseTrue
面上
HiddenSurface->FalseTrue 是否把曲面隐藏部分屏蔽起来
表15绘制三维图形Mathematica 的输入方法
输
入
形
式
解
释
绘制函数z=f(x,y) 在
Plot3D[f[x,y],{x,xmin, xmax},{y,
xmin ≤x ≤xmax, ymin ≤y ≤ymax
ymin, ymax},{特别说明}]
范围内的三维图形
显示已经绘制好的图形,按特别说明加以修
Show[图形名,特别说明]
改
绘制函数z=f(x,y) 在
ContourPlot[f[x,y],{x,xmin,
xmin ≤x ≤xmax, ymin ≤y ≤ymax
xmax},{y,ymin, ymax}]
范围内的等高线图绘制函数z=f(x,y) 在
DensityPlot[f[x,y],{x,xmin,
xmin ≤x ≤xmax, ymin ≤y ≤ymax
xmax},{y,ymin, ymax}]
范围内的密度图