当前位置:文档之家› Mathematica入门教程

Mathematica入门教程

Mathematica入门教程
Mathematica入门教程

Mathematica入门教程

Mathematica的基本语法特征

如果你是第一次使用Mathematica,那么以下几点请你一定牢牢记住:

Mathematica中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名。

系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[x],Conjugate[z]等。

乘法即可以用*,又可以用空格表示,如2 3=2*3=6 ,x y,2 Sin[x]等;乘幂可以用“^”表示,如x^0.5,Tan[x]^y。

自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。

当你赋予变量任何一个值,除非你明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,它将始终保持原值不变。

一定要注意四种括号的用法:()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12 Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。

Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。

一.数的表示及计算

1.在Mathematica中你不必考虑数的精确度,因为除非你指定输出精度,Mathematica 总会以绝对精确的形式输出结果。例如:你输入

In[1]:=378/123,系统会输出Out[1]:=126/41,如果想得到近似解,则应输入

In[2]:=N[378/123,5],即求其5位有效数字的数值解,系统会输出Out[2]:=3.073 2,另外Mathematica还可以根据你前面使用的数字的精度自动地设定精度。

Mathematica与众不同之处还在于它可以处理任意大、任意小及任意位精度的数值,如100^7000,2^(-2000)等数值可以很快地求出,但在其他语言或系统中这是不可想象的,你不妨试一试N[Pi,1000]。

Mathematica还定义了一些系统常数,如上面提到的Pi(圆周率的精确值),还有E(自然对数的底数)、I(复数单位),Degree(角度一度,Pi/180),Infinity(无穷大)等,不要小看这些简单的符号,它们包含的信息远远大于我们所熟知的它们的近似值,它们的精度也是无限的。

二.“表”及其用法

“表”是Mathematica中一个相当有用的数据类型,它即可以作为数组,又可以作为矩阵;除此以外,你可以把任意一组表达式用一个或一组{}括起来,进行运算、存储。可以说表是任意对象的一个集合。它可以动态地分配内存,可以方便地进行插入、删除、排序、翻转等等几乎所有可以想象到的操作。

如果你建立了一个表,你可以通过下表操作符[[]](双方括号)来访问它的每一个元素,如我们定义table={2,Pi,Sin[x],{aaa,A*I}}为一个表,那么table[[1]]就为2,table[[2]]就是Pi,而table[[3,1]]表示嵌套在table中的子表{aaa,A*I}的第一个元素即aaa,table[[3,2]]表示{aaa,A*I}

第二个元素即A*I。总之,表每一层次上并列的部分用逗号分割,表可以无穷嵌套。

你可以通过Append[表,表达式]或Prepend[表,表达式]把表达式添加到表的最前面或最后面,如Append[{1,2,3},a]表示{1,2,3,a}。你还可以通过Union[表1,表2,......],Jion[表1,表2,......]来把几个表合并为一个表,二者不同在于Union在合并时删除了各表中重复的元素,而后者仅是简单的合并;你还可以使用Flatten[表]把表中所有子表"抹平"合并成一个表,而Patition[表,整数n]把表按每n个元素分段作为子表,集合成的表。如Flatten[{1,2,{Sin[x],dog},{{y}}}]表示{1,2,Sin[x],y},而Partition[{1,2,Sin[x],y},2]把表每两个分段,结果为{{1,2},{Sin[x],y}};还可以通过Delete[表,位置]、Insert[表,位置]来向表中按位置插入或删除元素,如要删除上面提到的table中的aaa,你可以用Delete[table,{3,1}]来实现;Sort[表]给出了表中各元素的大小顺序,Reverse[表]、RotateLeft[表,整数n]、RotateRight[表,整数n]可以分别将一个表进行翻转、左转n个元素、右转n个元素等操作,Length[表]给出了表第一个层次上的元素个数,Position[表,表达式]给出了表中出现该表达式的位置,Count[表,表达式]则给出表达式出现的次数。各种表的操作函数还有很多,这里就不再一一介绍了。

三.图形函数

Mathematica的图形函数十分丰富,用寥寥几句就可以画出复杂的图形,而且可以通过变量和文件存储和显示图形,具有极大的灵活性。

图形函数中最有代表性的函数为Plot[表达式,{变量,下限,上限},可选项],(其中表达式还可以是一个"表达式表",这样可以在一个图里画多个函数);变量为自变量;上限和下限确定了作图的范围;可选项可要可不要,不写系统会按默认值作图,它表示对作图的具体要求。例如Plot[Sin[x],{x,0,2*Pi},AspectRatio-1]表示在0

.二维函数作图

Plot[函数f,{x,xmin,xmax},选项]

在区间{x,xmin,xmax}上,按选项的要求画出函数f的图形

Plot[{函数1,函数2},{x,xmin,xmax},选项]

在区间{x,xmin,xmax}上,按选项的要求画出几个函数的图形

图一.用Plot 生成x*Sin[1/x]的图形

-0.4-0.2

0.20.

-0.2

-0.10.1

