mathematica函数大全

mathematica函数大全
mathematica函数大全

Mathematica函数大全

运算符及特殊符号

函数大全------运算符及特殊符号一、运算符及特殊符号

Line1;执行Line,不显示结果

Line1,line2顺次执行Line1,2,并显示结果

?name关于系统变量name的信息

??name关于系统变量name的全部信息

!command执行Dos命令

n!N的阶乘

!!filename显示文件内容

>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应用于expr

expr//.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中解出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的幂级数,其中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的极限

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产生伪随机数

如果采用了<在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有理化成有理数,误差小于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[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==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]]处的子表抹平

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,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]设置线宽为r

PointSiz e[d]设置绘点的大小

Dashing[{r1,r2,..}]虚线一个单元的间隔长度

ImageSiz e->{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对应的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秒

的提示

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的“头”换为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[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 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

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

Mathematica函数大全(内置)

Mathematica函数大全--运算符及特殊符号一、运算符及特殊符号 Line1;执行Line,不显示结果 Line1,line2顺次执行Line1,2,并显示结果 ?name关于系统变量name的信息 ??name关于系统变量name的全部信息 !command执行Dos命令 n! N的阶乘 !!filename显示文件内容 > 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建立替换规则 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无穷大

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 乘方 base^^num 以base为进位的数 lhs&&rhs 且 lhs||rhs 或 !lha 非 ++,-- 自加1,自减1 +=,-=,*=,/= 同C语言 >,<,>=,<=,==,!= 逻辑判断(同c)

50Mathematica线性代数运算命令与例题

50Mathematica线性代数运算命令与例题

第五章 线性代数运算命令与例题 线性代数中常用的工具是矩阵(向量)和行列式。用这些工具可以表示工程技术,经济工作中一些需要用若干个数量从整体上反映其数量关系的问题。用这些工具可以简明凝练而准确地把所要研究的问题描述出来,以提高研究的效率。在线性代数课程中我们看到了用这些工具研究齐次和非齐次线性方程组解的理论和解的结构,矩阵的对角化,二次型化标准形等问题的有力,便捷. 5.1向量与矩阵的定义 数学上矩阵是这样定义的: 由n m ?个数排成m 行n 列的数表 mn m m n n a a a a a a a a a Λ M M M Λ Λ21 2222111211 称为m 行n 列矩阵,特别,当m=1时就是线性代数中的向量。

记作: ????? ?? ?????=mn m m n n a a a a a a a a a A ΛM M M ΛΛ2122221 11211 两个n m ?矩阵称为同型矩阵。 线性代数中的运算对象是向量和矩阵,因此首先介绍向量和矩阵的输入。 5.1.1输入一个矩阵 命令形式1:Table[f[i,j],{i ,m},{j ,n}] 功能: 输入n m ?矩阵,其中f 是关于i 和j 的函数,给出[i , j]项的值. 命令形式2:直接用表的形式来输入 功能:用于矩阵元素表达式规律不易找到的矩阵的输入。 注意: 1.Mathematica 是采用一个二重表的形式来表示矩阵的,即用 {{…},{…},…,{…}} 其中表中的每个表元素都是等长的一维表,第一

个表元素是矩阵的第一行,第二个表元素是矩阵的第二行,一般,第n 个表元素是矩阵的第n 行。要看通常的矩阵形式可以用命令: MatrixForm[%] 2. 对应上述命令形式,输入一个向量的命令为 Table[f[j],{j,n}]或直接输入一个一维表{a1,a2,…,an},这里a1,a2,…,an 是数或字母。 例题 例 1.输入矩阵A=???? ??????---41381639121458561203 12、向量 b={1,4,7,-3}。 解:Mathematica 命令 In[1]:= a={{12,-3,0,2,1},{56,-8,-45,21,91},{3,6,81,13,4}} Out[1]:= {{12,-3,0,2,1},{56,-8,-45,21,91},{3,6,81,13,4}} In[2]:=b={1, 4, 7, -3} Out[2]:= {1, 4, 7, -3}

Mathematica的常用函数

Mathematica的内部常数 Pi , 或π(从基本输入工具栏输入, 或“Esc”+“p”+“Esc”)圆周率π E (从基本输入工具栏输入, 或“Esc”+“ee”+“Esc”)自然对数的底数e I (从基本输入工具栏输入, 或“Esc”+“ii”+“Esc”)虚数单位i Infinity, 或∞(从基本输入工具栏输入, 或“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,...]最小公倍数函数

Mathematica函数大全

Mathematica函数大全一、运算符及特殊符号 Line1; 执行Line,不显示结果 Line1,line2 顺次执行Line1,2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 n! N的阶乘 !!filename 显示文件内容 <> 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的系数

Mathematica程序举例1

图3.3里的Mathematica程序(版本8.0) 在Mathematica8.0的命令窗口输入如下命令:Cal[n_,i_]=2i*Binomial[n,i]; Print[ScientificForm[Cal[500,8]*1.0,4]]; Print[ScientificForm[Cal[500,12]*1.0,4]]; Print[ScientificForm[Cal[500,16]*1.0,4]]; Print[ScientificForm[Cal[500,24]*1.0,4]]; Print[ScientificForm[Cal[720,8]*1.0,4]]; Print[ScientificForm[Cal[720,12]*1.0,4]]; Print[ScientificForm[Cal[720,16]*1.0,4]]; Print[ScientificForm[Cal[720,24]*1.0,4]]; 按Shift+Enter组合键,运行可得: 2.344×1019 1.828×1027 3.75×1034 9.199×1047 4.41×1020

1.514×1029 1.381×1037 6.913×1051 图4.3.2.4.1里的Mathematica程序(版本8.0) 在Mathematica8.0的命令窗口输入如下命令:Cal[m_,n_]=Binomial[m,n];

Fun1[B_,m_,n_,ρ_]=((Cal[m,ρ]*Cal[B-m,n-ρ])/Cal[B,n]); X1=i 826Fun1104,26,26,i Cal i,80.267810.267i 8 ; X2=i 1226Fun1104,26,26,i Cal i,120.2671210.267i 12; X3=i 1626Fun1104,26,26,i Cal i,160.2671610.267i 16; X4=i 2426Fun1104,26,26,i Cal i,240.2672410.267i 24; Y1=i 846Fun1248,46,46,i Cal i,80.267810.267i 8; Y2=i 1246Fun1248,46,46,i Cal i,120.2671210.267i 12; Y3=i 1646Fun1248,46,46,i Cal i,160.2671610.267i 16; Y4=i 2446Fun1248,46,46,i Cal i,240.2672410.267i 24; Print[X1 "\n",X2 "\n",X3 "\n",X4 "\n",Y1 "\n",Y2 "\n",Y3 "\n",Y4 "\n"]; 按Shift+Enter 组合键,运行可得: 0.0000951929 3.92256×10-9 5.19076×10-15 7.7419×10-33 0.00104287 5.9339×10-7 3.76588×10-11 3.96973×10-22

附录B:Mathematica的基本应用b

附录B :Mathematica 的基本应用 1. 什么是Mathematica Mathematica 是美国Wolfram Research 公司开发的通用科学计算软件,主要用途是科学研究与工程技术中的计算,这里介绍的是第6版(2008年更新为第7版)。由于它的功能十分强大,使用非常简便,现在已成为大学师生进行教学和科研的有力工具。它的主要特点有: 1)既可以进行程序运行,又可以进行交互式运行。一句简单的Mathematic 命令常常可以完成普通的c 语言几十甚至几百个语句的工作。例如解方程:x 4 + x 3 + 3x -5 = 0只要运行下面的命令: Solve[x^4+x^3+3 x-5 0,x] 。 2) 既可以进行任意高精度的数值计算,又可以进行各种复杂的符号演算,如函数的微分、积分、幂级数展开、矩阵求逆等等。它使许多以前只能靠纸和笔解决的推理工作可以用计算机处理。例如求不定积分:? x 4 e -2x dx 只要运行下面的命令: Integrate[x^4*Exp[2 x],x]。 3) 既可以进行抽象计算,又可以用图形、动画和声音等形式来具体表现,使人能够直观地把握住研究对象的特性。例如绘制函数图形:y = e -x /2 cos x , x ∈ [0, π],只要运行下面的命令: Plot[Exp[x/2]*Cos[x],{x,0,Pi}]。 4) Mathematica 把各种功能有机地结合在一个集成环境里,可以根据需要做不同的操作,给使用者带来极大的方便。 2. Mathematica 的基本功能 2.1 基本运算及其对象 Mathematica 的基本数值运算有加法、减法、乘法、除法和乘(开)方,分别用运算符“+”、“-”、“*”、“/”和“^”来表示(在不引起误解的情况下,乘号可以省略或用空格代替),例 如2.4*3^2 -(5/(6+3))^(1/3)表示3236534.2)(+÷-?。小括号“(”和“)”作为表示运算优先顺 序的符号,用于组合运算;中括号用于命令和函数,大括号用于集合和列表。 Mathematica 的关系运算符有:>、<、>=、<=、!=、== 等,它们的意义与通常的数学语言相同,要注意“!=”表示不等于,双等号“==”表示等于。而单等号“=”和冒号等号“:=”表示定义或赋值,不表示相等。逻辑运算符主要有:!、&&、||,它们的意义与c 语言中相同,分别是“非”、“与”、“或”。 Mathematica 的基本数值运算对象有常数、变数和函数,包含整数,有理数、实数和复数等数值类型。为了方便,Mathematica 预先用符号表示了一些重要常数,如Pi 表示圆周率π,E 表示自然对数的底e = 2.17828…,I 表示虚单位i ,Infinity 表示无穷大∞等。比如说,E^(2*Pi*I)表示i e π2。 Mathematica 还预先定义了大量数学函数以供调用,调用格式为“函数名[自变量]”,预定义的函数名用大写字母开始的标识符表示,常用的有

Mathematica常用指令

表达式: Plot[4 x - 9, {x, 0, 9}] f[x_] = x^3 Plot[f[x], {x, 0, 9}] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] 两图画在一个坐标系 Show[a, b] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] 两图画在一起(一排) c = GraphicsArray[{a, b}] Show[c] a = Plot[4 x - 9, {x, 0, 9}] b = Plot[x^3, {x, 0, 3}] c = GraphicsArray[{a}, {b}] 两图画在一起(两排) Show[c] 二维画图: Automatic 默认值 DisplayFunction -> Identity 不出现图 DisplayFunction -> $DisplayFunction 出现图 PlotRange -> All 画出所有点,指定区域点 PlotStyle -> {RGBColor[1, 0, 0]} 图像颜色 PlotStyle -> {Dashing[{0.01}]} 图像成虚线 PlotStyle -> {Thickness[0.01]} 图像粗细 AxesLabel -> {"x/t", "y/cm"} 坐标标签 PlotLabel -> {"s-t"} 图像标签 Frame -> True 图像边框 Axes -> {True, True} 坐标轴的显示 AxesOrigin -> {0, -5} 设置坐标原点 GridLines -> {{-π, -π/2, 0, π/2, π}, {-1,-0.5,0, 0.5, 1}} 给坐标轴分网格 TextStyle -> {FontSize -> 30} 坐标字体大小AspectRatio -> Automatic 坐标比例一致 Ticks -> {{0, 1, 2, 3}, {0,10,20}} 在坐标轴上显示特定点ParametricPlot[x(t),y(t)},{t,0,6,}] 画参数方程

