mathematica教程.docx
《mathematica教程.docx》由会员分享,可在线阅读,更多相关《mathematica教程.docx(29页珍藏版)》请在冰豆网上搜索。
mathematica教程
1.1.1Mathematica的启动和运行
Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和壮大的图形功能。
假设在Windows环境下已安装好,启动Windows后,在“开始”菜单的“程序”中单击
,就启动了,在屏幕上显示如图的Notebook窗口,系统临时取名Untitled-1,直到用户保留时从头命名为止
输入1+1,然后按下Shif+Enter键,这时系统开始计算并输出计算结果,并给输入和输出附上顺序标识In[1]和Out[1],注意In[1]是计算后才显现的;再输入第二个表达式,要求系统将一个二项式展开,按Shift+Enter输出计算结果后,系统别离将其标识为In[2]和Out[2].如图
在Mathematica的Notebook界面下,能够用这种交互方式完成各类运算,如函数作图,求极限、解方程等,也能够用它编写像C那样的结构化程序。
在Mathematica系统中概念了许多功能壮大的函数,咱们称之为内建函数(built-infunction),直接挪用这些函数能够取到事半功倍的成效。
这些函数分为两类,一类是数学意义上的函数,如:
绝对值函数Abs[x],正弦函数Sin[x],余弦函数Cos[x],以e为底的对数函数Log[x],以a为底的对数函数Log[a,x]等;第二类是命令意义上的函数,如作函数图形的函数Plot[f[x],{x,xmin,xmax}],解方程函数Solve[eqn,x],求导函数D[f[x],x]等。
必需注意的是:
Mathematica严格区分大小写,一样地,内建函数的首写字母必需大写,有时一个函数名是由几个单词组成,那么每一个单词的首写字母也必需大写,如:
求局部极小值函数FindMinimum[f[x],{x,x0]等。
第二点要注意的是,在Mathematica中,函数名和自变量之间的分隔符是用方括号“[]”,而不是一样数学书上用的圆括号“()”,初学者很容易犯这种错误。
若是输入了不合语法规那么的表达式,系统会显示犯错信息,而且不给出计算结果,例如:
要画正弦函数在区间[-10,10]上的图形,输入plot[Sin[x],{x,-10,10}],那么系统提示“可能有拼写错误,新符号‘plot’很像已经存在的符号‘Plot’”,事实上,系统作图命令“Plot”第一个字母必需大写,一样地,系统内建函数首写字母都要大写。
再输入Plot[Sin[x],{x,-10,10},系统又提示缺少右方括号,而且将不配对的括号用蓝色显示,如图
一个表达式只有准确无误,方能得出正确结果。
学会看系统犯错信息能帮忙咱们较快找犯错误,提高工作效率。
完成各类计算后,点击File->Exit退出,若是文件未存盘,系统提示用户存盘,文件名以“.nb”作为后缀,称为Notebook文件。
以后想利用本次保留的结果时能够通过File->Open菜单读入,也能够直接双击它,系统自动挪用Mathematica将它打开.
1.1.2表达式的输入
Mathematica提供了多种输入数学表达式的方式。
除用键盘输入外,还能够利用工具样或快捷方式健入运算符、矩阵或数学表达式。
1.数学表达式二维格式的输入
Mathematic担提供了两种格式的数学表达式。
形如x/(2+3x)+y*(x-w)的称为一维格式,形如
的称为二维格式。
你能够利用快捷方式输入二维格式,也可用大体输入工具栏 输入二维格式。
下面列出了用快捷方式输入二维格式的方式
数学运算数学表达式按键
分式
xCtrl+/2
n次方
xCtrl+^2
开n次方
Ctrl+2x
下标
xCtrl+_2
若是要取消二维格式输入 按下Ctrl+SPACE(空格) 例如输入数学表达式
能够按如下顺序输入按键:
(,x,+,1,),Ctrl+^,->,+,a,Ctrl+_,1,->,Ctrl+/,Ctrl+2,2,x,+,y,->,->
另外也可从FILE菜单中激活Plaettes->BasicInput 工具栏,也可输入, 而且利用工具栏可输入更复杂的数学表达式。
如以下图:
2.特殊字符的输入
MathemMatica还提供了用以输入各类特殊符号的工具样。
大体输入工具样包括了经常使用的特殊字符(上图),只要单击这些字符按钮即可输入。
假设要输入其它的特殊字符或运算符号,必需利用从FILE菜单当选取CompleteCharacters工具栏,如以下图:
单击符号后即可输入。
的联机帮助系统
用Mathematica的进程中,常常需要了解一个命令的详细用法,或想知系统中是不是有完成某一计算的命令,联机帮忙系统永久是最详细、最方便的资料库。
1.获取函数和命令的帮忙
在Notebook界面下,用?
或?
?
可向系统查询运算符、函数和命令的概念和用法,获取简单而直接的帮忙信息。
例如,向系统查询作图函数Plot命令的用法?
Plot系统将给出挪用Plot的格式和Plot命令的功能(若是用两个问号“?
?
”,那么信息会更详细一些)。
?
Plot*给出所有以Plot这四个字母开头的命令
菜单
任何时候都能够通过按F1键或点击帮忙菜单项HelpBrowser,调出帮忙菜单,如图
所示,其中的各按钮用途如表所示
Built-inFunction内建函数,按数值计算、代数计算、图形和编程分类存放
Add-ons 有程序包(StandardPackages)MathLinkLibrary等内容
TheMathematicaBook一本完整的Mathematica使用手册
GettingStarted/Demos初学者入门指南和多种演示
OtherInformation菜单命令的快捷键,二维输入格式等
MasterIndex按字母命令给出命令、函数和选项的索引表
若是要查找Mathematica中具有某个功能的函数,能够通过帮忙菜单中的Mahematica利用手册,通过其目录索引能够快速定位到自己要找的帮忙信息。
例如:
需要查找Mathematica中有关解方程的命令,单击“TheMathematicaBook”按钮,再单击“Contents”,在目录中找到有关解方程的节次,点击相应的超链接,有关内容的详细说明就马上调出来了。
若是明白具体的函数名,但不知其详细利用说明,能够在命令按钮Goto右边的文本框中键入函数名,按回车键后就显示有关函数的概念、例题和相关联的章节。
例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示如图的窗口,
再按回车键,那么显示Plot函数的详细用法和例题。
若是已经确知Mathematica中有具有某个功能的函数,但不知具体函数名,能够点击Built-inFunctions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击Built-inFunctions->GraphicsandSound->2DPlots->Plot,找到Plot的帮忙信息。
若是明白具体的函数名,但不知其详细利用说明,能够在命令按钮Goto右边的文本框中键入函数名,按回车键后就显示有关函数的概念、例题和相关联的章节。
例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示如图1-5的窗口,再按回车键,那么显示Plot函数的详细用法和例题。
若是已经确知Mathematica中有具有某个功能的函数,但不知具体函数名,能够点击Built-inFunctions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击Built-inFunctions->GraphicsandSound->2DPlots->Plot,找到Plot的帮忙信息。
数据类型和常数
1数值类型
在Mathematic中,大体的数值类型有四种:
整数,有理数、实数和复数
若是你的运算机的内存足够大,Mathemateic能够表示任意长度的精准实数,而不受所用的运算机字长的阻碍。
整数与整数的计算结果仍是精准的整数或是有理数。
例如:
2的100次方是一个31位的整数:
ln[1]:
=2^100
Out[1]=
在Mathematica中许诺利用分数,也确实是用有理数表示化简过的分数。
当两个整数相除而又不能整除时,系统就用有理数来表示,即有理数是由两个整数的比来组成如:
Ln[2]:
=12345/5555
Out[2]=2469/1111
实数是用浮点数表示的,Mathematica实数的有效位可取任意位数,是一种具有任意精准度的近似实数,固然在计算的时候也能够操纵实数的精度。
实数有两种表示方式:
一种是小数点另外一种是用指数方式表示的。
如:
ln[3]:
=
Out[3]=
ln[4]:
=*10^11
Out[4]=*10^11
实数也能够与整数,有理数进行混合运算,结果仍是一个实数。
Ln[5]:
=2+1/4+
Out[5]=
复数是由实部和虚部组成。
实部和虚部能够用整数,实数,有理数表示。
在Mathematica中,用i表示虚数单位如:
Ln[6]:
=3+
Out[6]:
=3+
2.不同类型数的转换
在Mathematica的不同应用中,通常对数字的类型要求是不同的。
例如在公式推导中的数字经常使用整数或有理数表示,而在数值计算中的数字经常使用实数表示。
在一样情形下在输出行Out[n]中,系统依照输入行ln[n]的数字类型对计算结果做出相应的处置。
若是有一些特殊的要求,就要进行数据类型转换。
在Mathematica中的提供以下几个函数达到转换的目的:
N[x] 将x转换成实数
N[x,n] 将x转换成近似实数,精度为n
Rationalize[x] 给出x的有理数近似值
Rationalize[x,dx] 给出x的有理数近似值,误差小于dx
[举例]
ln[1]=N[,20]
Out[1]=
ln[2]:
=N[%,10]
Out[2]=1.
二行输出是把上面计算的结果变成10位精度的数字。
%表示上一输出结果。
Ln[3]=Rationalize[%]
Out[3]=5/3
3.数学常数
Mathematica中概念了一些常见的数学常数,这些数学常数都是精准数,例如表示圆周率。
Pi 表示
=……
E 自然对数的底,e=…….
Degree
/180
i 虚数单位
Infinity 无穷大
-infinity 负的无穷大-
GondenRatio 黄金分割数
数学常数可用在公式推导和数值计算中。
在数值计算中表示精准值:
如:
n[1]:
=Pi^2
Out[1]=
ln[2]:
=Pi^29.8696l
的输出形式
在数的输出中能够利用转换函数进行不同数据类型和精度的转换。
另外对一些特殊要求的格式还能够利用如下的格式函数:
NumberForm[expr,n]以n位精度的实数形式输出实数expr
ScientificFormat[expr]以科学记数法输出实数expr
EngineergForm[expr]以工程记数法输出实数expr
例如:
ln[1]:
=N[Pi^30,30]
ln[2]:
=NumberForm[%,10]
Out[2]
12a
除他的值,若是变量本身也要清除用函数Clear[x]例如
ln[6]:
=u=.
ln[7]:
=2u+v
Out[7]=2+2u
3.变量的替换
在给定一个表达式时其中的变量可能取不同的值,这是可用变量替换来计算表达式的不同值。
方式为用expr/.例如:
Ln[1]:
=f=x/2+1
Out[1]=
Ln[2]:
=f/.x->1
Out[2]=
Ln[3]:
=f/.->2
Out[3]=3
若是表达式中有多个变量也能够同时替换方式为例如有两个:
expr/.{x->xval,y->val}
Ln[4]:
=(x+y)(x-y)^2/.{x->3,y->1-a}
Out[4]=
函数
1.系统函数
在Mathmatic中概念了大量的数学函数能够直接挪用,这些函数其名称一样表达了必然的意义,能够帮忙咱们明白得。
下面是几个经常使用的函数:
Floor[x] 不比x大的最大整数
Ceiling[x] 不比x小的最小整数
Sign[x] 符号函数
Round[x] 接近x的整数
Abs[x] x绝对值
Max[x1,x2,x3……..] x1,x2,x3…….中的最大值
Min[x1,x2,x3……..] x1,x2,x3…….中的最小值
Random[] 0~1之间的随机函数
Random[Real,xmax] 0~xmax之间的随机函数
Random[Real,{xmin,xmax}] xmin~xmax之间的随机函数
Exp[x] 指数函数
Log[x] 自然对数函数lnx
Log[b,x] 以b为底的对数函数
Sin[x],Cos[x],Tan[x],Csc[x],Sec[x],Cot[x] 三角函数(变量是以弧度为单位的)
Sinh[x],Cosh[x],Tanhx[x],Csch[x],Sech[x],Coth[x]双曲函数
ArcSech[x],ArcCoth[x] 双曲函数
Mod[m,n] m被n整除的余数,余数与n的符相同
Quotient[m,n] m/n的整数部分
GCD[n1,n2,n3……]或GCD[s] n1,n2,…的最大公约数,s为一数集合
LCM[n1,n2……]或LCM[s] n1,n2…….的最大公倍数,s为数据集合
N!
n的阶程
N!
!
n的双阶程
Mathematica中的函数与数学上的函数有些不同的地址,Mathematica中函数是一个具有独建功能的程序模块,能够直接被挪用。
同时每一函数也能够包括一个,或多个参数,也能够没有参数。
参数的的数据类型也比较复杂。
加倍详细的能够参看系统的帮忙,了解各个函数的功能和利用方式是学习Mathematica软件的基础
2.函数的概念
(1)函数的当即概念
当即概念函数的语法如下f[x_]=expr函数名为f,自变量为x,expr是表达式。
在执行时会把expr中的x都换为f的自变量x(不是x_)。
函数的自变量具有局部性,只对所在的函数起作用。
函数执行终止后也就没有了,可不能改变其它全局概念的同名变量的值。
请看下面的例子
概念函数f(x)=x*Sinx+x2对概念的函数咱们能够求函数值,也可绘制它的图形。
关于概念的函数咱们能够利用命令Clear[f]清除掉而Remove[f]那么从系统中删除该函数。
(2).多变量函数的概念
也能够概念多个变量的函数,格式为f[x_,y_,z_,…]=expr自变量为x,y,z….,相应的expr中的自变量
会被替换。
例如概念函数
f(x,y)=xy+ycosx
(3).延迟概念函数
延迟概念函数从概念方式上与即时概念的区别为“=”与“:
=”延迟概念的格式为f[x_]:
=expr其他操作大体相同。
那么延迟概念和即时概念的要紧区别是什么?
即时概念函数在输入函数后当即概念函数并寄存在内存中并可直接挪用。
延时概念只是在挪用函数时才真正概念函数。
(4).利用条件运算符概念和If命令概念函数
若是要概念如:
如此的分段函数应该如何概念,显然要依照x的不同值给出不同的表达式。
一种方法是利用条件运算符,大体魄式为f[x_]:
=expr/;condition,当condition条件知足时才把expr赋给f.下面概念方式,通过图形能够验证所概念函数的正确性
固然利用If命令也能够概念上面的函数,If语句的格式为If[条件,值1,值2]若是条件成立取“值1”,不然取“值2”,下面用If语句的概念结果
能够看出用If概念的函数g(x)和前面函数f(x)相同,那个地址利用了两个If嵌套。
逻辑性比较强关于其他的条件命令的进一步讨论请看后面的章节。
表
将一些彼此关联的元素放在一路,使它们成为一个整体。
既能够对整体操作,也能够对整体中的一个元素单独进行操作。
在Mathematica中如此的数据结构就称作表(List)。
表要紧有三个用法:
表{a,b,c}能够表示一个向量;表{{a,b},{c,d}}可表示一个矩阵。
1.建表
在表中元素较少时,能够采取直接列表的方式列出表中的元素,如{1,2,3}.请看下面的操作
Ln[1]:
={1,2,3}
Out[1]={1,2,3}
下面是符号表达式的列表
Ln[2]:
=1+%x+x^%
Out[2]={1+2x,1+2x+x2,1+3x+x2}
下面是对列表中的表达式对x求导
Ln[3]:
=D[%,x]
Out[3]={2,2+2x,3+2x}
Ln[4]:
=%/.x->1
Out[4]={2,4,5}
若是表中的元素较多时,能够用建表函数进行建表。
Table[f,{I,min,max,step}]以step为步长给出f的数值表,i由min变到max,
Table[f,{min,max}] 给出f的数值表,I由min变到max步长为1
Table[f,max] 给出max个f的表
Table[f,{I,imin,imax},{j,jmin,jmax},….]生成一个多维表
TableForm[list] 以表格格式显示一个表
Range[n] 生成一个{1,2,……..}的列表
Range[n1,n2,d] 生成{n1,n1+d,n1+d,….,n2}的列表
下面给出x乘i的值的表,i的转变范围为[2,6]:
Ln[1]:
=Table[x*i,{i,2,6}]
Out[1]={2x,3x,4x,5x,6x}
Ln[2]:
=Table[x^2,{4}]
Out[2]={x2,x2,x2,x2}
用Range函数生成一个序列数
Ln[3]:
=Range[10]
Out[3]={1,2,3,4,5,6,7,8,9,10}
下面那个序列是以步长为2,范围从8到20
Ln[4]:
=Range[8,20,2]
Out[4]={8,10,12,14,16,18,20}
上面的参数转变都是只有一个,也可制成包括多个参数的表,下面生成一个多维表:
Ln[5]:
=Table[2i+j,{i,1,3},{j,3,5}]
Out[5]={{5,6,7},{7,8,9},{9,10,11}}
利用函数TableForm能够以表格的方式输出
Ln[6]:
=%
幂次展开
1.下面是一些例子
(1).对x8-1进行分解
(2).展开多项式(1+x)^5
(3).展开多项式(1+x+3y)4
(4).化简(2+x)^4(1+x)^4(3+x)^3
2.多项式的代数运算
多项式的运算有加、减、乘、除运算:
+,-,*,/下面通过例子说明。
(1).多项式的加运算a2+3a+2与a+1相加(后面例子中也利用这两个多项式运算
(2).多项式相减
(3).多项式相乘
(4).多项式相除
(5).另外利用Cancel函数能够约去公因式
两个多项式相除,总能写成一个多项式和一个有理式相加Mathematic中提供两个函数PolynomialQuotient和PolynomialRemainder别离返商式和余式。
例如:
3.2方程及其根的表示
因为Mathematica把方程看做逻辑语句。
在数学