0.20.30.4

.二维参数画图函数

ParametricPlot[{x[t],y[t]},{t,t0,t1},选项] 画一个X 轴,Y 轴坐标为{x[t],y[t]},参变量t 在[t0,t1]中的参数曲线

图二.用ParametricPlot 生成?

?

?==]2sin[]

sin[t y t x 的图形

-1-0.50.5

-1

-0.5

0.5

1

.三维函数作图

Plot3D[f[x,y],{x,x0,x1},{y,y0,y1},选项]

在区域]1,0[]1,0[y y y x x x ∈∈和上,画出空间曲面f[x,y].

图3.用Plot3D 生成的Sin[x]*Cos[y]的三维图形

-2

-1

-0.5

00.5

1-2

2

除Plot,二维参数方程作图的ParametricPlot[{x(t),y(t)},{t,下限,上限},可选项]、三维作图的Plot3D[二维函数表达式,{变量1,下限,上限}, {变量2,下限,上限},可选项}]、三维参数方程作图的ParametricPlot3D[{x(u,v),y(u,v),z(u,v)},{u,下限,上限},{v,下限,上限},可选项]外,还有画二维等高线图ContourPlot[二元表达式,{变量1,下限,上限}, {变量2,下限,上限},可选项}]、画二维密度图的DensityPlot[二元表达式,{变量1,下限,上限}, {变量2,下限,上限},可选项}]等等不一而足。

除使用上述函数作图以外,Mathematica 还可以象其他语言一样使用图形元语言作图,如画点函数Point[x,y],画线函数Line[x1,y1,x2,y2],画圆的Circle[x,y,r],画矩形和多边形的Rectangle 和Polygon,字符输出的Text[字符串,输出坐标],还有颜色函数RGBColor[red,green,blue]、Hue[],GrayLevel[gray]来描述颜色的亮度、灰度、饱和度,用PointSize[相对尺度]、Thickness[相对尺度]来表示点和线的宽度。总之Mathematica 可以精确地调节图形的每一个特征。

四.数学函数的用法

Mathematica 系统内核提供了丰富的数学计算的函数,包括极限、积分、微分、最值、极值、统计、规划等数学的各个领域,复杂的数学问题简化为对函数的调用,极大地提高了解决问题的效率。

Mathematica 提供了所有的三角、反三角、双曲、反双曲、各种特殊函数(如贝塞尔函数系、椭圆函数等),各种复数函数(如Im[z],Re[z],Conjugate[z], Abs[z],Arg[z]),各种随机函数(如Random[n]可以通过不同的参数产生任意范围内整型、实型任意分布的随机数),矩阵运算函数(如求特征值特征向量的EigenV ector[],EigenValue[],求逆的Inverse[]等)。

Mathematica 还提供了大量数学操作的函数,如取极限的Limit[f[x],{x,a}],求微分的D[f[x],x],全微分的Dt[f[x],x],不定积分的Integrate[f[x],x]和定积分的Integrate[f[x],{x,a,b}],解任意方程的Solve[lhs=rhs,x]及微分方程的DSolve[lhs=rhs,x],解幂级数和付立叶展开的Series[f[x]],Fourier[f[x]]及其逆变化InverseSeries,InverseFourier, 求和函数Sum[],求积函数Product[],以上函数均可以适用于多维函数或多维方程。

Mathematica 中还有相当数量的数值计算函数,最常用的是N[表达式,整数]可以求出表达式精确到指定有效数字的数值解,还有如数值求积分的NIntegrate[],求方程数值根的NSolve[]和NDSolve[],最小、最大值的NFindMinimum[]和NFindMaximum[]等等。

Mathematica 还有各种表达式操作的函数,如取分子、分母的 Numerator[expr] , Denormator[expr],取系数的Coefficient[expr],因式分解的Factor[expr],以及展开的Expand[expr]和ExpandAll[expr],表达式化简的Simplify[expr]等。expr 代表一个任意的表达式。

.

求极限

