Mathematica函数大全

2023-11-20

一、运算符及特殊符号


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]


四、解方程


Solve[eqns, vars] 从方程组eqns 中解出vars
Solve[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/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 的极限
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 的幂级数,其中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...}]给出多项式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 中的var
Factor[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,不写默认为Real
range 为{min,max},不写默认为{0,1}
Random[] 0~1 上的随机实数
SeedRandom[n] 以n 为seed 产生伪随机数
如果采用了 <<Statistics`ContinuousDistributions`后
在 2.0 版本为 <<"D:\\Math\\PACKAGES\\STATISTI\\Continuo.m"
Random[distribution]可以产生各种分布如
Random[BetaDistribution[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[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,...}]得到每个表中的最小值
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 有理化成有理数,误差小于dx
Chop[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}],x
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==b
NullSpace[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].v
PseudoInverse[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 元前插入elem
Insert[expr,elem,{i,j,..}]在元素expr[[{i,j,..}]]前插入elem
  Delete[expr, {i, j,..}] 删除元素expr[[{i,j,..}]]后剩下的表
DeleteCases[expr,pattern]删除匹配pattern 的所有元后剩下的表
ReplacePart[expr,new,n] 将expr 的第n 元替换为new
Sort[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]]处的子表抹平
Permutations[list] 由list 的元素组成的所有全排列的列表
Order[expr1,expr2] 如果expr1 在expr2 之前返回1,如果expr1 在
expr2 之后返回-1,如果expr1 与expr2 全等返回0
Signature[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,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,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] 设置线宽为r
PointSize[d] 设置绘点的大小
Dashing[{r1,r2,..}] 虚线一个单元的间隔长度
ImageSize->{x, y} 显示图形大小(像素为单位)
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 对应的blocki
Switch[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 为False
For[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] 从函数返回,返回值为expr
Return[ ] 返回值Null
Break[ ] 结束最近的一重循环
Continue[ ] 停止本次循环,进行下一次循环
Goto[tag] 无条件转向Label[Tag]处
Label[tag] 设置一个断点
Check[expr,failexpr] 计算expr,如果有出错信息产生,则返回failexpr 的值
Check[expr,failexpr,s1::t1,s2::t2,...]当特定信息产生时则返回failexpr
CheckAbort[expr,failexpr]当产生abort 信息时放回failexpr
Interrupt[ ] 中断运行
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 秒


十六、函数编程


纯函数
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 的“头”换为f
Apply[f,expr,level] 将expr 第level 层的“头”换为f
MapAll[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[expr
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]
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 MatrixQ
AtomQ MemberQ
DigitQ NameQ
EllipticNomeQ NumberQ
EvenQ NumericQ
ExactNumberQ OddQ
FreeQ OptionQ
HypergeometricPFQ OrderedQ
InexactNumberQ PartitionsQ
IntegerQ PolynomialQ
IntervalMemberQ PrimeQ
InverseEllipticNomeQ SameQ
LegendreQ StringMatchQ
LetterQ StringQ
LinkConnectedQ SyntaxQ
LinkReadyQ TrueQ
ListQ UnsameQ
LowerCaseQ UpperCaseQ
MachineNumberQ ValueQ
MatchLocalNameQ VectorQ
MatchQ


十九、字符串函数


"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 同名的变量列表

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mathematica函数大全 的相关文章

  • 在Matlab中将矩阵中的元素i,j设置为i*j

    我想生成一个矩阵 其中 i j 元素等于 i j 其中 i j e g 0 2 3 2 0 6 3 6 0 到目前为止 我已经发现我可以使用这个索引矩阵访问非对角线元素 idx 1 eye 3 但我还没有弄清楚如何将矩阵单元的索引合并到计算
  • 在 MATLAB 中高效地形成动态窗口

    有人可以帮助我提供一种有效的方法 或者帮助我执行提供的代码 以尽可能少的步骤获得相同的结果 我将感激你 我有一个原始数组 A 1 1 1 4 3 4 5 4 4 3 3 1 0 0 2 6 2 6 3 6 6 2 7 4 8 7 2 2 2
  • MATLAB 图像锐化 - 使用(1-高斯低通滤波器)的高斯高通滤波器

    我试图通过设计高斯高通滤波器来锐化图像 我想利用高通滤波器相当于单位矩阵减去低通滤波器的事实来做到这一点 所以我执行了以下操作 image imread Question3 Data Cats jpg read image H 1 fspe
  • 比较元胞数组中的字符串

    我试图在单词列表中找到最常见的单词 到目前为止 这是我的代码 uniWords unique lower words for i 1 length words for j 1 length uniWords if uniWords j lo
  • MATLAB 中元胞数组的左连接

    I ve 2 cellMATLAB 中的数组 例如 A jim 4 paul 5 sean 5 rose 1 第二个 B jim paul george bill sean rose 我想做一个 SQL 左连接 这样我就可以得到 B 中的所
  • Matlab 中 interp2 的类似 OpenCV Api

    有没有类似的功能 其工作原理与 interp2 x y frame z xd yd linear 0 在 OpenCV 中 功能cv remap 几乎可以满足您的要求 请参阅文档here http docs opencv org modul
  • 将 Android 应用程序与服务器上的 Matlab 应用程序连接

    我正在 Android 上开发一个应用程序 它将获取图像输入 并将该输入传递到安装 MATLAB 应用程序的服务器 MATLAB 应用程序将计算结果并将其返回到该 Android 应用程序 我想知道我可以使用哪个服务器 如何将 MATLAB
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大
  • 查找数组中元素之间的平均差异的有效方法

    希望标题不会让人困惑 通过例子来展示很简单 我有一个像这样的行向量 1 5 6 我想找到每个元素之间的平均差异 此示例中的差异为 4 和 1 因此平均值为 2 5 这是一个小例子 我的行向量可能非常大 我是 MatLab 新手 那么有没有一
  • 如何获取活动对象 MATLAB GUI 的句柄

    我正在尝试使用 MATLAB GUI 创建日历 我有两个Edit Text对象 edittext1 and edittext2 我想做这个 我把光标放在edittext1然后在日历中选择日期 它会进入文本字段edittext1 同样对于ed
  • 白色像素簇提取

    我正在研究指纹毛孔提取项目 并陷入毛孔 白色像素簇 提取的最后阶段 我有两个输出图像 我们可以从中获取毛孔 但不知道该怎么做 这两个图像的尺寸不同 image1 的尺寸为 240 320 image2 的尺寸为 230 310 这是我的图像
  • 将组合字符串和数字输入的元胞数组写入文本文件

    考虑以下 DateTime 2007 01 01 00 00 2007 02 01 00 00 2007 03 01 00 00 Headers Datetime Data Dat 100 200 300 Data DateTime num
  • 在 Matlab 中快速加载大块二进制文件

    我有一些相当大的 int16 格式的数据文件 256 个通道 大约 75 1 亿个样本 每个文件约 40 50 GB 左右 它以平面二进制格式编写 因此结构类似于 CH1S1 CH2S1 CH3S1 CH256S1 CH1S2 CH2S2
  • 傅里叶变换定理 matlab

    我目前正在尝试理解二维傅里叶位移定理 根据我到目前为止所了解到的情况 图像空间中的平移会导致相位差异 但不会导致频率空间中的幅度差异 我试图用一个小例子来演示这一点 但它只适用于行的移位 而不适用于列的移位 这是一个小演示 我只在这里显示幅
  • 同时重新排序和旋转图像的高效方法

    为了快速加载 jpeg 我为turbojpeg 实现了一个 mex wrapper 以有效地将 大 jpeg 读入 MATLAB 对于 4000x3000px 的图像 实际解码只需要大约 120 毫秒 而不是 5 毫秒 然而 像素顺序是 R
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • MATLAB 图中轴标签与轴之间的距离

    我正在使用 MATLAB 绘制一些数据 我想调整轴标签与轴本身之间的距离 但是 只需向标签的 位置 属性添加一点即可使标签移出图窗窗口 是否有 保证金 属性或类似的东西 在上图中 我想增加数字和标签 Time s 之间的距离 同时自动扩展数
  • 优化 MATLAB 代码(嵌套 for 循环计算相似度矩阵)

    我正在 MATLAB 中基于欧几里德距离计算相似度矩阵 我的代码如下 for i 1 N M N is the size of the matrix x for whose elements I am computing similarit
  • 如何在Matlab中将世界坐标转换为像素索引

    我有 512x512x313 体积的 dicom 图像 并且我有一个以世界坐标表示的点 57 7475 63 4184 83 1515 我如何在 Matlab 中获得该世界坐标的相应像素坐标 我不想戳破你的幻想 但你所要求的是不可能的 我能
  • 从筛查乳腺 X 光检查数字数据库 (DDSM) 获取数据

    我正在尝试以可读格式获取 DDSM 数据集 有谁有 DDSM heathusf 程序的工作版本 可以在 Linux 或 Windows 上正常运行吗 我知道 DDSM 的 jpeg 程序有一个适用于 linux 的工作版本 位于http w

随机推荐

  • 在线AI日语视频音频翻译中文字幕

    新番视频没有字幕 AI日语字幕识别让你先睹为快 蓝海智能在线AI工具 niceaitools com languageTra 目前价格是每视频音频分钟0 42元 具体使用方法如下 1 格式工厂处理 把你的日语视频或音频文件 通过格式工厂处理
  • VBA 自定义函数 库存消耗截止

    两个自定义函数 按照库存 计算哪一周库存能消耗完 标出周 自定义函数 按照库存 计算消耗完的那一周实际消耗多少数量 自定义函数 从消耗完的那一周开始算起 后面的周消耗数量都变为0 按钮 Function HaoJin StockQty As
  • Pytorch中常用的损失函数

    Pytorch中常用的损失函数 回归 nn L1Loss nn MSELoss 分类 nn CrossEntropyLoss 回归 nn L1Loss 平均绝对误差 也称L1范数损失 计算预测值与真实值之间的误差绝对值 L 1 L o s
  • python中模块,包,库的概念

    https www cnblogs com mlgjb p 7875494 html 模块 就是 py文件 里面定义了一些函数和变量 需要的时候就可以导入这些模块 包 在模块之上的概念 为了方便管理而将文件进行打包 包目录下第一个文件便是
  • OpenGL入门教程之 深入理解

    一 OpenGL简介 OpenGL是一种用于渲染2D 3D矢量图形的跨语言 跨平台的应用程序编程规范 OpenGL包含一系列可以操作图形和图像的函数 但OpenGL没有实现这些函数 OpenGL仅规定每个函数应该如何执行以及其输出值 类似接
  • 若依开源框架登录扩展Springboot+security,密码、验证码多种登录

    自定义登录扩展类 继承DaoAuthenticationProvider类型 重写additionalAuthenticationChecks方法 CustomLoginAuthenticationProvider java package
  • 是面试官放水,还是公司实在是太缺人?这都没挂,华为原来这么容易进...

    华为是大企业 是不是很难进去啊 在华为做软件测试 能得到很好的发展吗 一进去就有9 5K 其实也没有想的那么难 直到现在 心情都还是无比激动 本人211非科班 之前在字节和腾讯实习过 这次其实没抱着什么特别大的希望投递 没想到华为可以再给我
  • 2023计算机毕业设计SSM最新选题之java个人微博网站1x930

    2023计算机毕业设计SSM最新选题之java个人微博网站1x930 做毕业设计一定要选好题目 毕设想简单 其实很简单 这里给几点建议 1 首先 学会收集整理 年年专业都一样 岁岁毕业人不同 很多人在做毕业设计的时候 都犯了一个错误 那就是
  • 数组理论干货

    数组 如果看文字麻烦就直接跳到最后一个代码块 Array 1 Java语言中的数组是一种引用数据类型 不属于基本数据类型 数组的父类是Object 2 数组实际上是一个容器 可以同时容纳多个元素 数组是一个数据的集合 数组 字面意思是 一组
  • JAVA输出一个爱心

    在 Java 中输出一个爱心可以使用字符画的方式 如下代码所示 public class LoveHeart public static void main String args System out println System out
  • discuz 论坛配置 QQ/163 网易邮箱

    步骤 在 discuz 后台的 站长 邮件设置 里按如下配置 SMTP 服务器固定 163 网易填 ssl smtp 163 com QQ 邮箱则填 ssl smtp qq com 端口 465 验证 勾选 配置完成后 会进行测试验证 发信
  • clamp 函数

    clamp 函数 返回范围内的一个数值 可以使用 clamp 函数将不断增加 减小或随机变化的数值限制在一系列的值中 float clamp float minnumber float maxnumber float parameter 最
  • 简单用用flex和bison

    简单用用flex和bison 参考博文 词法 语法分析器简介 定义 flex bison 文件间关系 具体例子 例1 输入name age时触发 输出name is age years old 例2 输入带有括号的满足乘法加法的表达式 输出
  • 有关ajax 不走回调函数的问题解析

    ajax是设置的返回值明明是json格式 但是返回值是json格式却接收不了 非要设置成text格式才可以接收的到 这是我的jQuery代码 function addSku id var m m id val var p p id val
  • JDBC(Java DataBase Connectivity)

    JDBC 目录 JDBC 简介 JDBC结构步骤 API接口 DriverManager Conection Statement ResultSet PreparedStatement 简介 JDBC是使用Java语言操作关系数据库的一套A
  • maven安装和环境变量配置

    myeclipse自带maven Maven4MyEclipse 创建项目 新建Web Projects项目 在新建的页面上打上maven的勾 新建的项目里会多出个pom xml文件 为项目添加依赖包 右键项目 选择Maven4MyEcli
  • 多对一查询

    是这样的 首先学生表中有三个属性 前两个属性要出现在结果集中 第三个属性哦用于查找教师的名字 然后呢 用resultMap重新处理 将老师的名字重新对应为学生表的第三个属性 其实这样做有局限 多对一查询 SQL语句 SELECT s id
  • python中文件的操作

    gt gt gt f open home ceshi mmm txt w w 为读写 gt gt gt f write zuoshouzhiyue n 写入数据 记得加 n gt gt gt f tell 当前在文件中的位置 14 gt g
  • QToolButton和QPushButton的区别

    用代码实践了一下QPushButton和QToolButton的差异 include widget h include
  • Mathematica函数大全

    一 运算符及特殊符号 Line1 执行Line 不显示结果 Line1 line2 顺次执行Line1 2 并显示结果 name 关于系统变量name 的信息 name 关于系统变量name 的全部信息 command 执行Dos 命令 n