您好,欢迎来到图艺博知识网。
搜索
您的当前位置:首页Mathematica软件使用入门讲解

Mathematica软件使用入门讲解

来源:图艺博知识网


Mathematica软件使用入门

目录

第一章 基本知识与基本操作 ................................................................................................................................. 3 1.1 Mathematica的基本语法特征..................................................................................................................... 3 1.2 Mathematica的启动、基本操作................................................................................................................. 4 1.3 操作小技巧 .................................................................................................................................................. 7 1.4 数值计算 ...................................................................................................................................................... 8 1.5 赋值与替换 .................................................................................................................................................. 9 1.6 自定义函数 ................................................................................................................................................ 10 1.7 方程与方程组解 .........................................................................................................................................11 1.8 解不等式与不等式组 ................................................................................................................................ 12 1.9 由递推式求数列的通项公式 .................................................................................................................... 13 1.10 作函数图像 .............................................................................................................................................. 14 第二章 运用Mathematica实现高等数学中的基本运算 ..................................................................................... 16 2.1 求极限运算 .................................................................................................................................................. 16 2.2 求导数与微分 .............................................................................................................................................. 18 2.3 求不定积分 .................................................................................................................................................. 25 2.4 求定积分 ...................................................................................................................................................... 25 第三章 实验练习题 ............................................................................................................................................... 28

1

Mathematica是当今世界上最为流行的计算机代数系统之一.

Mathematica系统是美国物理学家Stephen.Wolfram领导的一个小组开发的,后来他们成立了Wolfram研究公司.1987年推出了系统的1.0版;现在的最新版本是8.0版.

Mathematica可以做:

 符号计算和数值计算问题,如:能做多项式的计算、因式分解和展开等;  做各种有理式计算,求多项式、有理式方程和超越方程的精确解和近似解;

 做向量、矩阵的各种计算;

 求极限、导数、积分,做幂级数展开,求解某些微分方程等;  做任意位数的整数或分子分母为任意大整数的有理数的精确计算,做具有任意位精度的数值(实、复数值)的计算.

 可以很方便地画出用各种方式表示的一元和二元函数的图形,通过图形,可以立即形象地掌握函数的某些特性,而这些特性一般是很难从函数的符号表达式中看清楚.

2

第一章 基本知识与基本操作

1.1 Mathematica的基本语法特征

使用Mathematica,一定要牢牢记住:

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

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

 乘法即可以用*,又可以用空格表示,如

2 3=2*3=6 , 2 Sin[x]=2* Sin[x]  乘幂可以用“^”表示,如

x^0.5 表示: x0.5Tan[x]^y 表示: Tan[x]y 自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头.  当你赋予变量任何一个值,除非你:

明显地改变该值

或 使用Clear[变量名] 或 使用“变量名=.”

取消该值,否则它将始终保持原值不变.

 一定要注意四种括号的用法:

3

( ): 表示项的结合顺序,如: (x+(y^x+1/(2x))); [ ]: 表示函数,如:Log[x], Sin[x];

{ }: 表示一个“表”(即是一组数字、或任意表达式、或函数等的一个有序集合),如:{2x,Sin[12 Pi],A,1}, {1+A,y*x,1,2};

[[ ]]: 双方括号表示“表”或“表达式”的下标,如:

a[[2,3]]表示:a23; {3,5,7}[[2]]=5.

 Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔).

 当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果.

 Mathematica命令中的标点符号必须是英文的.

1.2 Mathematica的启动、基本操作

1.2.1 启动“Mathematica”:

在windows操作系统中安装了Mathematica后,与其他的常用软件一样,可从“开始”→“程序”→“Mathematica5”  Mathematica的主窗口并出现第一个notebook窗口(Untitled-1):

4

1.2.2 简单使用:

例1.1 计算 +33 的值

① 在“Untitled-1”窗口中输入:

329/412+3^3

② 按下“Shift+Enter”(或数字键盘上的Enter键),就得到计算结果:

其中“In[1]:=”是Mathematica自动加上的,表示第一个输入;“Out[1]:=”表示第一个输出.

一般地:

In[n]:= 表示第n个输入 Out[n]:=表示第n个输出.

注意:“In[n]:=” 自动加上的,不能人工输入!

5

1.2.3 保存结果:

保存方法同一般的Windows软件:“文件”→ “保存”“另存为”窗口→ 在“查找范围”内找到目标文件夹 → 输入文件名(比如输入“1”)→“ ”.

