Mathematica软件使用入门.docx

上传人:b****8 文档编号:29868722 上传时间:2023-08-03 格式:DOCX 页数:30 大小:569.87KB
下载 相关 举报
Mathematica软件使用入门.docx_第1页
第1页 / 共30页
Mathematica软件使用入门.docx_第2页
第2页 / 共30页
Mathematica软件使用入门.docx_第3页
第3页 / 共30页
Mathematica软件使用入门.docx_第4页
第4页 / 共30页
Mathematica软件使用入门.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

Mathematica软件使用入门.docx

《Mathematica软件使用入门.docx》由会员分享,可在线阅读,更多相关《Mathematica软件使用入门.docx(30页珍藏版)》请在冰豆网上搜索。

Mathematica软件使用入门.docx

Mathematica软件使用入门

Mathematica软件使用入门

 

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

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

Mathematica可以做:

●符号计算和数值计算问题,如:

能做多项式的计算、因式分解和展开等;

●做各种有理式计算,求多项式、有理式方程和超越方程的精确解和近似解;

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

●求极限、导数、积分,做幂级数展开,求解某些微分方程等;

●做任意位数的整数或分子分母为任意大整数的有理数的精确计算,做具有任意位精度的数值(实、复数值)的计算.

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

 

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

1.1Mathematica的基本语法特征

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

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

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

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

23=2*3=6,2Sin[x]=2*Sin[x]

●乘幂可以用“^”表示,如

x^0.5表示:

Tan[x]^y表示:

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

●当你赋予变量任何一个值,除非你:

明显地改变该值

或使用Clear[变量名]

或使用“变量名=.”

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

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

():

表示项的结合顺序,如:

(x+(y^x+1/(2x)));

[]:

表示函数,如:

Log[x],Sin[x];

{}:

表示一个“表”(即是一组数字、或任意表达式、或函数等的一个有序集合),如:

{2x,Sin[12Pi],A,1},{1+A,y*x,1,2};

[[]]:

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

a[[2,3]]表示:

;{3,5,7}[[2]]=5.

●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,按:

“Shift+Enter”;

③输入:

%+1,按:

“Shift+Enter”;

④ 输入:

%1+1,按:

“Shift+Enter”;

⑤输入:

%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计算

输入:

Clear[x,y];计算

输入:

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]]

g[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① 解不等式组

输入:

<

InequalitySolve[{x^2-5x-6<0,x^2-1>0},x]

即可.

② 解不等式

输入:

<

InequalitySolve[Abs[x-1](x^2-3)>3,x]

即可(结果见下图)

注:

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

<

或用:

Needs["Algebra`InequalitySolve`"]

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

例1.7设求数列的通项公式

只要输入:

<

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:

Limit[f,x->x0,Direction->1]

功能:

计算

,即求左极限,其中f是x的函数。

命令形式3:

Limit[f,x->x0,Direction->-1]

功能:

计算

,即求右极限,其中f是x的函数。

注意:

在左右极限不相等或左右极限有一个不存在时,Mathematica的默认状态为求右极限。

例题:

例2.1求极限

解:

Mathematica命令为

In[1]:

=Limit[1/(xLog[x]^2)-1/(x-1)^2,x->1]

Out[1]=

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

例2.2求极限

解:

Mathematica命令为

In[2]:

=Limit[(1+1/n)^n,n->Infinity]

Out[2]=E

例2.3写出求函数

在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]

读者可以比较其结果,观察区别。

例2.4求

解:

Mathematica命令为

In[3]:

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

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->Infinity]

Out[5]=

2.2求导数与微分

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

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

●显函数求导

命令形式1:

D[f,x]功能:

求函数f对x的偏导数。

命令形式2:

D[f,{x,n}]功能:

求函数f对x的n阶偏导数。

例2.6变上限函数

求导

解:

Mathematica命令为

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];Simplify[s/r]

Cos[t]-tSin[t]

Out[8]=---------------------

1-tCos[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]-tSin[t]

Out[10]=-----------------------

1-tCos[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,NonConstants->{y}]/.r;Simplify[t]]

注:

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

例2.8求

所确定的函数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=sinv的微分.

解:

Mathematica命令

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)的求导数的命令有如下几个:

命令形式1:

D[f,x]功能:

求函数f对x的偏导数;

命令形式2:

D[f,x1,x2,…]功能:

求函数f高阶混合偏导数

命令形式3:

D[f,x,NonConstants->{v1,v2,…}]

功能:

求函数f对x的偏导数,其中v1,v2,…是关于x的函数。

例题

例2.10求z=asin(xy)对y和

对z的偏导数.

解:

Mathematica命令

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对函数

解:

Mathematica命令

In[17]:

=D[x^3*y^2+Sin[x*y],x,y]

Out[17]=

例2.12对函数

解:

Mathematica命令

In[18]:

=D[x^3*y^2+Sin[xy],{x,3}]

Out[18]=

例2.13

,其中y,z是x的函数。

解:

Mathematica命令

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。

解:

Mathematica命令

In[20]:

=Dt[x^2+y^2]

Out[20]=2xDt[x]+2yDt[y]

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

命令形式1:

Dt[f,x]功能:

求函数f的全导数。

命令形式2:

Dt[f,x,Constants->{c1,c2,…}]

功能:

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

注意:

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

例2.15求

的全导数

,其中y是x的函数。

解:

Mathematica命令

In[21]:

=Dt[x^2+y^2,x]

Out[21]=2x+2yDt[y,x]

例2.16求

,其中y是与x无关的独立变量。

解:

Mathematica命令

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计算

解:

Mathematica命令

In[23]:

=Integrate[1/(Sin[x]^2Cos[x]^2),x]

Out[23]=-(Cos[2x]Csc[x]Sec[x])

2.4求定积分

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

命令形式1:

Integrate[f[x],{x,xmin,xmax}]

功能:

计算定积分

,xmin,xmax分别表示积分变量的下限和上限。

命令形式2:

NIntegrate[f[x],{x,xmin,xmax}]

功能:

计算定积分

的数值积分,xmin,xmax必须是数字,不能是字母。

命令形式3:

Integrate[f[x,y],{x,xmin,xmax},{y,ymin,ymax}]

功能:

计算重积分

xmin,xmax,ymin,ymax表示积分限。

注意:

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

例题

例2.18计算定积分

解:

Mathematica命令

In[24]:

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

Out[24]=

例2.19计算广义积分

解:

Mathematica命令

In[25]:

=Integrate[1/x^4,{x,1,+Infinity}]

Out[25]:

=

例2.20计算瑕积分

解:

Mathematica命令

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计算

解:

Mathematica命令

In[29]:

=Integrate[x^2+y,{x,0,1},{y,x^2,Sqrt[x]}]

Out[29]=

 

第三章实验练习题

1)用Mathematica求下列极限:

;⑵

;⑷

;⑹

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

(1)

(2)

3)用Mathematica求下列不定积分

(1)

;

(2)

;

(3)

;(4)

;

(5)

;(6)

;

 

欢迎您的下载,

资料仅供参考!

 

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1