计算函数极限)(lim 0

x f x x -的一般形式是: Limit[expr,x->x0] x->x0时函数的极限 Limit[expr,x->x0,Direction->-1] x->-

0x 时函数的极限 Limit[expr,x->x0, Direction->1] x->+

-0

x 时函数的极限

In[1]:= Limit @S in @x

D x,x

D

Out[1]:=1

.

微商和微分

在Mathematica 中能方便地计算任何函数表达式的任意阶微商(导数).如果f 是一元函数,D[f,x]

表示

dx x df )(;如果f 是多元函数,D[f,x]表示

f x

??

.微商函数的常用形式如下: D[f,x] 计算偏导数f x

??

D[f,x1,x2,…] 计算多重导数1x ??2

x ??

…f

D[f,{x,n}] 阶导数

计算n f x

n

n ??

In[1]:=D[x^x,x] Out[1]:=

x x H 1+Log

@D L

下面列出全微分函数Dt 的常用形式及其意义:

Dt[f] 全微分 df

Dt[f,x] 全导数

dx

df

Dt[f,x1,x2,…] 多重全导数

f dx df

dx df (2)

1

In[1]:=Dt[x^2+y^2] Out[1]:= 2x Dt @x D +2y

D @D

.

不定积分和定积分

1. 不定积分

Integreate 函数主要计算只含有1“简单函数”的被积函数. “简单函数”包括有理函数、指数函数、对数函数和三角函数与反三角函数。不定积分一般形式如下:

Integrate[f ,x] 计算不定积分?dx x f )( Integrate[f ,x ,y] 计算不定积分??dy y x f dx ),( Integrate[f ,x ,y ,z] 计算不定积分???dz z y x f dy dx ),,(

In[1]:= Integrate @1 H x ^2-1

L D Out[1]:= 12

Log @-1+x D -

12Log @1

D

In[2]:= Integrate @3 x^2+y,

x D

Out[2]:=

x 3

y +

2.定积分

计算定积分的命令和计算不定积分是同一个Integrate 函数,在计算定积分时,除了要给出变量外还要给出积分的上下限。当定积分算不出准确结果时,用N[%]命令总能得到其数值解.Nintegrate 也是计算定积分的函数,其使用方法和形式和Integrate 函数相同.用Integrate 函数计算定积分得到的是准确解,Nintegrate 函数计算定积分得到的是近似数值解.计算多重积分时,第一个自变量相应于最外层积分放在最后计算.

Integrate[f,{x,a,b}] 计算定积分?b

a dx x f )( NIntegrate[f,{x,a,b}] 计算定积分?b

a dx x f )(

Integrate[f,{x,a,b},{y,c,d}] 计算定积分??d

c b

a dy y x f dx ),( NIntegrate[f,{x,a,b},{y,c,d}] 计算定积分??d

c b

a dy y x f dx ),(

In[1]:=

Integrate @C os @x D ^2+Sin @x D ^3,8x ,0,

Out[1]:= 7

6

-3Cos @1

D 4

+

Cos @3D 12

+

Si

@D

In[2]:= NIntegrate @C os @x D ^2+Sin @x D ^3,8x ,0,

In[3]:= Integrate @x +y,8x ,b,a <,8y ,0,

i k a 3

3-

y {

.

幂级数

幂级数展开函数Series 的一般形式:

Series[expr,{x,x0,n}] 将expr 在x=x0点展开到n 阶的级数

Series[expr,{x,x0,n},{y,y0,m}] 先对y 展开到m 阶再对x 展开n 阶幂级数 用Series 展开后,展开项中含有截断误差][x n

O

In[1]:= Series @S in @2 x D ,8x ,0,

Out[1]:= 2x -4x 33

+

4x 5

15+O

@D

In[2]:=

Series @f @x D ,8x ,o,

@o

D H x -o L +

12

f

¢¢

@o

D H x -o

L 2

+

16

f

H

3

L @o

D H x -

L O @x -o

D 4

In[3]:= Series @C os @x D Cos @y D ,8x ,0,3<,8y ,0,

+O @y

D 4

y {+i k -

12

+

y 24

+O @y

D 4

y {x 2

+O

@

D

.

常微分方程

求解常微分方程和常微分方程组的函数的一般形式如下:

Dsolve[eqns,y[x],x] 解y(x)的微分方程或方程组eqns,x 为变量 Dsolve[eqns,y,x] 在纯函数的形式下求解

NDsolve[eqns,y[x],x,{xmin,xmax}] 在区间{xmin,xmax}上求解变量x 的数的形式下求解常微分方程和常微分方程组eqns 的数值解

In[1]:=

DSolve @y '@x D a y @x D ,y

@x D Out[1]:= 8y @x D ??a x C

@D < In[2]:=

DSolve

@8y '@x D a y @x D ,y @0D 1<,y @x

D D Out[2]:=

8y @x D ?

?< In[3]:=

DSolve @8x '@t D y @t D ,y'@t D x @t

D <,8x @t D ,y

@D

D

Out[3]:=

9x @t D ?12

?-t I C @1D +?2t C @1D -C @2D +?2t C @2

D M y @t D ?

12

?-t I -C @1D +?2t C @1D +C @2D +?2t C @2

D M =

.

线性代数

1. 定义向量和矩阵函数

定义一个矩阵,可用函数Table 或Array.当矩阵元素能用一个函数表达式时,用函数Table 在定义矩阵大小的同时也给每个矩阵元素定义确定的值.用函数Range 只能定义元素为数值的向量.Array 只能用于定义向量、矩阵和张量,并规定矩阵和张量的元素下标从1开始.Array 的一般形式: Array[向量元素名,n,f]

定义下标从f 开始的有n 个元素的向量,当f 是1时可省略. Array[矩阵元素名,{m,n}]

定义m 行n 列的矩阵.其中:矩阵元素名是一个标识符,表示矩阵元素的名称,当循环范围是{u,v,w}时定义一个张量. Table[表达式f,循环范围]

表达式f 表示向量或矩阵元素的通项公式;循环范围定义矩阵的大小. 循环范围的一般形式:{循环变量名,循环初值,循环终值,循环步长}.

在Array 或Table 的循环范围表示方法略有区别.请在下面的实例中注意观察. In[1]:= Table @a @i ,j D ,8i ,2<,8j ,

D <,8a @2,1D ,a @2,D <(*矩阵每一行元素用一对{}括起来*)

In[2]:= U =Array @a ,82,

D <,8a @2,1D ,a @2,

D < In[3]:=

IdentityMatri

@D

(*IndentityMatrix[n]生成n 维矩阵*)

Out[3]:= 81,0,0<,80,1,0<,80,0,< In[4]:= DiagonalMatrix

@81,2,

< In[5]:=

TableFor

@D

(*TableForm[m]或MatrixForm[m]按矩阵形式输出m*) Out[5]:=

10020

一个矩阵可用一个变量表示,如In[2]所示U 是一个矩阵,则U[[I]]表示U 的第I 行的N 个元

素;Transpose[U][[j]]表示U 的第J 行的M 个元素;U[[I,j]]或a[I,j]表示U 的第I 行第J 列元素;U[[{i1,i2,…,ip},{j1,j2,…,jq}]]表示由行为{i1,i2,…,ip}和列为{j1,j2,…,jq}组成的子矩阵.

2.矩阵的运算符号和函数

表达式 意义

A+c A 为矩阵,c 为标量,c 与A 中的每一个元素相加 A+B A,B 为同阶矩阵或向量,A 与B 的对应元素相加 cA A 为矩阵,c 为标量,c 与A 中的每个元素相乘 U.V 向量U 与V 的内积

A.B 矩阵A 与矩阵B 相乘,要求A 的列数等于B 的行数 Det[M]

计算矩阵M 的行列式的值

Transepose[M] M 的转置矩阵(

M

T 或

M

'

) Inverse[M] 计算矩阵M 的逆矩阵(M

1

)

Eigenvalus[A] 计算矩阵A 的全部(准确解)特征值 Eigenvalus[N[A]] 计算矩阵A 的全部(数值解)特征值 Eigenvectors[A] 计算矩阵A 的全部(准确解)特征向量 Eigenvectors[N[A]] 计算矩阵A 的全部(数值解)特征向量

Eigensystem[A] 计算矩阵A 的所有(准确解)特征值和特征向量 Eigensystem[N[A]] 计算矩阵A 的所有(数值解)特征值和特征向量

3. 方程组求解函数

在Mathematica 中用LinerSolve[A,B],求解满足AX=B 的一个解.如果A 的行列式不为零,那么这个解是方程组的唯一解; 如果A 的行列式是零,那么这个解是方程组的一个特解,方程组的全部解由基础解系向量的线性组合加上这个特解组成.

NullSpace[A]计算方程组AX=0的基础解系的向量表,用LinerSolve[A,B]和NullSpace[A]联手解出方程组AX=B 的全部解.

Mathematica 中还有一个美妙的函数RowReduce[A],它对A 的行向量作化间成梯形的初等线性变换.用RowReduce 可计算矩阵的秩,判断向量组是线性相关还是线性无关和计算极大线性无关组等工作. 解方程组函数 意义 RowReduce[A] 作行的线性组合化简A,A 为m 行n 列的矩阵

LinerSolve[A,B] 求解满足AX=B 的一个解,A 为方阵

NullSpace[A]

求解方程组AX=0的基础解系的向量表, A 为方阵

例:已知A=11110-131-1

3

2

1,计算A 的秩,计算AX=0的基础解系.

In[1]:= A =

81,1,1,1<,81,0,-1,1<,83,1,-1,3<,83,2,1,< In[2]:= RowReduc

@D Out[2]:= 81,0,-1,1<,80,1,2,0<,80,0,0,0<,80,0,0,

<(*显然,A 的秩是2*) In[3]:= NullSpac

@D Out[3]:= 8-1,0,0,1<,81,-2,1,<

(*A 的两个线性无关解*)

五.程序流程控制

作为一种语言,Mathematica 提供了分支、循环、跳转等程序控制语句,如

If[test,block1,block2]表明满足条件test ,则执行语句块block1,否则执行block2;Switch[expr,test1,block1,test2,block2,....]表示如果表达式expr 的值等于第i 个testi 的值,则执行语句块blocki 。

循环语句有For[赋初值,循环条件,增量语句,语句块]表示如果满足循环条件,则执行语句块和增量语句,直到不满足条件为止,While[test,block]表明如果满足条件test 则反复执行语句块block,否则跳出循环,Do[block,{i,imin,imax,istep}]与前者功能是相同的。还有Goto[lab], Label[lab]提供了程序中无条件跳转,Continue[]和Break[]提供了继续循环或跳出循环的控制,Catch[语句块1]和Throw[语句块2]提供了运算中对异常情况的处理。另外,在程序中书写注释可以用一对"(* *)"括起来,注释可以嵌套。

六.其他

以上是对Mathematica 语法的一些特点做了一个很粗略的介绍,如果同学们对Mathematica 感兴趣,你最好还是亲自使用一下。上机的过程中,希望你注意以下几点∶ 1. 使用帮助,Mathematica 的帮助文件提供了Mathematica 内核的基本用法的说明,十分详细,可以参照学习。

2. 你可以使用"? 符号名"或"??符号名"来获得关于该符号(函数名或其他)的粗略或详细介绍。符号名中还可以使用通配符,例如?M*,则系统将给出所有以M 开头的关键词和函数名,再如??For 将会得到关于For 语句的格式和用法的详细情况。

3. 在Mathematica 的编辑界面中输入语句和函数,确认光标处于编辑状态(不断闪烁),然后按Insert 键来对这一段语句进行求值。如果语句有错,系统将用红色字体给出 出错信息,你可以对已输入的语句进行修改,再运行。如果运行时间太长,你可以通过Alt+.(Alt+

句号)来中止求值。

4. 对函数名不确定的,可先输入前面几个字母(开头一定要大写),然后按Ctrl+K,系统会自动补全该函数名。

关于Mathematica我们就暂时介绍到这里,由于水平有限,只能介绍一些基本用法,有兴趣的同学可以多上机,自己摸索,一定会有收获的。当然,计算机是为我们服务的,我们不是为了学习而学习,而是应该把它当成一种有力的工具,应用与我们的日常学习、工作和生活中。希望Mathematica会为你将来的探索之路增添一份力量。

七.应用例子

量子一维、二维简谐振子问题

量子一维简谐振子图像

量子二维简谐振子图像

Mathematica入门教程含习题与答案

Mathematica入门教程 第1篇 第1章MATHEMATICA概述 (3) 1.1 M ATHEMATICA的启动与运行 (3) 1.2 表达式的输入 (4) 1.3 M ATHEMATICA的联机帮助系统 (6) 第2章MATHEMATICA的基本量 (8) 2.1 数据类型和常数 (8) 2.2 变量 (10) 2.3 函数 (11) 2.4 表 (14) 2.5 表达式 (17) 2.6 常用的符号 (19) 2.7 练习题 (19) 第2篇 第3章微积分的基本操作 (20) 3.1 极限 (20) 3.2 微分 (20) 3.3 计算积分 (22) 3.4 无穷级数 (24) 3.5 练习题 (24) 第4章微分方程的求解 (26) 4.1 微分方程解 (26) 4.2 微分方程的数值解 (26) 4.3 练习题 (27) 第3篇 第5章MATHEMATICA的基本运算 (28) 5.1 多项式的表示形式 (28) 5.2 方程及其根的表示 (29) 5.3 求和与求积 (32) 5.4 练习题 (33) 第6章函数作图 (35) 6.1 基本的二维图形 (35) 6.2 二维图形元素 (40) 6.3 基本三维图形 (42) 6.4 练习题 (46)

第4篇 第7章MATHEMATICA函数大全 (48) 7.1 运算符和一些特殊符号,系统常数 (48) 7.2 代数计算 (49) 7.3 解方程 (50) 7.4 微积分 (50) 7.5 多项式函数 (51) 7.6 随机函数 (52) 7.7 数值函数 (52) 7.8 表相关函数 (53) 7.9 绘图函数 (54) 7.10 流程控制 (57) 第8章MATHEMATICA程序设计 (59) 8.1 模块和块中的变量 (59) 8.2 条件结构 (61) 8.3 循环结构 (63) 8.4 流程控制 (65) 8.5 练习题 (67) --------------习题与答案在68页-------------------

Mathematica使用教程

Mathematica 教程 【Mathematica 简介】 Mathematica 软件是由沃尔夫勒姆研究公司 (Wolfram Research Inc.)研发的。Mathematica 1.0 版发布于1988年6月23日。发布之后,在科学、技术、媒体等领域引起了一片轰动,被认为是一个革命性的进步。几个月后,Mathematica就在世界各地拥有了成千上万的用户。今天,Mathematica 已经在世界各地拥有了数以百万计的忠实用户。 Mathematica已经被工业和教育领域被广泛地采用。实际上,Mathematica负责将高级的数 学和计算引入了传统上非技术的领域,极大的增加了科技软件的市场。一个包含应用、咨询、 书籍、和课程软件的行业支持着国际化的Mathematica用户群,这个行业还在不断地膨胀。 随着沃尔夫勒姆研究公司不断地扩大和Mathematica的使用被不断地扩展到不同的领域, 将会看到Mathematica在全世界范围内对未来产品、重要研究发现、和教学的巨大影响。 数学软件是现在科研工作者的必备的工具,个人比较喜欢用Mathematica,因为它是最接近数学语言的。Mathematica在15日发布,其最显著的变化是允许自由形式的英文输入,而不再需要严格按照Mathematica语法,这类似于Wolfram|Alpha搜索引擎。Mathematica 8 允许用户按照自己习惯的思考过程输入方程式或问题,最令人激动的部分是软件不是逐行执 行命令,而是能理解上下文背景。 1. En ter your queries in pla in En glish using new free-form lin guistic in put 2. Access more tha n 10 trilli on 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 visualizati on capabilities on the market 5. Choose from a full suite of engin eeri ng tools, such as wavelets and con trol systems 6. Use more powerful image process ing and an alysis capabilities 7. Create in teractive tools for rapid explorati on of your ideas 8. Develop faster and more powerful applicati ons

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软件,如何输入并运行命令

Mathematica7.0简易教程

Mathematica7.0简易教程 第1章Mathematica概述 1.1 Mathematica的启动与运行 Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。 假设在Windows环境下已安装好Mathematica7.0,启动Windows后,在“开始”菜单的“程 序”中单击就启动了Mathematica7.0,在屏幕上显示如图的Notebook 窗口,系统暂时取名“未命名-1”,直到用户保存时重新命名为止。 输入1+1,然后按下Shif+Enter键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In[1]和Out[1],注意In[1]是计算后才出现的;再输入第二个表达式,要求系统将一个二项式展开,按Shift+Enter输出计算结果后,系统分别将其标识为In[2]和Out[2].如图 在Mathematica的Notebook界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像C那样的结构化程序。在Mathematica系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function), 直接调用这些函数可以取到事半功倍的效果。这些函数分为两类,一类是数学意义上的函数,如:绝对值函数Abs[x],正弦函数Sin[x],余弦函数Cos[x],以e为底的对数函数Log[x],以a为底的对数函数Log[a,x]等;第二类是命令意义上的函数,如作函数图形的函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x],求导函数D[f[x],x]等。 必须注意的是:

Mathematica入门教程

Mathematica入门教程 Mathematica的基本语法特征 如果你是第一次使用Mathematica,那么以下几点请你一定牢牢记住: Mathematica中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名。 系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[x],Conjugate[z]等。 乘法即可以用*,又可以用空格表示,如2 3=2*3=6 ,x y,2 Sin[x]等;乘幂可以用“^”表示,如x^0.5,Tan[x]^y。 自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。 当你赋予变量任何一个值,除非你明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,它将始终保持原值不变。 一定要注意四种括号的用法:()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12 Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。 Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。 一.数的表示及计算 1.在Mathematica中你不必考虑数的精确度,因为除非你指定输出精度,Mathematica总会以绝对精确的形式输出结果。例如:你输入 In[1]:=378/123,系统会输出Out[1]:=126/41,如果想得到近似解,则应输入 In[2]:=N[378/123,5],即求其5位有效数字的数值解,系统会输出Out[2]:=3.073 2,另外Mathematica还可以根据你前面使用的数字的精度自动地设定精度。 Mathematica与众不同之处还在于它可以处理任意大、任意小及任意位精度的数值,如100^7000,2^(-2000)等数值可以很快地求出,但在其他语言或系统中这是不可想象的,你不妨试一试N[Pi,1000]。 Mathematica还定义了一些系统常数,如上面提到的Pi(圆周率的精确值),还有E(自然对数的底数)、I(复数单位),Degree(角度一度,Pi/180),Infinity(无穷大)等,不要小看这些简单的符号,它们包含的信息远远大于我们所熟知的它们的近似值,它们的精度也是无限的。 二.“表”及其用法 “表”是Mathematica中一个相当有用的数据类型,它即可以作为数组,又可以作为矩阵;除此以外,你可以把任意一组表达式用一个或一组{}括起来,进行运算、存储。可以说表是任意对象的一个集合。它可以动态地分配内存,

mathematica教程

Mathematica 5.0使用教程目录 第1章Mathematica概述 (3) 1.1 运行和启动:介绍如何启动Mathematica软件,如何输入并运行命令 (3) 1.2 表达式的输入:介绍如何使用表达式 (5) 1.3 帮助的使用:如何在mathematica中寻求帮助 (6) 第2章Mathematica的基本量 (8) 2.1 数据类型和常量:mathematica中的数据类型和基本常量 (8) 2.2 变量:变量的定义、变量的替换、变量的清除等 (10) 2.3 函数:函数的概念,系统函数,自定义函数的方法 (12) 2.4 表:表的创建,表元素的操作,表的应用 (15) 2.5 表达式:表达式的操作 (16) 2.6 常用符号:经常使用的一些符号的意义 (19) 第3章Mathematica的基本运算 (19) 3.1 多项式运算:多项的四则运算,多项式的化简等 (19) 3.2 方程求解:求解一般方程,条件方程,方程数值解以及方程组的求解 (21) 3.3 求积、求和:求积与求和 (24) 第4章函数作图 (25) 4.1 二维函数作图:一般函数的作图,参数方程的绘图 (25) 4.2 二维图形元素:点、线等图形元素的使用 (29) 4.3 图形样式:图形的样式,对图形进行设置 (31) 4.4 图形的重绘和组合:重新显示所绘图形,将多个图形组合在一起 (33) 4.5 三维图形的绘制:三维图形的绘制,三维参数方程的图形,三维图形的设置 (36) 第5章微积分的基本操作 (42) 5.1 函数的极限:如何求函数的极限 (42)

5.2 导数与微分:如何求函数的导数、微分 (43) 5.3 定积分与不定积分:如何求函数的不定积分和定积分,以及数值积分 (45) 5.4 多变量函数的微分:如何求多元函数的偏导数、微分 (47) 5.5 多变量函数的积分:如何计算重积分 (49) 第6章微分方程的求解 (51) 6.1 微分方程的解:微分方程的求解 (51) 6.2 微分方程的数值解:如何求微分方程的数值解 (53) 第7章Mathematica程序设计 (54) 7.1 模块:模块的概念和定义方法 (54) 7.2 条件结构:条件结构的使用和定义方法 (56) 7.3 循环结构:循环结构的使用 (59) 7.4 流程控制 (61) 第8章Mathematica中的常用函数 (63) 8.1 运算符和一些特殊符号:常用的和不常用一些运算符号 (63) 8.2 系统常数:系统定义的一些常量及其意义 (63) 8.3 代数运算:表达式相关的一些运算函数 (64) 8.4 解方程:和方程求解有关的一些操作 (65) 8.5 微积分相关函数:关于求导、积分、泰勒展开等相关的函数 (65) 8.6 多项式函数:多项式的相关函数 (66) 8.7 随机函数:能产生随机数的函数函数 (67) 8.8 数值函数:和数值处理相关的函数,包括一些常用的数值算法 (67) 8.9 表相关函数:创建表,表元素的操作,表的操作函数 (68) 8.10 绘图函数:二维绘图,三维绘图,绘图设置,密度图,图元,着色,图形显示等函数 (69) 8.11 流程控制函数 (72)

mathematica实用教程

mathematica实用教程

此文档9.0.1.0版的mathematica为例,侧重函数作图、方程求解、置信区间等方面,仅限学习交流。 以后更新在blog:https://www.doczj.com/doc/1b10109794.html,/post/228eea_1507ef1,email:misaraty@https://www.doczj.com/doc/1b10109794.html,。 misaraty 2014.8.9

mathematica简介 (1) 特殊字符插入(希腊字母、积分号、运算符号...) . (3) 特殊排版插入(上下标、根号...) (4) 运算的执行和中断 (4) 已完成计算的简单调用 (4) 数的类型及表达 (4) 数型之间的转换 (5) 系统中常见的数学常量 (6) 函数与变量的命名规则 (7) 变量赋值和变量替换 (7) 表的使用方法 (7) 四则运算 (7) 初等函数 (8) 常用函数 (8) 函数的定义与输入格式 (8) 分段函数 (9) 绘制函数图形 (10) 数据组的绘图 (15) 图形的合并与排列 (16) 计算极限 (17) 求函数导数 (17) 求函数的积分 (18) 求解微分方程 (18) 计算行列式 (19) 方程的求解 (19) 曲线拟合及回归分析 (20) 描述统计 (22) 置信区间 (23) 参考文献 (24)

mathematica简介 mathematica界面: mathematica是美国wolfram research公司于1988年开发的数学计算软件,目前有中文版,人们称之“数学草稿纸”,具有数值计算(计算过程和结果不包含任何未知数/代数,以具体的数值形式进行)、符号计算(运算过程包含代数的运算)及作图功能,每个输入命令需要全名(输入时会有列表提示),还有强大的帮助-参考资料中心等,为数学外学科提供智力支持。

Mathematic入门教程(整理版)

(1)简介 数学系给本科生开设一门课: "符号计算系统", 主要简单讲授mathematica(以下简称math)软件的使用及其编程,赶兴趣的同学可以找本math书以求更深入的了解. 我们平日用到编程语言时, 大家都知道编程中用到的整型, 实型, 甚至双精度数, 都只是一个近似的数, 其精度有限, 有效数字有限, 在很多时候达不到实际需要的要求. 符号计算与数值计算的区别就在于符号计算以准确值记录计算的每一步的结果, 如果需要时, 可以将精确表示按需要计算成任意位数的小数表示出来(只要机器内存足够大). 最常见的符号计算系统有maple, mathematica, redues等, 这些软件各有侧重, 比如,maple内存管理及速度比math好, 但是图形方面不如math; redues没找到, 没用过, 未明; 而用得较多的matlab编程环境特好, 和C语言接口极其简单, 遗憾的是它不是符号计算, 只是数值计算. 所以, 就实用而全面来说, math是一个很好用的软件. math软件不仅能够进行一般的+-*/及科学函数如Sin, Log 等计算, 而且能进行因式分解, 求导, 积分, 幂级数展开, 求特征值等符号计算, 并且, math有较强的图元作图, 函数作图, 三维作图及动画功能. (2)mathematica入门 mathematica自发布以来, 目前比较常见的有math 1.2 for DOS, math 2.2 for Windows, math 3.0 for win95, math 3.0 for UNIX. DOS下的math的好处就是系统小, 对机器要求低, 在386机器4M内存下就能运行得很好(机器再低点也是可以用的, 比如说286/2M). 在DOS下直接键入math<回车>即可进入math系统, 出现的提示符In[1]:=, 这时就可以进行计算了, 键入math函数, 回车即可进行运算. 如果输入的Quit, 则退出math. 这里要注意的是, math区分大小写的, 一般math 的函数均以大写字母开始的. windows下的math对机器要求就要高一些了, math3.0更是庞大, 安装完毕有100M之多(2.2大约十多兆). 同windows下的其他软件一样, math可以双击图标运行, 在File菜单下有退出这一项. windows下的math有其优越性, 就是可以在windows下随心所欲地拷贝粘贴图形. math3.0更是能输入和显示诸如希腊字母, 积分符号, 指数等数学符号. DOS的math与windows下的一个区别是DOS的以回车结束一句输入, 而windows的以+<回车>结束一句输入. DOS下的提示符显示为In[数字]:=, 而windows下在结束输入后才显

Mathematica教程3

绘制函数f(x,y)在平面区域上的三维立体图形的基本命令是Plot3D,Plot3D和Plot的工作方式和选项基本相同。ListPlot3D可以用来绘制三维数字集合的三维图形,其用法也类似于listPlot,下面给出这两个函数的常用形式。 Plot3D[f ,(x,xmin,xmax),(y,ymin,ymax)] 绘制以x和y为变量的三维函数/的图形ListPlot3D[{Z11,Z12,…},{Z21,Z22,…},…..]] 绘出高度为Zvx 数组的三维图形 Plot3D同平面图形一样,也有许多输出选项,你可通过多次试验找出你所需的最佳图形样式。

1.三维绘图举例 (1).函数sin(x+y)cos(x+y)的立体图

(2).对于三维图形中Axes、Axeslabel、Boxed等操作同二维图形的一些操作很相似。用PlotRange设定曲线的表面的变化范围。 (3).图形轴上加上标记,且在每个平面上画上网格。

(4).视图的改变 学习过画法几何或工程制图的都知道,制图时通常用三视图来表示一个物体的具体形状特性。我们在生活中也知道从不同观察点观察物体,其效果是很不一样的。Mathematica在绘制立体图形时,在系统默认的情况下,观察点在(1.3,-2.4,2)处。这个参考点选择是具有一般性的,因此偶尔把图形的不同部分重在一起也不会发生视觉混乱。 下面例子改变观察视点。

从上面我们可以看出,观察点位于曲面的上方有利于看清对于图形全貌。对于较复杂的图形,我们在所绘的图形上包括尽可能多的曲线对于我们观察很有帮助。同时,在曲面的周围直接绘出立方体盒子也有利于我们认清曲面的方位。 (6).下面是没有网格和立体盒子的曲面图,它看起来就不如前面的图形清晰明了。 (7).下图给出没有阴影的曲面

mathematica5教程

Mathematica5教程 第1章Mathematica概述 1.1 运行和启动:介绍如何启动Mathematica软件,如何输入并运行命令1.2 表达式的输入:介绍如何使用表达式 1.3 帮助的使用:如何在mathematica中寻求帮助 第2章Mathematica的基本量 2.1 数据类型和常量:mathematica中的数据类型和基本常量 2.2 变量:变量的定义,变量的替换,变量的清除等 2.3 函数:函数的概念,系统函数,自定义函数的方法 2.4 表:表的创建,表元素的操作,表的应用 2.5 表达式:表达式的操作 2.6 常用符号:经常使用的一些符号的意义 第3章Mathematica的基本运算 3.1 多项式运算:多项的四则运算,多项式的化简等 3.2 方程求解:求解一般方程,条件方程,方程数值解以及方程组的求解3.3 求积求和:求积与求和 第4章函数作图 4.1 二维函数作图:一般函数的作图,参数方程的绘图 4.2 二维图形元素:点,线等图形元素的使用 4.3 图形样式:图形的样式,对图形进行设置 4.4 图形的重绘和组合:重新显示所绘图形,将多个图形组合在一起 4.5 三维图形的绘制:三维图形的绘制,三维参数方程的图形,三维图形的 设置 第5章微积分的基本操作 5.1 函数的极限:如何求函数的极限 5.2 导数与微分:如何求函数的导数,微分 5.3 定积分与不定积分:如何求函数的不定积分和定积分,以及数值积分5.4 多变量函数的微分:如何求多元函数的偏导数,微分 5.5 多变量函数的积分:如何计算重积分 5.6 无穷级数:无穷级数的计算,敛散性的判断 第6章微分方程的求解 6.1 微分方程的解:微分方程的求解 6.2 微分方程的数值解:如何求微分方程的数值解 第7章Mathematica程序设计 7.1 模块:模块的概念和定义方法 7.2 条件结构:条件结构的使用和定义方法

相关主题
文本预览
相关文档 最新文档