Mathematica使用教程

【Mathematica 简介】 Mathematica 软件是由沃尔夫勒姆研究公司(Wolfram Research Inc.)研发的。Mathematica 版发布于1988年6月23日。发布之后,在科学、技术、媒体等领域引起了一片轰动,被认为是一个革命性的进步。几个月后,Mathematica 就在世界各地拥有了成千上万的用户。今天,Mathematica 已经在世界各地拥有了数以百万计的忠实用户。 Mathematica 已经被工业和教育领域被广泛地采用。实际上,Mathematica 负责将高级的数学和计算引入了传统上非技术的领域,极大的增加了科技软件的市场。一个包含应用、咨询、书籍、和课程软件的行业支持着国际化的 Mathematica 用户群,这个行业还在不断地膨胀。随着沃尔夫勒姆研究公司不断地扩大和 Mathematica 的使用被不断地扩展到不同的领域,将会看到 Mathematica 在全世界范围内对未来产品、重要研究发现、和教学的巨大影响。 数学软件是现在科研工作者的必备的工具,个人比较喜欢用Mathematica,因为它是最接近数学语言的。Mathematica 在15日发布,其最显著的变化是允许自由形式的英文输入,而不再需要严格按照Mathematica语法,这类似于Wolfram|Alpha搜索引擎。Mathematica 8允许用户按照自己习惯的思考过程输入方程式或问题,最令人激动的部分是软件不是逐行执行命令,而是能理解上下文背景。 1. Enter your queries in plain English using new free-form linguistic input 2. Access more than 10 trillion sets of curated, up-to-date, and ready-to-use data 3. Import all your data using a wider array of import/export formats 4. Use the broadest statistics and data visualization capabilities on the market 5. Choose from a full suite of engineering tools, such as wavelets and control systems 6. Use more powerful image processing and analysis capabilities 7. Create interactive tools for rapid exploration of your ideas 8. Develop faster and more powerful applications Wolfram Research 的 CEO 和创立者斯蒂芬·沃尔夫勒姆表示:“传统上,让计算机执行任务必须使用计算机语言或者使用点击式界面:前者要求用户掌握它的语法;而后者则限制了可访问函数的范围。”“自由格式语言学能够理解人类的语言,并将其转化为具有特定语法结构的语言。这是产品适用性上的一个突破。 Mathematica 8 是这种创新思想下的第一个产品,但是它已经能够大幅度提高用户的工作效率。” Mathematica简明教程 第1章Mathematica概述 运行和启动:介绍如何启动Mathematica软件,如何输入并运行命令

