Mathematica8教程.docx
- 文档编号:26225345
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:101
- 大小:2.19MB
Mathematica8教程.docx
《Mathematica8教程.docx》由会员分享,可在线阅读,更多相关《Mathematica8教程.docx(101页珍藏版)》请在冰豆网上搜索。
Mathematica8教程
Mathematica-8-教程(总68页)
Mathematica8教程
【Mathematica简介】
Mathematica软件是由沃尔夫勒姆研究公司(WolframResearchInc.)研发的。
Mathematica版发布于1988年6月23日。
发布之后,在科学、技术、媒体等领域引起了一片轰动,被认为是一个革命性的进步。
几个月后,Mathematica就在世界各地拥有了成千上万的用户。
今天,Mathematica已经在世界各地拥有了数以百万计的忠实用户。
Mathematica已经被工业和教育领域被广泛地采用。
实际上,Mathematica负责将高级的数学和计算引入了传统上非技术的领域,极大的增加了科技软件的市场。
一个包含应用、咨询、书籍、和课程软件的行业支持着国际化的Mathematica用户群,这个行业还在不断地膨胀。
随着沃尔夫勒姆研究公司不断地扩大和Mathematica的使用被不断地扩展到不同的领域,将会看到Mathematica在全世界范围内对未来产品、重要研究发现、和教学的巨大影响。
数学软件是现在科研工作者的必备的工具,个人比较喜欢用Mathematica,因为它是最接近数学语言的。
Mathematica在15日发布,其最显着的变化是允许自由形式的英文输入,而不再需要严格按照Mathematica语法,这类似于Wolfram|Alpha搜索引擎。
Mathematica8允许用户按照自己习惯的思考过程输入方程式或问题,最令人激动的部分是软件不是逐行执行命令,而是能理解上下文背景。
1.EnteryourqueriesinplainEnglishusingnewfree-formlinguisticinput
2.Accessmorethan10trillionsetsofcurated,up-to-date,andready-to-usedata
3.Importallyourdatausingawiderarrayofimport/exportformats
4.Usethebroadeststatisticsanddatavisualizationcapabilitiesonthemarket
5.Choosefromafullsuiteofengineeringtools,suchaswaveletsandcontrolsystems
6.Usemorepowerfulimageprocessingandanalysiscapabilities
7.Createinteractivetoolsforrapidexplorationofyourideas
8.Developfasterandmorepowerfulapplications
WolframResearch的CEO和创立者斯蒂芬·沃尔夫勒姆表示:
“传统上,让计算机执行任务必须使用计算机语言或者使用点击式界面:
前者要求用户掌握它的语法;而后者则限制了可访问函数的范围。
”“自由格式语言学能够理解人类的语言,并将其转化为具有特定语法结构的语言。
这是产品适用性上的一个突破。
Mathematica8是这种创新思想下的第一个产品,但是它已经能够大幅度提高用户的工作效率。
”
Mathematica8可立即用于WindowsXP/Vista/7、MacOSX、Linuxx86以及其它兼容系统。
以下是最新macos版Mathematica8bt种子
以下是windows版Mathematica8网盘资源
b”作为后缀,称为Notebook文件。
以后想使用本次保存的结果时可以通过“文件”“打开”菜单读入,也可以直接双击它,系统自动调用Mathematica将它打开。
表达式的输入
Mathematica提供了多种输入数学表达式的方法。
除了用键盘输入外,还可以使用工具样或者快捷方式健入运算符、矩阵或数学表达式。
1.数学表达式二维格式的输入
Mathematic担提供了两种格式的数学表达式。
形如x/(2+3x)+y*(x-w)的称为一维格式,形如
的称为二维格式。
你可以使用快捷方式输入二维格式,也可用基本输入工具栏输入二维格式。
下面列出了用快捷方式输入二维格式的方法:
数学运算数学表达式按键
分式
xCtrl+/2
n次方xnxCtrl+^n
开2次方
Ctrl+2x
下标x2xCtrl+_2
例如输入数学表达式
,可以按如下顺序输入按键:
(,x,+,1,),Ctrl+^,+,4,→,Ctrl+/,Ctrl+2,2,x,+,y
另外也可从“文件”菜单中激活“控制面板”“BasicInput”工具栏,也可输入,并且使用工具栏可输入更复杂的数学表达式,如下图4。
图4
图5
2.特殊字符的输入
MathemMatica还提供了用以输入各种特殊符号的工具栏。
基本输入工具栏包含了常用的特殊字符(上图),只要单击这些字符按钮即可输入。
若要输入其它的特殊字符或运算符号,必须使用从“文件”菜单中激活“控制面板”“CompleteCharacters”工具栏,如上图5,单击符号后即可输入。
Mathematica的联机帮助系统
用Mathematica的过程中,常常需要了解一个命令的详细用法,或者想知系统中是否有完成某一计算的命令,联机帮助系统永远是最详细、最方便的资料库。
1.获取函数和命令的帮助
在Notebook界面下,用或可向系统查询运算符、函数和命令的定义和用法,获取简单而直接的帮助信息。
例如,向系统查询作图函数Plot命令的用法Plot系统将给出调用Plot的格式以及Plot命令的功能(如果用两个问号“”,则信息会更详细一些)。
Plot*给出所有以Plot这四个字母开头的命令。
菜单
任何时候都可以通过按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的基本量
数据类型和常数
1.数值类型
在Mathematic中,基本的数值类型有四种:
整数、有理数、实数和复数。
如果你的计算机的内存足够大,Mathemateic可以表示任意长度的精确实数,而不受所用的计算机字长的影响。
整数与整数的计算结果仍是精确的整数或是有理数。
例如2的100次方是一个31位的整数:
ln[1]:
=2^100
Out[1]=
在Mathematica中允许使用分数,也就是用有理数表示化简过的分数。
当两个整数相除而又不能整除时,系统就用有理数来表示,即有理数是由两个整数的比来组成如:
In[2]:
=12345/5555
Out[2]=
实数是用浮点数表示的,Mathematica实数的有效位可取任意位数,是一种具有任意精确度的近似实数,当然在计算的时候也可以控制实数的精度。
实数有两种表示方法:
一种是小数,另外一种是用指数方法表示的。
如:
In[3]:
=
Out[3]=
In[4]:
=*10^11
Out[4]=*10^11
实数也可以与整数,有理数进行混合运算,结果还是一个实数。
In[5]:
=2+1/4+
Out[5]=小数表示
复数是由实部和虚部组成,实部和虚部可以用整数、实数、有理数表示。
在Mathematica中,用I表示虚数单位如:
In[6]:
=3+
Out[6]=3+
2.不同类型数的转换
在Mathematica的不同应用中,通常对数字的类型要求是不同的。
例如在公式推导中的数字常用整数或有理数表示,而在数值计算中的数字常用实数表示。
在一般情况下在输出行Out[n]中,系统根据输入行In[n]的数字类型对计算结果做出相应的处理。
如果有一些特殊的要求,就要进行数据类型转换。
在Mathematica中的提供以下几个函数达到转换的目的:
N[x]将x转换成实数
N[x,n]将x转换成近似实数,精度为n
Rationalize[x]给出x的有理数近似值
Rationalize[x,dx]给出x的有理数近似值,误差小于dx
举例:
In[1]:
=N[5/3,20]
Out[1]=
In[2]:
=N[%,10]%表示上一输出结果,即%=。
Out[2]=第二个输出是把上面计算的结果变为10位精度的数字。
In[3]:
=Rationalize[%]
Out[3]=
3.数学常数
Mathematica中定义了一些常见的数学常数,这些数学常数都是精确数。
Pi表示π=?
E自然对数的底e=?
Degree1度,π/180弧度
I虚数单位i
Infinity无穷大∞
-infinity负无穷大-∞
GondenRatio黄金分割数
数学常数可用在公式推导和数值计算中,在数值计算中表示精确值。
如:
In[1]:
=Pi^2
Out[1]=π2
In[2]:
=Pi^2的输出形式
在数的输出中可以使用转换函数进行不同数据类型和精度的转换。
另外对一些特殊要求的格式还可以使用如下的格式函数:
NumberForm[expr,n]以n位精度的实数形式输出实数expr
ScientificFormat[expr]以科学记数法输出实数expr
EngineergForm[expr]以工程记数法输出实数expr
例如:
In[1]:
=N[Pi^30,30]
Out[1]=×1014
In[2]:
=NumberForm[%,10]
Out[2]除它的值,如果变量本身也要清除用函数Clear[var],例如:
In[6]:
=u=.
In[7]:
=2u+v(上面已定义了u,v的值)
Out[7]=2+2u
3.变量的替换
在给定一个表达式时其中的变量可能取不同的值,这是可用变量替换来计算表达式的不同值。
方法为用expr/.x->xval,例如:
In[1]:
=f=x/2+1
Out[1]=1+
In[2]:
=f/.x->1
Out[2]=
In[3]:
=f/.x->2
Out[3]=3
如果表达式中有多个变量,也可同时替换,方法为:
expr/.{x->xval,y->yval,...}
In[4]:
=(x+y)(x-y)^2/.{x->3,y->1-a}
Out[4]=(4-a)(2+a)2
函数
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[R,xmax]0~xmax之间的随机函数(R为Real,Integer,Complex之一)
Random[R,{xmin,xmax}]xmin~xmax之间的随机函数(R为Real,Integer,Complex之一)
Exp[x]指数函数ex
Log[x]自然对数函数lnx
Log[b,x]以b为底的对数函数
Sin[x],Cos[x],Tan[x],Csc[x],Sec[x],Cot[x]三角函数(变量是以弧度为单位的)
ArcSin[x],ArcCos[x],ArcTan[x],ArcCsc[x],ArcSec[x],ArcCot[x]反三角函数
Sinh[x],Cosh[x],Tanhx[x],Csch[x],Sech[x],Coth[x]双曲函数
ArcSinh[x],ArcCosh[x],ArcTanhx[x],ArcCsch[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的最大公约数,s为数据集合
LCM[n1,n2]或LCM[s]n1,n2或s的最小公倍数,s为数据集合
N!
N的阶程
N!
!
N的双阶程
Mathematica中的函数与数学上的函数有些不同的地方,Mathematica中函数是一个具有独立功能的程序模块,可以直接被调用。
同时每一函数也可以包括一个或多个参数,也可以没有参数。
参数的的数据类型也比较复杂。
更加详细的可以参看系统的帮助,了解各个函数的功能和使用方法是学习Mathematica软件的基础。
2.函数的定义
(1)函数的立即定义
立即定义函数的语法如下f[x_]=expr函数名为f,自变量为x,expr是表达式。
在执行时会把expr中的x都换为f的自变量x(不是x_)。
函数的自变量具有局部性,只对所在的函数起作用。
函数执行结束后也就没有了,不会改变其它全局定义的同名变量的值。
请看下面的例子,定义函数f(x)=xsinx+x2,对定义的函数我们可以求函数值,也可绘制它的图形。
In[1]:
=f[x_]=x*Sin[x]+x^2
Out[1]=x2+xSin[x]
In[2]:
=f[1]
Out[2]=1+Sin[1]
In[3]:
=Plot[f[x],{x,-3,3}]
Out[3]=-Graphics-
对于定义的函数我们可以使用命令Clear[f]清除掉,而Remove[f]则从系统中删除该函数。
(2)多变量函数的定义
也可以定义多个变量的函数,格式为f[x_,y_,z_,]=expr自变量为x,y,z,相应的expr中的自变量会被替换。
例如定义函数f(x,y)=xy+ycosx。
In[1]:
=f[x_,y_]=x*y+y*Cos[x]
Out[1]=xy+yCos[x]
In[2]:
=f[2,3]
Out[2]=6+3Cos[2]
(3)延迟定义函数
延迟定义函数从定义方法上与即时定义的区别为“=”与“:
=”延迟定义的格式为f[x_]:
=expr其他操作基本相同。
那么延迟定义和即时定义的主要区别是什么即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用。
延时定义只是在调用函数时才真正定义函数。
(4)使用条件运算符定义和If命令定义函数
如果要定义如:
这样的分段函数应该如何定义,显然要根据x的不同值给出不同的表达式。
一种办法是使用条件运算符,基本格式为:
f[x_]:
=expr/;condition,当condition条件满足时才把expr赋给f(x)。
下面定义方法,通过图形可以验证所定义函数的正确性。
In[1]:
=f[x_]:
=x-1/;x>=0
f[x_]:
=x^2/;(x>-1)&&(x<0)
f[x_]:
=x-1/;x<=-1
In[4]:
=Plot[f[x],{x,-2,2}]
Out[4]=-Graphics-
当然使用If命令也可以定义上面的函数,If语句的格式为If[条件,值1,值2],如果条件成立取“值1”,否则取“值2”,用If语句的定义结果如下:
In[5]:
=g[x_]:
=If[x>=0,x-1,If[x<=-1,Sin[x],x^2]]
In[6]:
=Plot[g[x],{x,-2,2}]
Out[6]=-Graphics-
可以看出用If定义的函数g(x)和前面函数f(x)相同,这里使用了两个If嵌套,逻辑性比较强。
关于其他的条件命令的进一步讨论请看后面的章节。
表
将一些相互关联的元素放在一起,使它们成为一个整体。
既可以对整体操作,也可以对整体中的一个元素单独进行操作。
在Mathematica中这样的数据结构就称作表(List)。
表{a,b,c}表示一个向量;表{{a,b},{c,d}}表示一个矩阵。
1.建表
在表中元素较少时,可以采取直接列表的方式列出表中的元素,如{1,2,3},请看下面的操作:
In[1]:
={1,2,3}
Out[1]={1,2,3}
下面是符号表达式的列表:
In[2]:
=1+%x+x^%
Out[2]={1+2x,1+2x+x2,1+3x+x3}
下面是把Out[2]列表中的表达式对x求导:
In[3]:
=D[%,x]
Out[3]={2,2+2x,3+3x2}
In[4]:
=%/.x->1
Out[4]={2,4,6}
如果表中的元素较多时,可以用建表函数进行建表:
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]或listn2}的列表
下面给出x乘i的值的表,i的变化范围为[2,6]:
In[1]:
=Table[x*i,{i,2,6}]
Out[1]={2x,3x,4x,5x,6x}
In[2]:
=Table[x^2,{4}]
Out[2]={x2,x2,x2,x2}
用Range函数生成一个序列数:
In[3]:
=Range[10]
Out[3]={1,2,3,4,5,6,7,8,9,10}
下面这个序列是以步长为2,范围从8到20:
In[4]:
=Range[8,20,2]
Out[4]={8,10,12,14,16,18,20}
上面的参数变化都是只有一个,也可制成包括多个参数的表,下面生成一个多维表:
In[5]:
=Table[2i+j,{i,1,3},{j,3,5}]
Out[5]={{5,6,7},{7,8,9},{9,10,11}}
使用函数TableForm可以以表格的方式输出
In[6]:
=%达式的含义
Mathematica能处理数学公式,表以及图形等多种数据形式。
尽管他们从形式上看起来不一样,但在Mathematica内部都被看成同种类型,即都把他们当作表达式的形式。
Mathematica中的表达式是由常量、变量、函数、命令、运算符和括号等组成,它最典型的形式是f[x,y]。
2.表达式的表示形式
在显示表达式时,由于需要的不同,有时我们需要表达式的展开形式,有时又需要其因子乘积的形式。
在我们计算过程中可能得到很复杂的表达式,这时我们又需要对它们进行化简。
常用的处理这种情况的函数就是变换表达式表示形式函数。
Expand[expr]按幂次升高的顺序展开表达式
Factor[expr]以因子乘积的形式表示表达式
Simplify[expr]进行最佳的代数运算,并给出表达式的最少项形式
表达式(x+y)4(x+y2)展开:
In[1]:
=Expand[(x+y)^4*(x+y^2)]
Out[1]=x5+4x4y+6x3y2+x4y2+4x2y3+4x3y3+xy4+6x2y4+4xy5+y6
还原上面的表达式为因子乘积的形式:
In[2]:
=Factor[%]
Out[2]=(x+y)4(x+y2)
多项式表达式的项数较多,比较复杂,在显示时显得比较杂乱,而且在计算过程中没有必要知道全部的内容;或表达式的项很有规律,没有必要打印全部的表达式的结果,Mathematica提供了一些命令,可将它缩短输出或不输出。
expr幂次展开
1.下面是一些例子
(1)对x8-1进行分解
In[1]:
=Factor[x^8-1]
Out[1]=(-1+x)(1+x)(1+x2)(1+x4)
(2)展开多项式(1+x)5
In[2]:
=Expand[(1+x)^5]
Out[2]=1+5x+10x2+10x3+5x4+x5
(3)展开多项式(1+x+3y)4
In[3]:
=Expand[(1+x+3y)^4]
Out[3]=1+4x+6x2+4x3+x4+12y+36xy+36x2y+12x3y+54y2
+108xy2+54x2y2+108y3+108xy3+81y4
(4)展开并化简(2+x)4(1+x)4(3+x)3
In[4]:
=Simplify[Expand[(2+x)^4(1+x)^4(3+x)^3]]
Out[4]=(3+x)3(2+3x+x2)4
2.多项式的代数运算
多项式的运算有加、减、乘、除运算:
+,-,*,/下面通过例子说明。
(1)多项式的加
运算a2+3a+2与a+1相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Mathematica8 教程