Mathematica 4或Mathematica 5的文件的后缀是“nb”,当输入“1”时,即产生文件“1.nb”.

1.2.4 打开文件1.nb

启动Mathematica →“文件”→“打开”  打开”窗口:→ 在“查找范 围”内找到文件“1.nb” →“ ”即可.

6

1.2.5 退出Mathematica:

与一般应用软件一样,单击右上方的“ ”按钮(或用菜单:“文件”→“退出”).

1.3 操作小技巧

1.3.1 Ctrl+K的用途

如果只知道命令的首写字母, 可在输入该首写字母(要大写),再按下“Ctrl+K”组合键, 则所有以该字母为首的命令都列出来,只要用鼠标双击命令名就输入了该命令. 1.3.2 使用前面已有的结果 举例如下:

例1.2 做如下操作:

Integrate[f,x]是求: f(x)dx Integrate[f,{x,xmin,xmax}]是求: xmaxxminf(x)dx ① 输入:Integrate[x^2*(11-Sin[x]),{x,-1,1}]

按:“Shift+Enter”; ② 输入:%+1,按:“Shift+Enter”; ③ 输入:%+1,按:“Shift+Enter”; ④ 输入:%1+1,按:“Shift+Enter”; ⑤ 输入:%3+1,按:“Shift+Enter”, 计算结果如下:

7

可见,“%”表示前一个计算结果;“%n”表示第n个计算结果. 1.3.3 删除行:

见下图示

只要选 定且删 除此即 可

1.4 数值计算

请看下例:

系统默认的计算结果,是精确的. N[],取近似值函数,默认输出6位有效数字. N[],取近似值函数,指定输出3位有效数字.

8 数,指定输出18位有效数字. N[],取近似值函

1.5 赋值与替换

X=. 或Clear[x] 清除赋给x的值

expr/.{x->xval,y->yval} 用xval、yval分别替换expr中的x、y. 例1.3 输入:x=3;y=4;w=x+y 计算 清除变量的定义和值 输入:Clear[x,y]; 计算 输入:z=(x+y)^2 计算 输入:z/.x->5 计算 将(x+y)^2赋给z 变量替换: 用5代替表达式z中的变量输入:Clear[x,y]; 计算 变量替换: 输入:u=x+y 计算

9 分别用5、6代替表达式u中的变量x、y 输入:u/.{x->5,y->6} 计算 计算结果如下:

1.6 自定义函数

用户可以自行定义函数,一个函数一旦被定义好之后就可以象系的内部函数一样使用.

例1.4 如要定义函数

f(x)=x2+3x-2

只要键入:

f[x_]:=x^2+3x-2 即可.又如要定义分段函数

“:=”是定义符. 左边f是函数名,方括号内x是自变量,其后的下划线“_”不能少. 右边是函数的表达式. x2+1 x < 0g(x)= 

2sinx x0

10

可键入:

g[x_]:= Which[x<0,x^2+1,x>=0,2Sin[x]]

g[x_]:=If[x<0,x^2+1,2Sin[x]]

请见以下计算结果:

1.7 方程与方程组解

例1.5 ① 解方程:

Solve是解方程或方程组的函数.其格式为:Solve[eqns,vars] 其中方程用exp==0的形式(其中exp为未知元的表达式,“= =”0 必须是2个等号); x25x6输入:

Solve[x^2-5x+6==0,x]

即可.

② 解方程组 输入:

Solve[{x+y==1,3x^2-y^2==0},{x,y}] 即可(结果见下图).

11

xy1223xy1方程列表 未知数列表