Mathematica中的常用函数命令

第8章Mathematica中的常用函数8.1 运算符及特殊符号 Linel 执行Line,不显示结果 Linel,line2 顺次执行Line1,Line2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 N! N的阶乘 !!filename 显示文件内容 <>filename 打开文件写 Expr>>>filename 打开文件从文件末写 ( ) 结合率 [ ] 函数 { } 一个表 <*MathFun*> 在c语言中使用math的函数 (*Note*) 程序的注释 #n 第n今参数 ## 所有参数 Rule& 把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.915966Catalan常数 EulerGamma 0.5772Euler常数 Khinchin 2.68545Khinchin Glaisher 0.915966Glaisher GoldenRatio 1.61803黄金分割数 Degree π/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,…}] 合并x1,x2,...的同次项 Together[expr] 通分 Apart[expr] 部分分式展开 Apart[expr,var] 对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] 多项式expr中form^n的系数 Exponent[expr,form] 表达式expr中form的最高指数 Numerator[expr] 表达式expr的分子 Denominator[expr] 表达式expr的分母 ExpandNumerator[expr] 展开expr的分子部分 8.4 解方程 Solve[eqns,vats] 从方程组eqns中解出Vats Solve[eqns,vats,elims] 从方程组eqns中削去变量elims,解出vats DSolve[eqn,y,x] 解微分方程,其中、y是x的函数 DSolve[{eqnl,eqn2,…},{y1,y2…},] 解微分方程组,其中yi是x的函数DSolve[eqn,y,{x1,x2…}]解偏微分方程 Eliminate[eqns,Vats] 把方程组eqns中变量vars约去SolveAlways[eqns,vars] 给出等式成立的所有参数满足的条件Reduce[eqns,Vats] 化简并给出所有可能解的条件LogicalExpand[expr] 用&&和,,将逻辑表达式展开InverseFunction[f] 求函数f的反函数 Root[f,k] 求多项式函数的第k个根

