Mathematica软件使用入门讲解Word文件下载.docx
《Mathematica软件使用入门讲解Word文件下载.docx》由会员分享,可在线阅读,更多相关《Mathematica软件使用入门讲解Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
●Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔).
●当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果.
●Mathematica命令中的标点符号必须是英文的.
1.2Mathematica的启动、基本操作
1.2.1启动“Mathematica”:
在windows操作系统中安装了Mathematica后,与其他的常用软件一样,可从“开始”→“程序”→“Mathematica5”Mathematica的主窗口并出现第一个notebook窗口(Untitled-1):
1.2.2简单使用:
例1.1计算+33的值
①在“Untitled-1”窗口中输入:
329/412+3^3
2
按下“Shift+Enter”(或数字键盘上的Enter键),就得到计算结果:
其中“In[1]:
=”是Mathematica自动加上的,表示第一个输入;
“Out[1]:
=”表示第一个输出.
一般地:
In[n]:
=表示第n个输入
Out[n]:
=表示第n个输出.
注意:
“In[n]:
=”自动加上的,不能人工输入!
1.2.3保存结果:
保存方法同一般的Windows软件:
“文件”→“保存”“另存为”窗口→在“查找范围”内找到目标文件夹→输入文件名(比如输入“1”)→“”.
Mathematica4或Mathematica5的文件的后缀是“nb”,当输入“1”时,即产生文件“1.nb”.
1.2.4打开文件1.nb
启动Mathematica→“文件”→“打开”打开”窗口:
→在“查找范围”内找到文件“1.nb”→“ ”即可.
1.2.5退出Mathematica:
与一般应用软件一样,单击右上方的“ ”按钮(或用菜单:
“文件”→“退出”).
1.3操作小技巧
1.3.1 Ctrl+K的用途
如果只知道命令的首写字母,可在输入该首写字母(要大写),再按下“Ctrl+K”组合键,则所有以该字母为首的命令都列出来,只要用鼠标双击命令名就输入了该命令.
1.3.2 使用前面已有的结果
举例如下:
例1.2做如下操作:
① 输入:
Integrate[x^2*(11-Sin[x]),{x,-1,1}]
按:
“Shift+Enter”;
②输入:
%+1,按:
③输入:
④ 输入:
%1+1,按:
⑤输入:
%3+1,按:
“Shift+Enter”,
计算结果如下:
可见,“%”表示前一个计算结果;
“%n”表示第n个计算结果.
1.3.3删除行:
见下图示
1.4数值计算
请看下例:
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计算
计算
u=x+y计算
u/.{x->
5,y->
6}计算
1.6自定义函数
用户可以自行定义函数,一个函数一旦被定义好之后就可以象系的内部函数一样使用.
例1.4如要定义函数
f(x)=x2+3x-2
只要键入:
f[x_]:
=x^2+3x-2
即可.又如要定义分段函数
可键入:
g[x_]:
=Which[x<
0,x^2+1,x>
=0,2Sin[x]]
或
=If[x<
0,x^2+1,2Sin[x]]
请见以下计算结果:
1.7方程与方程组解
例1.5① 解方程:
Solve[x^2-5x+6==0,x]
即可.
② 解方程组
未知数列表
Solve[{x+y==1,3x^2-y^2==0},{x,y}]
即可(结果见下图).
1.8解不等式与不等式组
例1.6① 解不等式组
输入:
<
<
Algebra`InequalitySolve`
InequalitySolve[{x^2-5x-6<
0,x^2-1>
0},x]
② 解不等式
Algebra`InequalitySolve`
InequalitySolve[Abs[x-1](x^2-3)>
3,x]
即可(结果见下图)
注:
Mathematica系统有内部函数.还有一些系统扩展的功能但不是作为内部函数的、以文件的形式存储在磁盘上的文件,要使用它们,必须用一定的方式来调用这些文件,这些文件我们称之为程序包.调用方式之一如上所述:
Algebra`InequalitySolve`
或用:
Needs["
Algebra`InequalitySolve`"
]
1.9由递推式求数列的通项公式
例1.7设求数列的通项公式
只要输入:
<
DiscreteMath`RSolve`
RSolve[{a[n]==n*a[n-1],a[1]==1},a[n],n]
1.10作函数图像
例1.8在同一坐标系中作出
和y=sinx在[-2,2]内的图像.
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]
第二章运用Mathematica实现高等数学中的基本运算
极限、导数和积分是高等数学中的主要概念和基本运算,如果你在科研中遇到较复杂的求极限、求导数或求积分问题,Mathematica可以帮你快速解决这些问题。
Mathematica提供了方便的命令使这些运算能在计算机上实现,使一些难题迎刃而解。
2.1求极限运算
极限的概念是整个高等数学的基础,对表达式进行极限分析也是数学里很重要的计算分析。
Mathematica提供了计算函数极限的命令的一般形式为:
Limit[函数,极限过程]
具体命令形式为
命令形式1:
Limit[f,x->
x0]
功能:
计算
其中f是x的函数。
命令形式2:
x0,Direction->
1]
,即求左极限,其中f是x的函数。
命令形式3:
-1]
,即求右极限,其中f是x的函数。
注意:
在左右极限不相等或左右极限有一个不存在时,Mathematica的默认状态为求右极限。
例题:
例2.1求极限
解:
Mathematica命令为
In[1]:
=Limit[1/(xLog[x]^2)-1/(x-1)^2,x->
Out[1]=
此极限的计算较难,用Mathematica很容易得结果。
例2.2求极限
In[2]:
=Limit[(1+1/n)^n,n->
Infinity]
Out[2]=E
例2.3写出求函数
在x->
0的三个极限命令
1.Limit[Exp[1/x],x->
0]
2.Limit[Exp[1/x],x->
0,Direction->
3.Limit[Exp[1/x],x->
读者可以比较其结果,观察区别。
例2.4求
In[3]:
=Limit[Integrate[Exp[t^2],{t,0,x}]^2/Integrate[tExp[t^2]^2,{t,0,x}],x->
Out[3]=2
命令中的“Integrate”表示求定积分(见4.4节)
例2.5求极限
解:
若输入命令
In[4]:
=Limit[Integrate[ArcTan[t]^2,{t,0,x}]/Sqrt[1+x^2],x->
+Infinity]
屏幕会出现如下的红色英文提示信息:
On:
:
none:
MessageSeriesData:
csanotfound.
……………………………………………………
ComplexInfinity+<
1>
>
encountered.
说明不能得出正确结果。
此时可以借助人工处理,如用一次洛必达法则后再求极限:
In[5]:
=Limit[ArcTan[x]^2/(x/Sqrt[1+x^2]),x->
Out[5]=
2.2求导数与微分
2.2.1求一元函数的导数与微分
导数是函数增量与自变量增量之比的极限,一元函数求导有显函数求导、参数方程求导和隐函数求导,Mathematica对应的命令有:
●显函数求导
D[f,x]功能:
求函数f对x的偏导数。
D[f,{x,n}]功能:
求函数f对x的n阶偏导数。
例2.6变上限函数
求导
In[6]:
=D[Integrate[Sqrt[1-t^2],{t,0,x^2}],x]
Out[6]=
In[7]:
=Simplify[%]
Out[7]=
●参数方程求导
对参数方程
所确定的函数y=f(x),根据公式
和命令形式1,可用三个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]]
来实现。
例2.7求参数方程
的一阶导数。
Mathematica命令
In[8]:
=x=t*(1-Sin[t]);
y=t*Cos[t];
s=D[y,t];
r=D[x,t];
Cos[t]-tSin[t]
Out[8]=---------------------
1-tCos[t]-Sin[t]
或
In[9]:
=pD[x_,y_,t_]:
In[10]:
=pD[t*(1-Sin[t]),t*Cos[t],t]
Out[10]=-----------------------
●隐函数求导
由方程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,NonConstants->
{y}]/.r;
Simplify[t]]
这里NonConstants->
{y}指出y不是常数,eqn为f(x,y)=0,但等号要双写。
例2.8求
所确定的函数y=y(x)的导数。
In[11]:
=impD[eqn_,y_,x_]:
=Module[{s,r,t},s=D[eqn,x,NonConstants->
r=Solve[s,D[y,x,NonConstants->
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=sinv的微分.
In[13]:
=Dt[Sin[x^2]]Out[13]=2xCos[x2]Dt[x]
In[14]:
=Dt[Sin[v]]Out[14]=Cos[v]Dt[v]
2.2.2求多元函数偏导数与全微分
●偏导数
对多元函数f(x1,x2,…xn)的求导数的命令有如下几个:
求函数f对x的偏导数;
D[f,x1,x2,…]功能:
求函数f高阶混合偏导数
D[f,x,NonConstants->
{v1,v2,…}]
求函数f对x的偏导数,其中v1,v2,…是关于x的函数。
例题
例2.10求z=asin(xy)对y和
对z的偏导数.
In[15]:
=D[a*Sin[x*y],y]
Out[15]=axCos[xy]
In[16]:
=D[Exp[x+y+z^2],z]
Out[16]=
例2.11对函数
求
In[17]:
=D[x^3*y^2+Sin[x*y],x,y]
Out[17]=
例2.12对函数
求
In[18]:
=D[x^3*y^2+Sin[xy],{x,3}]
Out[18]=
例2.13
,其中y,z是x的函数。
In[19]:
=D[x^2+y^2+z^2,x,NonConstants->
{y,z}]
Out[19]=2x+2yD[y,x,NonConstants->
{y,z}]+2zD[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求
的全微分dz。
In[20]:
=Dt[x^2+y^2]
Out[20]=2xDt[x]+2yDt[y]
如果多元函数的变量都是或部分是某一个变量的函数,则该函数关于此变量的导数称为的全导数,Mathematica有如下两个求全导数的命令:
Dt[f,x]功能:
求函数f的全导数。
Dt[f,x,Constants->
{c1,c2,…}]
求函数f的全导数,其中f中的变元与x无关。
D[f,x]与Dt[f,x]的区别。
例2.15求
的全导数
,其中y是x的函数。
In[21]:
=Dt[x^2+y^2,x]
Out[21]=2x+2yDt[y,x]
例2.16求
,其中y是与x无关的独立变量。
In[22]:
=Dt[x^2+Sin[xy]+z^2,x,Constants->
{y}]
Out[22]=2x+yCos[xy]+2zDt[z,x,Constants->
{y}]
2.3求不定积分
高等数学中求不定积分是较费时间的事情,在Mathematica中,只要输入一个命令就可以快速求出不定积分来。
Integrate[f,x]
计算不定积分
。
例2.17计算
In[23]:
=Integrate[1/(Sin[x]^2Cos[x]^2),x]
Out[23]=-(Cos[2x]Csc[x]Sec[x])
2.4求定积分
定积分的计算是实际问题中经常遇到的问题,定积分计算同样也是较费时间的事情,而且有时还会遇到因求不出原函数而积不出结果的情况,这些在Mathematica中,也只要输入一个命令就可以快速求出定积分值来。
Integrate[f[x],{x,xmin,xmax}]
计算定积分
,xmin,xmax分别表示积分变量的下限和上限。
NIntegrate[f[x],{x,xmin,xmax}]
的数值积分,xmin,xmax必须是数字,不能是字母。
Integrate[f[x,y],{x,xmin,xmax},{y,ymin,ymax}]
计算重积分
xmin,xmax,ymin,ymax表示积分限。
命令形式2主要用于用命令形式1求不出结果的定积分问题或高等数学中的没有原函数的定积分问题。
例2.18计算定积分
In[24]:
=Integrate[(1+x-1/x)*Exp[x+1/x],{x,1/2,2}]
Out[24]=
例2.19计算广义积分
In[25]:
=Integrate[1/x^4,{x,1,+Infinity}]
Out[25]:
=
例2.20计算瑕积分
In[26]:
=Integrate[x/Sqrt[1-x^2],{x,0,1}]
Out[26]=1
例2.21计算定积分
本题用定积分基本公式是积不出来的,用上面命令2可以计算出结果:
Mathematica命令
In[27]:
=NIntegrate[Exp[x^2],{x,0,1}]
Out[27]=1.46265
例2.22计算
D由y=1,x=4,x=2y所围
对二重积分要先化为累次积分,定好积分限后,再使用命令形式3。
本题的Mathematica命令为
In[28]:
=Integrate[x*y,{x,2,4},{y,1,x/2}]
Out[28]=
例2.23计算
In[29]:
=Integrate[x^2+y,{x,0,1},{y,x^2,Sqrt[x]}]
Out[29]=
第三章实验练习题
1)用Mathematica求下列极限:
⑴
⑵
⑶
⑷
⑸
⑹
2)用Mathematica求下列函数的一阶导函数
(1)
(2)
3)用Mathematica求下列不定积分
;
(2)
(3)
(4)
(5)
(6)