1.8 解不等式与不等式组 例1.6 ① 解不等式组 22xx102x10 加载解不等式的程序包,这是必须的,可谓是固定的格式, “< ”为键盘上的小于号, “`”为数字键1的左侧的 Algebra —— 代数类 InequalitySolve —— 解不等式程序包 变量列表 不等式列表 输入: <0}, x] 即可.

② 解不等式

x1(x23)3 绝对值函数 输入: < 3, x] 即可(结果见下图)

12

注: Mathematica系统有内部函数.还有一些系统扩展的功能但不是作为内部函数的、以文件的形式存储在磁盘上的文件,要使用它们,必须用一定的方式来调用这些文件,这些文件我们称之为程序包. 调用方式之一如上所述:

<类名,此处是函数类 函数类中的这个函数 Needs[\"Algebra`InequalitySolve`\"]

1.9 由递推式求数列的通项公式

a 例1.7 设nnan1,a11,求数列的通项公式

只要输入:

离散类 离散类中的这个函数 <13

1.10 作函数图像

2yx-1和y=sinx在[-2,2]内的图像. 例1.8 在同一坐标系中作出

输入: Plot[{x^2-1,Sin[x]},{x,-2,2}] 结果见下图

例1.9 作出sinxcosy的三维图形 输入:

增加取样点提高光滑度 Plot3D[Sin[x]*Cos[y],{x,-2Pi,2Pi},{y,-2Pi,2Pi},PlotPoints->100] 即可(结果见下图)

14

15

第二章 运用Mathematica实现高等数学中的基本运算

极限、导数和积分是高等数学中的主要概念和基本运算,如果你在科研中遇到较复杂的求极限、求导数或求积分问题,Mathematica可以帮你快速解决这些问题。 Mathematica 提供了方便的命令使这些运算能在计算机上实现,使一些难题迎刃而解。

2.1 求极限运算

极限的概念是整个高等数学的基础,对表达式进行极限分析也是数学里很重要的计算分析。Mathematica提供了计算函数极限的命令的一般形式为:

Limit[函数, 极限过程]

具体命令形式为

命令形式1:Limit[f, x->x0]

功能:计算limfx , 其中f是x的函数。

xx0命令形式2:Limit[f, x->x0, Direction->1]

功能:计算limfx,即求左极限, 其中f是x的函数。

xx-0命令形式3:Limit[f, x->x0, Direction->-1]

功能:计算limfx,即求右极限,其中f是x的函数。

xx0注意:在左右极限不相等或左右极限有一个不存在时,Mathematica的默认状态为求右极限。 例题:

(例2.1 求极限limx111) xln2xx12解:Mathematica 命令为

16

In[1]:=Limit[1/(x Log[x]^2)-1/(x-1)^2, x->1] Out[1]=

1 12此极限的计算较难,用Mathematica 很容易得结果。

1例2.2 求极限lim1 nnn解:Mathematica 命令为

In[2]:=Limit[(1+1/n)^n, n->Infinity] Out[2]=E

例2.3写出求函数e在x->0的三个极限命令

解:Mathematica 命令为 1.Limit[Exp[1/x], x->0]

2.Limit[Exp[1/x], x->0, Direction->1] 3.Limit[Exp[1/x], x->0, Direction->-1] 读者可以比较其结果,观察区别。

xt2edx0 例2.4 求limx0x2t2tedx21x0解:Mathematica 命令为

In[3]:=Limit[Integrate[Exp[t^2], {t,0,x}]^2/Integrate[t Exp[t^2]^2,{t,0,x}], x->0]

17

Out[3]=2

命令中的“Integrate”表示求定积分(见4.4节)

x2(arctant)dt0例2.5求极限xlimx12

解:若输入命令

In[4]:=Limit[ Integrate[ArcTan[t]^2, {t,0,x}] / Sqrt[1+x^2] , x->+Infinity] 屏幕会出现如下的红色英文提示信息: On::none: Message SeriesData::csa not found. …………………………………………………… ComplexInfinity + <<1>> encountered.

说明不能得出正确结果。此时可以借助人工处理,如用一次洛必达法则后再求极限:

In[5]:=Limit[ArcTan[x]^2/(x/Sqrt[1+x^2]), x->Infinity]

Pi2Out[5]=

4

2.2 求导数与微分

2.2.1 求一元函数的导数与微分

导数是函数增量与自变量增量之比的极限,一元函数求导有显函数求导、参数方程求导和隐函数求导,Mathematica 对应的命令有:

18

 显函数求导

命令形式1: D[f, x] 功能:求函数f对x的偏导数。 命令形式2: D[f, {x, n}] 功能:求函数f对x的n阶偏导数。

x2例2.6 变上限函数f(x)01t2dt求导

解:Mathematica 命令为

In[6]:=D[Integrate[Sqrt[1-t^2], {t,0,x^2}], x]

2x2x5 Out[6]= 2xSqrt[1x4]/2 44Sqrt[1x]Sqrt[1x] In[7]:=Simplify[%] Out[7]= 2xSqrt[1x4]

 参数方程求导

对参数方程xx(t)dydy/dt所确定的函数y=f(x),根据公式和命令形式1,

dxdx/dtyy(t)可用三个Mathematica命令实现对参数方程的求导: r=D[x, t]; s=D[y,t]; Simplify[s/r] 或用Mathematica自定义一个函数:

pD[x_, y_, t_]:=Module[{s=D[y,t], r=D[x,t]}, Simplify[s/r]] 来实现。

19

例2.7求参数方程xt(1sint)的一阶导数。

ytcost解:Mathematica命令

In[8]:=x=t*(1-Sin[t]);y=t*Cos[t]; s=D[y,t]; r=D[x,t]; Simplify[s/r] Cos[t] - t Sin[t] Out[8]= --------------------- 1 - t Cos[t] - Sin[t] 或

In[9]:= pD[x_,y_,t_]:=Module[{s=D[y,t], r=D[x,t]}, Simplify[s/r]] In[10]:= pD[t*(1-Sin[t] ), t*Cos[t], t] Cos[t] - t Sin[t] Out[10]= ----------------------- 1 - t Cos[t] - Sin[t]

 隐函数求导

由方程f(x, y) = 0所确定的函数y=y(x)的导数可用一个自定义函数完成,这个函数为

impD[eqn_,y_,x_]:=Module[{s, r, t}, s=D[eqn, x, NonConstants->{y}]; r=Solve[s, D[y, x, NonConstants->{y}]]; t=D[y,x, Simplify[t] ]

注:这里NonConstants->{y}指出y不是常数,eqn为f(x, y) = 0,但等号要双

20

NonConstants->{y}]/.r;

写。

ye例2.8 求xye0所确定的函数y=y(x)的导数。

解:Mathematica命令

In[11]:= impD[eqn_, y_, x_]:=Module[{s,r,t}, s=D[eqn,x,NonConstants->{y}]; r=Solve[s,D[y,x, NonConstants->{y}]]; t=D[y,x, NonConstants->{y}]/.r;Simplify[t] ]

In[12]:=impD[Exp[y]+x*y-E==0, y, x] Out[12]=   微分

微分是函数增量的线性主部,函数y=f(x)的微分与导数的关系为dy = df =f  (x)dx,Mathematica命令为:

命令形式:Dt[f] 功能:对函数f(x)求微分df 例2.9 求ysinx2和y=sinv的微分. 解:Mathematica命令

In[13]:=Dt[Sin[x^2]] Out[13]=2 x Cos[x2 ] Dt[x] In[14]:=Dt[Sin[v]] Out[14]=Cos[v] Dt[v]

21

y yEx2.2.2 求多元函数偏导数与全微分

 偏导数

对多元函数f(x1,x2,…xn)的求导数的命令有如下几个:

命令形式1: D[f, x] 功能:求函数f对x的偏导数;

命令形式2: D[f, x1, x2, …] 功能:求函数f高阶混合偏导数

f; x1x2命令形式3: D[f, x, NonConstants->{v1,v2,…}]

功能:求函数f对x的偏导数,其中v1,v2,…是关于x的函数。 例题

例2.10 求z=asin(xy)对y和uexyz对z的偏导数. 解:Mathematica命令 In[15]:=D[a*Sin[x*y], y] Out[15]=axCos[x y] In[16]:=D[Exp[x+y+z^2], z] Out[16]=2Exyzz

2z例2.11 对函数zxysin(xy),求

xy3222解:Mathematica命令

In[17]:=D[x^3 *y^2+Sin[x*y], x, y] Out[17]=6x2yCosxyxySin[xy]

22

3z例2.12 对函数zxysin(xy), 求3

x32解:Mathematica命令

In[18]:=D[x^3 *y^2+Sin[x y], {x,3}] Out[18]=6y2y3Cosxy

例2.13 ux2y2z2,其中y,z是x的函数。 解:Mathematica命令

In[19]:=D[x^2+y^2+z^2, x, NonConstants->{y, z}]

Out[19]=2 x + 2 y D[y, x, NonConstants -> {y, z}] + 2 z D[z, x, NonConstants -> {y, z}]

其中:D[y, x, NonConstants -> {y, z}]和D[z, x, NonConstants -> {y, z}]分别表示y对x和的z对x的导数。

 全微分

多元函数f(x,y,z,…)的全微分命令同一元函数的微分,其命令为: 命令形式: Dt[f] 功能:求函数f的全微分。

例2.14 求zx2y2的全微分dz。 解:Mathematica命令 In[20]:=Dt[x^2+y^2] Out[20]=2 x Dt[x] + 2 y Dt[y]

23

如果多元函数的变量都是或部分是某一个变量的函数,则该函数关于此变量的导数称为的全导数,Mathematica有如下两个求全导数的命令:

命令形式1: Dt[f, x] 功能:求函数f的全导数。

命令形式2:Dt[f, x, Constants->{c1,c2,…}]

功能:求函数f的全导数,其中f中的变元与x无关。

注意:D[f, x]与Dt[f, x]的区别。

例2.15 求zx2y2的全导数解:Mathematica命令 In[21]:=Dt[x^2+y^2,x] Out[21]=2 x + 2 y Dt[y, x]

x2sinxyz2例2.16 求,其中y是与x无关的变量。

xdz,其中y是x的函数。 dx解:Mathematica命令

In[22]:=Dt[x^2+Sin[x y]+z^2, x, Constants->{y}] Out[22]=2 x + y Cos[x y] + 2 z Dt[z, x, Constants -> {y}]

24

2.3 求不定积分

高等数学中求不定积分是较费时间的事情,在Mathematica中,只要输入一个命令就可以快速求出不定积分来。

命令形式:Integrate[f, x] 功能:计算不定积分fxdx。

例2.17计算1dx 22sinxcosx解:Mathematica命令

In[23]:=Integrate[1/(Sin[x]^2 Cos[x]^2),x] Out[23]=-(Cos[2 x] Csc[x] Sec[x])

2.4 求定积分

定积分的计算是实际问题中经常遇到的问题,定积分计算同样也是较费时间的事情,而且有时还会遇到因求不出原函数而积不出结果的情况,这些在Mathematica中,也只要输入一个命令就可以快速求出定积分值来。

命令形式1: Integrate[f[x],{x,xmin,xmax}]

功能:计算定积分f(x)dx,xmin,xmax分别表示积分变量的下限和上限。

xminxmax

25

命令形式2: NIntegrate[f[x],{x,xmin,xmax}]

功能:计算定积分f(x)dx的数值积分,xmin,xmax必须是数字,不能是字母。

xminxmax

命令形式3:Integrate[f[x,y], {x, xmin, xmax}, {y, ymin, ymax}] 功能:计算重积分dxf(x,y)dy,xmin,xmax ,ymin,ymax表示积分限。

xminyminxmaxymax注意:命令形式2主要用于用命令形式1求不出结果的定积分问题或高等数学中的没有原函数的定积分问题。 例题

1xx例2.18 计算定积分(1x)edx

x1221解:Mathematica命令

In[24]:=Integrate[(1+x-1/x)*Exp[x+1/x], {x, 1/2, 2}]

3E5/2Out[24]=

2例2.19计算广义积分11dx 4x解:Mathematica命令

In[25]:=Integrate[1/x^4, {x, 1, +Infinity}] Out[25]:=

113例2.20计算瑕积分0x1x2dx

解:Mathematica命令

26

In[26]:=Integrate[x/Sqrt[1-x^2], {x, 0, 1}] Out[26]=1

例2.21计算定积分ex012dx

解:本题用定积分基本公式是积不出来的,用上面命令2可以计算出结果: Mathematica命令

In[27]:=NIntegrate[Exp[x^2], {x, 0, 1}] Out[27]= 1.46265

例2.22计算xydxdy,D由y=1,x=4,x=2y所围

D解: 对二重积分要先化为累次积分,定好积分限后,再使用命令形式3。 本题的Mathematica命令为

In[28]:=Integrate[x*y, {x, 2, 4}, {y, 1, x/2}] Out[28]=

例2.23计算0dxx2(x2y)dy 解:Mathematica命令

In[29]:=Integrate[x^2+y, {x, 0, 1}, {y, x^2, Sqrt[x]}] Out[29]=

33 140921x

27

第三章 实验练习题

1)用Mathematica求下列极限:

1t1000n⑴ lim2; ⑵ lim(1);

xxn1t⑶ limx0nsinx2; ⑷ limx(x1x);

x|x|; ⑹ lim(exxx⑸ lim

i1(2i1)2n3ne2x)。

xx2)用Mathematica求下列函数的一阶导函数

(1) f(x)(2) f(x)

3)用Mathematica求下列不定积分

(1) (3) (5)

x7, 求f(x);

x2sinx, 求 f(x)。

x1dx; (2) 2x2x31dx; (4)

35sinxeax2x21dx; 2x1xpxq2dx;

dx; (6) eaxcos(bx)dx;

28

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务