Mathematica基础教程.docx
- 文档编号:20148046
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:35
- 大小:164.29KB
Mathematica基础教程.docx
《Mathematica基础教程.docx》由会员分享,可在线阅读,更多相关《Mathematica基础教程.docx(35页珍藏版)》请在冰豆网上搜索。
Mathematica基础教程
Mathematica基础
Mathematica自1988年由美国的WolframResearch公司首次推出,是一个功能强大的常用数学软件,不但可以解决数学中的数值计算问题,还可以解决符号演算问题,并且能够方便地绘出各种函数图形。
常用数学软件之比较,MatlabMathematicaMathCADMaple:
1.Mathematica基本使用
(1)在工作区(软件打开初始时,左侧的窗口,上方有untitled-1*)输入命令,按Shift+Enter组合键执行命令;如输入“2+3”,按Shift+Enter执行后,窗口显示
In[1]:
=2+3
Out[1]=5
其中“In[1]:
=,Out[1]=”为系统自动添加(不必管),In[1]括号内数字1表示第1次输入。
如果不想显示此次输入的结果,只要在所输入命令的后面再加上一个分号便可。
(2)软件打开初始时,右侧有一个运算符号面板,可以更方便命令输入,如级数,积分,数学符号等。
(3)除可以用直接键盘输入的方法进行输入外,还可以用打开的方式从磁盘中调入一个已经存在的文件来进行操作。
2.Mathematica的基本语法特征
(1)Mathematica中区分大、小写,如Name、name、NAME等是不同的变量名或函数名。
(2)系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sin[2]等。
(3)乘法即可以用*,又可以用空格表示,如23=2*3=6,xy,2Sin[x]等;乘幂可以用“^”表示,如x^0.5,Tan[x]^y。
(4)自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。
(5)当赋予变量任何一个值,除非明显地改变该值或使用Clear[变量名]或“变量名=.”取消该值为止,否则它将始终保持原值不变。
(6)一定要注意四种括号的用法:
()圆括号表示运算项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。
(7)Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。
当语句以分号结束时,语句计算后不做输出(输出语句除外),否则将输出计算的结果。
3.Mathematica中的数据类型和数学常数
Mathematica提供的简单数据类型有整数、有理数、实数和复数4种类型,这些数据在Mathematica中有如下的要求:
(1)整数描述为Integer,是可以具有任意长度的精确数。
书写方法同于我们通常的表示,输入时,构成整数的各数字之间不能有空格、逗号和其它符号,整数的正负号写在该数的首位,正号可以不输入。
如:
2367189、-932是正确的整数。
(2)有理数描述为Rational,用化简过的分数表示,但其中分子和分母都应该是整数,有理数是精确数,输入时分号用“/”代替,即使用“分子分母”的形式。
如:
23/45、-41/345是正确的有理数。
(3)实数描述为Real,是除了整数和有理数之外的所有实数。
与一般高级语言不同的是这里数学中的无理数是可以有任意精确度的近似数,如圆周率,在Mathematica中它可以根据需要取任意位有效数字。
(4)复数描述为Complex,用是否含有虚数单位I来区分,它的实部和虚部可以是整数、有理数和实数。
如:
3+4.3I、18.5I都是正确的复数。
为了方便数学处理和计算更准确,Mathematica定义了一些数学常数,它们用英文字符串表示,常用的有:
Pi表示圆周率=3.14159…
E表示自然数e=2.71828…
Degree表示几何的角度1或/180,30Degree表示30.
I表示虚数单位-1开平方I
Infinity表示数学中的无穷大(正无穷)
注意:
数学常数是精确数,可以直接用于输入的公式中,作为精确数参与计算和公式推导。
这些常数可以从符号面板选择输入。
4.Mathematica数的运算符
数的运算有:
加、减、乘、除和乘方,它们在Mathematica中的符号为:
加(+)、减(-)、乘(*)、除(/)和乘方(^)。
不同类型的数参与运算,其结果的类型为:
●如果运算数有复数,则计算结果为复数类型;
●如果运算数没有复数,但有实数,则计算结果为实数类型
●如果运算数没有复数和实数,但有分数,则计算结果为有理数类型
●如果运算数只有整数,则计算结果或是整数类型(如果计算结果是整数);或是有理数类型(如果计算结果不是整数)。
5.Mathematica中的精确数与近似数
(1)Mathematica的近似数是带有小数点的数;精确数是整数、有理数、数学常数以及函数在自变量取整数、有理数、数学常数时的函数值。
如:
62243、2/3、E、Sin[4]都是精确数。
如果参与运算或求值的数带有小数点,则运算结果通常为带有6位有效数字的近似数,如:
In[3]:
=1.2345678020/30
Out[3]=0.0411523结果为近似数
In[4]:
=2+Sin[1.0]
Out[4]=2.84147结果为近似数
In[5]:
=2+Sin[1]
Out[5]=2+Sin[1]结果为精确数
(2)如果需要精确数的数值结果(除了整数之外),可以用Mathematica提供的N函数将其转化,N函数可以得到该精确数的任意精度的近似结果:
例如:
In[6]:
=2*E+Sin[Pi/5]//N
Out[6]=6.02345(输入2*E+Sin[Pi/5]试试)
In[7]:
=N[2*E+Sin[Pi/5],30]
.024*********
Input=N[Pi,20]
output=3.14159265358979323846264338328
6.Mathematica中的表
表可以用来表示数学中的集合、向量、矩阵和数据库中的记录。
在Mathematica中,任何用一对花括号括起来的一组元素都代一个表,其中的元素用逗号分隔且各元素可以具有不同的类型,特别其中的元素还可以是一个表。
表的形式:
{元素1,元素2,元素3,……,元素n},如:
{1,3,5}、{3,x,{1,y},4}都是表
建表命令有如下几种形式:
(1)命令形式1:
Table[f(i),{i,imin,imax,h}],其中h>0
功能:
产生一个表{f(imin),f(imin+h),f(imin+2h),…,f(imin+nh)}
例如:
In[8]:
=Table[i^2,{i,1,19,2}]
Out[8]={1,9,25,49,81,121,169,225,289,361}
(2)命令形式2:
Table[通项公式f(i),{i,imin,imax}],相当于h=1
功能:
产生一个表{f(imin),f(imin+1),f(imin+2),…,f(imin+n)}
命令:
In[9]:
=Table[i^2,{i,2,10}]
Out[9]={4,9,16,25,36,49,64,81,100}
(3)命令形式3:
Table[通项公式f,{循环次数n}],f为常数
功能:
产生n个f的一个表{f,f,f,……,f}
例如:
建立产生8个2一个表{2,2,2,2,2,2,2,2}
命令:
In[10]:
=Table[2,{8}]
Out[10]={2,2,2,2,2,2,2,2}
(4)命令形式4:
Table[通项公式f(i,j),{{i,imin,imax},{j,jmin,jmax}]
功能:
产生一个二维表
{{f(imin,jmin),f(imin,jmin+1),f(imin,jmin+2),……,f(imin,jmin+m)},{f(imin+1,jmin),f(imin+1,jmin+1),f(imin+1,jmin+2),……,f(imin+1,jmin+m)},……{f(imin+n,jmin),f(imin+n,jmin+1),f(imin+n,jmin+2),
……,f(imin+n,jmin+m)}
例如:
In[11]:
=Table[i-j,{i,1,6},{j,1,2}]
Out[11]={{0,-1},{1,0},{2,1},{3,2},{4,3},{5,4}}
表的分量表示:
有时为了需要,希望取出表中的某一或某些元素参与后面的运算和处理。
常用表示表分量的命令有:
(1)命令形式1:
表[[序号n]]
功能:
取出表中序号为n的元素
例如:
取出表{1,9,x,49,81,{121,169},225,289,361}的正数第3个元素、第6个元素、和倒数第2个元素的命令依次为:
命令:
In[12]:
={1,9,x,49,81,{121,169},225,289,361}[[3]]
Out[12]=x
In[13]:
={1,9,x,49,81,{121,169},225,289,361}[[6]]
Out[13]={121,169}
In[14]:
={1,9,x,49,81,{121,169},225,289,361}[[-2]](倒数可以用负号表示)
Out[14]=289
In[15]:
=A=Table[i,{i,1,30,3}]
Out[15]=A[[3]]=7
(2)命令形式2:
表[[{序号n1,序号n2,序号n3,……,序号nm}]]
功能:
取出由表中序号分别为n1,n2,n3,……,nm的m个元素组成的一个表,其中序号n1,n2,n3,……,nm可以重复。
例如:
取出由表{1,9,x,49,81,{121,169},225,289,361}中序号分别为1,3,3,6,-1的5个元素组成的一个表:
命令:
In[15]:
={1,9,x,49,81,{121,169},225,289,361}[[{1,3,3,6,-1}]]
Out[15]={1,x,x,{121,169},361}
(3)命令形式3:
表[[序号n1,序号n2]]
功能:
取出表中序号为n1元素(该元素必须是一个表)的序号为n2的元素。
例如:
取出表{1,9,x,49,81,{121,169},225,289,361}中序号为6的元素的正数第二个元素,命令:
In[16]:
={1,9,x,49,81,{121,169},225,289,361}[[6,2]]
Out[16]=169
表的运算函数。
Mathematica表的运算函数有很多,这里介绍两个常用的函数:
Apply[Plus,表]对表中所有元素求和
Apply[Times,表]对表中所有元素求积
例如:
写出将表{1,9,49,81,225,289,361}中所有元素相加、相乘
命令:
In[17]:
=t={1,9,49,81,225,289,361}
In[18]=Apply[Plus,t]
Out[18]=1015
In[19]=Apply[Times,t]
Out[19]=838515647025
7.Mathematica中的变量
(1)Mathematica的变量命名
⏹变量名规定为任何小写英文字母或以小写英文字母开头后跟若干字母或数字表示的字符串,如x,y,ae3,d3er45都是合法的变量名。
⏹变量名一般不用大写字母。
如果在某些情况下一定要用大写字母,应该注意不要与Mathematica中的数学常数和内部函数或命令的混淆。
Mathematica中的变量名是区分大小写字母的,如在Mathematica中,ab与Ab表示两个不同的变量。
⏹变量名中的字符之间不能有空格,因为变量名中的空格在Mathematica中被理解为变量的乘积。
如:
abcd与abcd有不同的含义,前者表示一个变量abcd,而后者Mathematica会将其看成两个变量ab和cd的乘积关系。
⏹变量名不能以数字开头的字符串来表示,如果在Mathematica里出现了这种字符串,Mathematica将其理解为数字与变量的乘积。
例如:
以数字开头的字符串3asd,在Mathematica中表示3乘以变量asd即3asd表示3*asd。
⏹在Mathematica中变量使用前不必先定义变量类型。
Mathematica变量的类型可以不断变化,取决于其中所存数据的类型;变量不但可以存放前面所提到的四种数据数,而且可以存放一个方程式、一个图形或更复杂的关系式。
(2)Mathematica中的变量取值与清除
如果一个变量在程序运行中没有被存储内容,此时该变量名只是一般的数学符号参与程序的处理。
如果变量被存储了内容,称为变量取值。
变量取值之后,该变量就用存入的内容参与程序的处理。
在Mathematica中,变量获取值的方式有三种:
变量赋值、键盘输入和变量替换。
下面分别介绍这三种方式:
⏹变量赋值方式
Mathematica中变量赋值的一般形式为:
变量=表达式
这里“=”称为赋值号,表达式是广义的表达式,即它可以是数值和通常意义的数学表达式,还可以是一个方程或图形等。
例如:
In[20]:
=x=2+2
Out[20]=4
In[21]:
=x*x–x+1
Out[21]=13
⏹键盘输入方式
键盘输入方式是变量取值的另一种常用的方式,多用于需要在命令或程序的运行中由用户从键盘上临时键入的人机交互式变量取值。
键盘输入命令形式为:
变量=Input[]
当遇到上面的键盘输入命令后,计算机在屏幕上给出一个输入小窗口,等待用户在其中从键盘上键入一个表达式,键入完毕后,用鼠标点击“OK”按扭后,计算机将键入的表达式求值后,将结果存储在算等号左边的变量中。
这里“=”是赋值号。
例如:
In[22]:
=x=Input[]*变量x等待键盘输入赋值(见图)
Out[22]=23(*此时x从键盘上被赋值23)
In[23]:
=x+1
Out[23]=24
⏹变量替换
变量替换类似于数学中的计算函数在某一点的函数值。
变量替换的一般形式为:
表达式/.变量名1>表达式1
或
表达式/.{变量名1>表达式1,变量名2>表达式2,…}
这里符号“/.”是由键盘上的两个符号“/”和“.”组成的,中间不能有空格。
同样,“>”也是由键盘上的两个符号“”和“>”组成的,中间也不能有空格。
例如:
In[24]:
=2x+3y/.x->2.1
Out[24]=4.2+3y
In[25]:
=2x+3y/.{x->2.1,y->1+a}
Out[25]=4.2+3(1+a)
⏹清除变量
清除变量的含义是清除给变量所赋的值,它的命令形式为:
变量名=.
或
Clear[变量名1,变量名2,…]
清除变量后,变量名就还原成一般的数学符号了。
(3)Mathematica中有关变量的注意事项
使用变量前先用清除命令清除其中的内容。
Mathematica中的变量名还可以用作代数中的数学符号,在Mathematica的命令或程序中出现的任何合法的变量名符号,如果该变量名所代表的变量没有被赋值,则它就作为数学算式中的符号参与数学的公式推导和运算;如果该变量被赋值了,则用该变量所赋的值参与对应数学的公式推导和运算。
因此,如果用户在做符号运算时使用的符号有被赋值的变量名,则就会出现察觉不到的错误。
变量替换时变量本身还是数学符号,没有发生变量赋值的行为。
如:
In[26]:
=x=9;(若后面需要进行符号运算,则需要清除)
In[27]:
=6/x-7
Out[27]=-19/3
In[28]:
=x=.
------------------------------------------------------------------
In[29]:
=6x-7/.x->9(变量替换,没有赋值行为)
Out[29]=-19/3
In[30]:
=6/x-7
Out[30]=6/x-7
8.Mathematica中的函数
(1)的Mathematica内部函数
Mathematica有很丰富的内部函数,它们是Mathematica系统自带的函数,函数名一般为数学中常使用的英文单词,只要输入相应的函数名,就可以方便地使用这些函数。
内部函数既有数学中常用的函数,又有工程中用的特殊函数。
如果用户想自己定义一个函数,Mathematica也提供了这种功能。
Mathematica的内部函数名字大部分是其英文单词的全名,如Random等。
Mathematica内部函数的名字第一个字母一定要大写,其后的字母一般是小写的,不过如果该名字有几个含义,则函数名字中体现每个含义的第一个字母也要大写,如反正切函数arctanx中含有反“arc”和正切“tan”两个含义,故它的Mathematica函数表示为ArcTan[x]。
Mathematica中的函数自变量应该用方括号[]括起,不能用圆括()号括起,即一个数学中的函数f(x,y,…)应该写为f[x,y,…]才行
下面列举一些常用的Mathematica内部函数
⏹数值函数
Abs[x]表示x的绝对值|x|
Round[x]表示最接近x的整数
Floor[x]表示不大于x的最大整数
Ceiling[x]表示不小于x的最大整数
Sign[x]表示x的符号函数sgn(x)
Exp[x]表示以自然数为底的指数函数ex
Log[x]表示以自然数为底的对数函数lnx
Log[a,x]表示以数a为底的对数函数logax
Sin[x],Cos[x]表示正弦函数sinx,余弦函数cosx
Tan[x],Cot[x]表示正切函数tanx,余切函数cotx
ArcSin[x],ArcCos[x]表示反正弦函数,反余弦函数
ArcTan[x],ArcCot[x]表示反正切函数arctanx,反余切函数arccotx
Max[x1,x2,…,xn]表示取出实数x1,x2,…。
xn的最大值
Max[s]表示取出表s中所有数的最大值
Min[x1,x2,…,xn]表示取出实数x1,x2,…。
xn的最小值
Min[s]表示取出表s中所有数的最小值
n!
表示阶乘n(n-1)(n-2)...1
n!
!
表示双阶乘n(n-2)(n-4)...
Mod[m,n]表示整数m除以整数n的余数
Quotient[m,n]表示整数m除以整数n的整数部分
GCD[m1,m2,…,mn]表示取出整数m1,m2,…。
mn的最大公约数
GCD[s]表示取出表s中所有数的最大公约数
LCM[m1,m2,…,mn]表示取出整数m1,m2,…。
mn的最小公倍数
LCM[s]表示取出表s中所有数的最小公倍数
Binomial[n,m]表示二项式系数
Re[z]取复数z的实部
Im[z]取复数z的虚部
Conjugate[z]取复数z的共轭复数
Sqrt[x]表示x的平方根函数
Mathematica的联机帮助系统
用Mathematica的过程中,常常需要了解一个命令的详细用法,或者想知系统中是否有完成某一计算的命令,联机帮助系统永远是最详细、最方便的资料库。
1.获取函数和命令的帮助
在Notebook界面下,用?
或?
?
可向系统查询运算符、函数和命令的定义和用法,获取简单而直接的帮助信息。
例如,向系统查询作图函数Plot命令的用法?
Plot系统将给出调用Plot的格式以及Plot命令的功能(如果用两个问号“?
?
”,则信息会更详细一些)。
?
Plot*给出所有以Plot这四个字母开头的命令。
2.Help菜单
任何时候都可以通过按shift+F1键或点击“帮助”菜单项“帮助浏览”,调出帮助菜单,如图6所示。
图6
其中的各按钮用途如下:
Built-inFunction内建函数,按数值计算、代数计算、图形和编程分类存放
Add-ons&Links程序包附件和链接
TheMathematicaBook一本完整的Mathematica使用手册
GettingStarted/Demos初学者入门指南/多种演示
Tour漫游Mathematic
FrontEnd菜单命令的快捷键,二维输入格式等
MasterIndex按字母命令给出命令、函数和选项的索引表
如果要查找Mathematica中具有某个功能的函数,可以通过帮助菜单中的Mahematica使用手册,通过其目录索引可以快速定位到自己要找的帮助信息。
例如:
需要查找Mathematica中有关解方程的命令,单击“TheMathematicaBook”按钮,再单击“Contents”,在目录中找到有关解方程的节次,点击相应的超链接,有关内容的详细说明就马上调出来了。
如果知道具体的函数名,但不知其详细使用说明,可以在命令按钮Goto右边的文本框中键入函数名,按回车键后就显示有关函数的定义、例题和相关联的章节。
例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示Plot函数的详细用法和例题的窗口,如图7。
图7
如果已经确知Mathematica中有具有某个功能的函数,但不知具体函数名,可以点击Built-inFunctions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击Built-inFunctions→GraphicsandSound→2DPlots→Plot,找到Plot的帮助信息(如图7)。
(2)Mathematica中的自定义函数
●Mathematica自定义函数的一般命令为:
函数名[自变量名1_,自变量名2_,…]:
=表达式
这里函数名与变量名的规定相同,方括号中的每个自变量名后都要有一个下划线“_”,中部的定义号“:
=”的两个符号是一个整体,中间不能有空格。
●定义一个一元函数
函数名[自变量名_]:
=表达式
例如:
定义一个函数y=asinx+x5,a是参数
命令:
In[44]:
=y[x_]:
=a*S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Mathematica 基础教程