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 x0
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个等号); x25x6输入:
Solve[x^2-5x+6==0,x]
即可.
② 解方程组 输入:
Solve[{x+y==1,3x^2-y^2==0},{x,y}] 即可(结果见下图).
11
xy1223xy1方程列表 未知数列表
1.8 解不等式与不等式组 例1.6 ① 解不等式组 22xx102x10 加载解不等式的程序包,这是必须的,可谓是固定的格式, “< ”为键盘上的小于号, “`”为数字键1的左侧的 Algebra —— 代数类 InequalitySolve —— 解不等式程序包 变量列表 不等式列表 输入: < ② 解不等式 x1(x23)3 绝对值函数 输入: < 12 注: Mathematica系统有内部函数.还有一些系统扩展的功能但不是作为内部函数的、以文件的形式存储在磁盘上的文件,要使用它们,必须用一定的方式来调用这些文件,这些文件我们称之为程序包. 调用方式之一如上所述: < 1.9 由递推式求数列的通项公式 a 例1.7 设nnan1,a11,求数列的通项公式 只要输入: 离散类 离散类中的这个函数 < 1.10 作函数图像 2yx-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] 功能:计算limfx , 其中f是x的函数。 xx0命令形式2:Limit[f, x->x0, Direction->1] 功能:计算limfx,即求左极限, 其中f是x的函数。 xx-0命令形式3:Limit[f, x->x0, Direction->-1] 功能:计算limfx,即求右极限,其中f是x的函数。 xx0注意:在左右极限不相等或左右极限有一个不存在时,Mathematica的默认状态为求右极限。 例题: (例2.1 求极限limx111) xln2xx12解:Mathematica 命令为 16 In[1]:=Limit[1/(x Log[x]^2)-1/(x-1)^2, x->1] Out[1]= 1 12此极限的计算较难,用Mathematica 很容易得结果。 1例2.2 求极限lim1 nnn解: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] 读者可以比较其结果,观察区别。 xt2edx0 例2.4 求limx0x2t2tedx21x0解: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)dt0例2.5求极限xlimx12 解:若输入命令 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)01t2dt求导 解:Mathematica 命令为 In[6]:=D[Integrate[Sqrt[1-t^2], {t,0,x^2}], x] 2x2x5 Out[6]= 2xSqrt[1x4]/2 44Sqrt[1x]Sqrt[1x] In[7]:=Simplify[%] Out[7]= 2xSqrt[1x4] 参数方程求导 对参数方程xx(t)dydy/dt所确定的函数y=f(x),根据公式和命令形式1, dxdx/dtyy(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求参数方程xt(1sint)的一阶导数。 ytcost解: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 求xye0所确定的函数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 求ysinx2和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 yEx2.2.2 求多元函数偏导数与全微分 偏导数 对多元函数f(x1,x2,…xn)的求导数的命令有如下几个: 命令形式1: D[f, x] 功能:求函数f对x的偏导数; 命令形式2: D[f, x1, x2, …] 功能:求函数f高阶混合偏导数 f; x1x2命令形式3: D[f, x, NonConstants->{v1,v2,…}] 功能:求函数f对x的偏导数,其中v1,v2,…是关于x的函数。 例题 例2.10 求z=asin(xy)对y和uexyz对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]=2Exyzz 2z例2.11 对函数zxysin(xy),求 xy3222解:Mathematica命令 In[17]:=D[x^3 *y^2+Sin[x*y], x, y] Out[17]=6x2yCosxyxySin[xy] 22 3z例2.12 对函数zxysin(xy), 求3 x32解:Mathematica命令 In[18]:=D[x^3 *y^2+Sin[x y], {x,3}] Out[18]=6y2y3Cosxy 例2.13 ux2y2z2,其中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 求zx2y2的全微分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 求zx2y2的全导数解:Mathematica命令 In[21]:=Dt[x^2+y^2,x] Out[21]=2 x + 2 y Dt[y, x] x2sinxyz2例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] 功能:计算不定积分fxdx。 例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}] 功能:计算重积分dxf(x,y)dy,xmin,xmax ,ymin,ymax表示积分限。 xminyminxmaxymax注意:命令形式2主要用于用命令形式1求不出结果的定积分问题或高等数学中的没有原函数的定积分问题。 例题 1xx例2.18 计算定积分(1x)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计算瑕积分0x1x2dx 解: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计算0dxx2(x2y)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); xxn1t⑶ limx0nsinx2; ⑷ limx(x1x); x|x|; ⑹ lim(exxx⑸ lim i1(2i1)2n3ne2x)。 xx2)用Mathematica求下列函数的一阶导函数 (1) f(x)(2) f(x) 3)用Mathematica求下列不定积分 (1) (3) (5) x7, 求f(x); x2sinx, 求 f(x)。 x1dx; (2) 2x2x31dx; (4) 35sinxeax2x21dx; 2x1xpxq2dx; dx; (6) eaxcos(bx)dx; 28 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务