Mathematical常用功能大全-精简版

Mathematica for Windows 常用用法 一、Mathematica 的主要功能 Mathematica 是美国Wolfram 公司开发的一个功能强大的计算机数学系统,提供了范围广泛的数学计算功能,主要包括三个方面:符号演算、数值计算、图形。例如:多项式的四则运算、展开、因式分解,有理式的各种计算,有理方程、超越方程的解,向量和矩阵的各种计算,求极限、导数、极值、不定积分、定积分、幂级数展开式,求解微分方程,作一元、二元函数的图形等等。 二、Mathematica 的基本知识 1.输入表达式:直接输入一个表达式(包括算式和命令,长表达式用“Enter ”换行)后,按“Shift+Enter ”执行,执行后以“Out[命令序号]= ……”形式输出执行结果,输出的结果可在后续的表达式中使用。 若命令后有分号,则不输出执行结果(图形输出与Print 命令除外)。 “%”表示上一个输出,“%%”表示倒数第2个输出,“%i”表示第i个 命令的输出。 2.运算符:+、-、*、/、^ ,“*”可用空格代替,“^”表示乘方。 如:In[1]:=2^10,输出为“Out[1]= 1024”,其中“In[1]:=”不需要输入。 In[2]:=3+5,Out[2]= 8;In[3]:=%-2,Out[3]= 6; In[4]:=%2+4,Out[4]= 12; In[5]:=1/3-1/4,Out[5]=12 1 ;In[6]:=N[%],Out[6]= 0.0833333; In[7]:=N[%5+12,10],Out[7]= 12.08333333(注意字母的大小写) 3.变量赋值:变量=表达式,“x=.”或Clear[x] 表示清除对x 的赋值。 表达式/.t ->c ,将表达式中的t 全替换成c 。?x ,查x 信息。 4.常用的数学常数:Pi (π)、E(e)、Infinity (∞)、I (1-) 5.常用的数学函数:Abs, Sin, Cos, Tan, Cot, ArcSin, Log (自然对数), Sqrt, Exp 如:In[1]:=Sqrt[2]+1;In[2]:=Sin[2]+ArcSin[1];In[3]:=Exp[2]+% (自变量用[ ]括,区分大小写,首字母大写) 三、常用运算 1.多项式运算:In[1]:= (2+4*x^2)*(1-x)^3 或 In[1]:= t = (2+4*x^2)*(1-x)^3 (将右端表达式赋值给t ); In[2]:=a=t/.x->4 (计算表达式t 当x=4时的值,并赋值给变量a ) In[3]:=a=. (清除变量a ) In[3]:=Expand[t](展开);In[4]:=Factor[%](把上一个结果因式分解) 2.解方程:In[1]:=Solve[x^2+3*x = = 2];In[2]:=N[%]; In[3]:=Solve[a*x-b= = 0, x]; In[4]:=NSolve[{x-2*y= =0,x^2-y= =1},{x,y}](解方程组并得到数值解) 3.自定义函数:In[1]:= f [x_ ]:=x^2+2*x ; In[2]:=f[5]+7; In[3]:=f[a+b] 4.求极限:In[1]:=Limit[Sin[x]/x, x ->0]; In[2]:=Limit[(1+1/n)^n, n->Infinity],Out[2]=E 5.求(偏)导数:In[1]:=D[a*x^2+3, x];In[2]:=D[x^2+y^3-Sin[2*y], y](对y 的偏导数); In[3]:=D[Log[x], {x,2}] (求对x 的二阶导数); In[4]:=D[Sin[x+y]*Exp[z*y^2],x,y] (求对x 、y 的二阶混合偏导数); In[5]:=Simplify[%] (对前一结果化简); In[6]:=D[Sin[x+y]*Exp[z*y^2],{x,2},{y,3}] 6.求不定积分:In[1]:=Integrate[x^2,x];In[2]:=Integrate[1/(x^2+a^2),x] 7.定积分:In[1]:=Integrate[x^2, {x,0,1}];In[2]:=Integrate[x^2,{x,a,b}]; In[3]:=Integrate[x^2+y^2, {x,0,a},{y,0,b}];(求矩形域上的二重积分) In[4]:=Integrate[1, {x,-1,1},{y,-Sqrt[1-x^2],Sqrt[1-x^2]}];Out[4]=Pi (圆面积) 8.幂级数展开:In[1]:=Series[Exp[x],{x,0,4}](在x=0处展开到x 的四次幂) 9.矩阵的输入和输出:In[1]:= a ={{1,2},{3,4}}(定义一个2x2的矩阵a ,按 行写); In[2]:=MatrixForm[a](输出为矩阵形式);In[3]:=Transpose[a](a 的转置); In[4]:=a[[2]](a 的第2行);In[5]:=Tanspose[a][[2]](a 的第2列); In[6]:=Inverse[a](求a 的逆矩阵);In[7]:=Det[a](矩阵的行列式); In[8]:=Eigenvalues[a](求特征值);In[9]:=Eigenvectors[a](求特征向量); In[10]:=RowReduce[a](把a 化为阶梯形,可用于求矩阵的秩、判断线性相关性); In[11]:= b ={{5,6,7},{8,9,10}};In[12]:= a .b (矩阵a 与b 的乘积) 10.解线性方程组: In[1]:= a ={{3,4,5,6},{6,8,10,12},{4,5,6,7},{5,6,7,8}};(a 的秩为2) In[2]:= b ={1,2,3,5}(列向量);(增广矩阵的秩也为2) In[3]:=LinearSolve[a,b](求线性方程组ax=b 的一个特解); In[4]:=NullSpace[a](求线性方程组ax=0的一个基础解系); In[5]:= x =k1%4[[1]]+k2%4[[2]]+%3(ax=b 的全部解,k1、k2为任意常数) 11.求和:In[1]:=NSum[Sin[n]/n^3,{n,1,Infinity}](求级数∑ ∞=13sin n n n 的和) 12.求极小值:In[1]:=FindMinimum[Sin[x]*Cos[x],{x,0.5}](求函数在0.5附 近的极小值); In[2]:=FindMinimum[Sin[x*y]*Exp[x^2],{x,0.2}, {y,0.3}](求多元函数极小值) 13.求解线性规划问题:Min cx ,mx ≥b ,x ≥0,求向量x 。 In[1]:= c ={2,-3}(列向量);In[2]:= m ={{-1,-1},{1,-1},{1,0}}; In[3]:= b ={-10,2,1}; In[4]:=LinearProgramming[c,m,b] 14.数据拟合:In[1]:= d ={{1,2.18},{1.2,2.56},{1.6,3.0},{1.8,2.66}}; In[2]:= f =Fit[d,{1, x, x^2}, x](求和上面4个点吻合最好的二次多项式f ); 检验效果:In[3]:=ListPlot[d](画d 中4个点的图); In[4]:=Plot[f,{x,0.8,2.0}](画多项式f 在x 从0.8到2.0之间的图); In[5]:=Show[%3, %4](把上面两个图画在一起) 注:函数集{1, x, x^2}可以是更高次的或其它函数集,如三角函数集等。 15.一元函数作图:In[1]:=Plot[Exp[-x^2]*Sin[6*x],{x,-2,2}](如图1) 参数方程作图:In[2]:=ParametricPlot[{Sin[t]^3,Cos[t]^3},{t,0,2*Pi}] 16.二元函数作图:In[1]:=Plot3D[Sin[x*y],{x,-Pi, Pi},{y,-Pi, Pi}];(如图2) In[2]:=Plot3D[Sin[x*y],{x,-Pi, Pi},{y,-Pi, Pi},PlotPoints->40, ViewPoint->{2,-3,2}] In[3]:=ParametricPlot3D[{Cos[u]*Cos[v],Sin[u]*Cos[v],Sin[v]},{u,0,2*P i},{v,-Pi/2,Pi/2}] 17.数据画图:In[1]:= d ={{1,2},{3,4},{7,6}};In[2]:=ListPlot[d]; In[3]:=ListPlot[d, PlotStyle->{RGBColor[1,0,0], PointSize[0.02]}](红色 的大点); 或直接用 In[4]:=ListPlot[{1,2},{3,4},{7,6}] 代替“In[2]:=”。 18.作图范围:In[1]:=Plot[x-x^3/6,{x,-4,4}]; In[2]:=Plot[x-x^3/6,{x,-4,4},PlotRange->{-5,2}](限定纵坐标(函数值)范围) 19.图形组合:In[1]:=Plot[{Sin[x],Cos[x]},{x,0,2*Pi}];或 In[2]:= g1=Plot[Sin[x],{x,0,2*Pi}, PlotStyle->{RGBColor[1,0,0]}]; In[3]:= g2=Plot[Cos[x],{x,0,2*Pi}, PlotStyle->{RGBColor[0,0,1]}]; In[4]:=Show[g1,g2](把g1、g2画在一起) 20.文件的使用:In[1]:= y =25;In[2]:= a ={{1,4},{2,6}};In[3]:= f [x_ ]:=x^2 ; In[4]:= g =Plot[Sin[x],{x,0,2*Pi}, PlotStyle->{RGBColor[1,0,0]}]; In[5]:=Save[“abc .m”,a,y,f,g](将a, y, f, g 保存在文件“abc .m ”中,扩 展名为m ); In[6]:=!!abc .m (显示文件内容); In[1]:=<8,3,4];In[2]:=x=10; In[3]:=y=20;In[4]:=If[x==y,a,b] 2. 循环:(1) For[初值,条件,增量表达式,循环体] 先赋初值,再判断条件,条件为真时执行循环体,最后计算增量,再判断条件。 In[1]:=For[a=1, a<5, a=a+1, Print[a]] In[2]:=For[k=1;s=0;t=1, k<=10, k=k+1, s=s+k ;t=t*k] In[3]:=Print[“s=”,s , “\n ”, “t=”,t ] In[4]:=For[k=1, k<3, k=k+1, Plot[Sin[x],{x,k,2*Pi+k}]] (2) Do[循环体,{循环变量,起始值,终止值,步长}] In[1]:=s=0;Do[s=s+i,{i,1,100,1}];s In[2]:=Do[p[i]=Plot[Sin[i*x],{x,0,Pi}],{i,1,2}] In[3]:=Show[p[1],p[2]] 五、一个编程例子 ===================================================== (* 这是一个例题 每行后按回车键 用半角标点符号*) Print["请回答3个题目"] For[i=1,i<=3,i=i+1, a=Random[Integer,{1,100}]; b=Random[Integer,{1,100}]; Print["第(",i,")题 ",a,"+",b,"=?"]; c=Input["请输入计算结果"]; If[c==a+b, Print[" 对了!"], Print[" 错,应为 ",a+b] ] ]; Print["没有题目了。"] ====================================================== 六、编程练习:从数据文件中读出5组身高与体重数据(ReadList ),(1) 画出散点图(ListPlot );(2) 用Fit 求出拟合直线;(3) 用回归公式求出回归直线; (4) 画出回归直线的图形(Plot );(5) 将回归直线和散点图画在一起(Show )。 注:数据文件内容为 1.54 48 1.6 55 1.65 60 1.71 62 1.74 70

mathematica函数大全

Mathematica函数大全 运算符及特殊符号 函数大全------运算符及特殊符号一、运算符及特殊符号 Line1;执行Line,不显示结果 Line1,line2顺次执行Line1,2,并显示结果 ?name关于系统变量name的信息 ??name关于系统变量name的全部信息 !command执行Dos命令 n!N的阶乘 !!filename显示文件内容 >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应用于expr expr//.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的系数

相关文档
最新文档