Mathematica软件使用入门范本模板.docx
- 文档编号:4050939
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:29
- 大小:354.69KB
Mathematica软件使用入门范本模板.docx
《Mathematica软件使用入门范本模板.docx》由会员分享,可在线阅读,更多相关《Mathematica软件使用入门范本模板.docx(29页珍藏版)》请在冰点文库上搜索。
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的用途
Integrate[f,x]是求:
Integrate[f,{x,xmin,xmax}]是求:
如果只知道命令的首写字母,可在输入该首写字母(要大写),再按下“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数值计算
系统默认的计算结果,是精确的.
N[],取近似值函数,默认输出6位有效数字.
N[],取近似值函数,指定输出3位有效数字.
N[],取近似值函数,指定输出18位有效数字.
计算π的值,输出18位有效数字.
Pi是系统中已定义的数学常数.
详见教材P171说明.
请看下例:
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计算
将(x+y)^2赋给z
输入:
Clear[x,y];计算
输入:
z=(x+y)^2计算
变量替换:
用5代替表达式z中的变量x
输入:
z/.x—〉5计算
变量替换:
分别用5、6代替表达式u中的变量x、y
输入:
Clear[x,y];计算
输入:
u=x+y计算
输入:
u/。
{x—〉5,y—〉6}计算
计算结果如下:
1.6自定义函数
用户可以自行定义函数,一个函数一旦被定义好之后就可以象系的内部函数一样使用.
“:
=”是定义符.
左边f是函数名,方括号内x是自变量,其后的下划线“_”不能少.
右边是函数的表达式.
例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]]
请见以下计算结果:
Solve是解方程或方程组的函数.其格式为:
Solve[eqns,vars]
其中方程用exp==0的形式(其中exp为未知元的表达式,“==”必须是2个等号);
1。
7方程与方程组解
例1。
5① 解方程:
输入:
Solve[x^2—5x+6==0,x]
即可.
② 解方程组
未知数列表
方程列表
输入:
Solve[{x+y==1,3x^2—y^2==0},{x,y}]
即可(结果见下图).
加载解不等式的程序包,这是必须的,可谓是固定的格式,“<”为键盘上的小于号,“`”为数字键1的左侧的
Algebra——代数类
InequalitySolve——解不等式程序包
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) .
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Mathematica 软件 使用 入门 范本 模板