Mathematica教程.ppt

上传人:牧羊曲112 文档编号:5438840 上传时间:2023-07-07 格式:PPT 页数:197 大小:1.03MB
返回 下载 相关 举报
Mathematica教程.ppt_第1页
第1页 / 共197页
Mathematica教程.ppt_第2页
第2页 / 共197页
Mathematica教程.ppt_第3页
第3页 / 共197页
Mathematica教程.ppt_第4页
第4页 / 共197页
Mathematica教程.ppt_第5页
第5页 / 共197页
点击查看更多>>
资源描述

《Mathematica教程.ppt》由会员分享,可在线阅读,更多相关《Mathematica教程.ppt(197页珍藏版)》请在三一办公上搜索。

1、Mathematica 教程,第1章 Mathematica概述第2章 Mathematica的基本量第3章 Mathematica的基本运算第4章 Mathematica函数作图第5章 Mathematica微积分的基本操作第6章 Mathematica微分方程的求解第7章 Mathematica程序设计,第1章 Mathematica概述,1.1.1 Mathematica的启动和运行,Mathematica是美国Wolfram研究公司生产的一种数学分析型的软件,以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。假设在Windows环境下已安装好Mathematica4.0,启动

2、Windows后,在“开始”菜单的“程序”中单击,就启动了Mathematica4.0,在屏幕上显示如图的Notebook窗口,系统暂时取名Untitled-1,直到用户保存时重新命名为止。,输入1+1,然后按下Shift+Enter键,这时系统开始计算并输出计算结果,并给输入和输出附上次序标识In1和Out1,注意In1是计算后才出现的;再输入第二个表达式,要求系统将一个二项式展开,按Shift+Enter输出计算结果后,系统分别将其标识为In2和Out2。如图,在Mathematica的Notebook界面下,可以用这种交互方式完成各种运算,如函数作图,求极限、解方程等,也可以用它编写像C

3、那样的结构化程序。在Mathematica系统中定义了许多功能强大的函数,我们称之为内建函数(built-in function),直接调用这些函数可以取到事半功倍的效果。这些函数分为两类:(1)一类是数学意义上的函数,如:绝对值函数Absx,正弦函数Sinx,余弦函数Cosx,以e为底的对数函数Logx,以a为底的对数函数Loga,x等;(2)第二类是命令意义上的函数,如作函数图形的函数Plotfx,x,xmin,xmax,解方程函数Solveeqn,x,求导函数Dfx,x等。,Mathematica 严格区分大小写。一般地,内建函数的首写字母必须大写,有时一个函数名是由几个单词构成,则每个

4、单词的首写字母也必须大写,如:求局部极小值函数FindMinimumfx,x,x0等。第二点要注意的是,在Mathematica中,函数名和自变量之间的分隔符是用方括号“”,而不是一般数学书上用的圆括号“()”,初学者很容易犯这类错误。,必须注意的是,如果输入了不合语法规则的表达式,系统会显示出错信息,并且不给出计算结果。例如:要画正弦函数在区间-10,10上的图形,输入plotSinx,x,-10,10,则系统提示“可能有拼写错误,新符号plot 很像已经存在的符号Plot”,实际上,系统作图命令“Plot”第一个字母必须大写,一般地,系统内建函数首写字母都要大写。再输入PlotSinx,x

5、,-10,10,系统又提示缺少右方括号,并且将不配对的括号用蓝色显示,如图,一个表达式只有准确无误,方能得出正确结果。学会看系统出错信息能帮助我们较快找出错误,提高工作效率。,1.1.2 表达式的输入,Mathematica 提供了多种输入数学表达式的方法。除了用键盘输入外,还可以使用工具栏或者快捷方式健入运算符、矩阵或数学表达式。1数学表达式二维格式的输入,Mathematic担提供了两种格式的数学表达式。形如x/(2+3x)+y*(x-w)的称为一维格式,形如 的称为二维格式。你可以使用快捷方式输入二维格式,也可用基本输入工具栏输入二维格式。,可从FILE菜单中激活Palettes-Bas

6、ic Input 工具栏,也可输入,并且使用工具栏可输入更复杂的数学表达式。如图:,2特殊字符的输入,MathemMatica 还提供了用以输入各种特殊符号的工具样。基本输入 工具样包含了常用的特殊字符(上图),只要单击这些字符按钮即可输入。若要输入其它的 特殊字符或运算符 号,必须使用从FILE 菜单中选取Complete Characters工具栏,如图:,1.2 Mathematica的联机帮助系统,用Mathematica的过程中,常常需要了解一个命令的详细用法,或者想知系统中是否有完成某一计算的命令,联机帮助系统永远是最详细、最方便的资料库1获取函数和命令的帮助:在Notebook界

7、面下,用?或?可向系统查询运算符、函数和命令的定义和用法,获取简单而直接的帮助信息。例如,向系统查询作图函数Plot命令的用法?Plot 系统将给出调用Plot的格式以及Plot命令的功能(如果用两个问号“?”,则信息会更详细一些)。?Plot*给出所有以Plot这四个字母开头的命令2 Help菜单:任何时候都可以通过按F1键或点击帮助菜单项Help Browser,调出帮助菜单,如下图所示,其中的各按钮用途如下表所示,如果要查找Mathematica中具有某个功能的函数,可以通过帮助菜单中的Mahematica使用手册,通过其目录索引可以快速定位到自己要找的帮助信息。例如:需要查找Mathe

8、matica中有关解方程的命令,单击“The Mathematica Book”按钮,再单击“Contents”,在目录中找到有关解方程的节次,点击相应的超链接,有关内容的详细说明就马上调出来了。如果知道具体的函数名,但不知其详细使用说明,可以在命令按钮 Goto 右边的文本框中键入函数名,按回车键后就显示有关函数的定义、例题和相关联的章节。例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示如图的窗口,,再按回车键,则显示Plot函数的详细用法和例题。如果已经确知Mathematica 中有具有某个功能的函数,但不知具体函数名,可以点击Built-in Function

9、s按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击Built-in Functions-Graphics and Sound-2D Plots-Plot,找到Plot的帮助信息。如果知道具体的函数名,但不知其详细使用说明,可以在命令按钮 Goto 右边的文本框中键入函数名,按回车键后就显示有关函数的定义、例题和相关联的章节。例如,要查找函数Plot的用法,只要在文本框中键入Plot,按回车键后显示如图1-5的窗口,再按回车键,则显示Plot函数的详细用法和例题。如果已经确知Mathematica 中有具有某个功能的函数,但不知具体函数名,可以点击Built

10、-in Functions按钮,再按功能分类从粗到细一步一步找到具体的函数,例如,要找画一元函数图形的函数,点击 Built-in Functions-Graphics and Sound-2D Plots-Plot,找到Plot的帮助信息。,第2章 Mathematica的基本量,2.1 数据类型和常数,1数值类型 在Mathematic中,基本的数值类型有四种:整数,有理数、实数和复数。如果你的计算机的内存足够大,Mathemateic 可以表示任意长度的精确实数,而不受所用的计算机字长的影响。整数与整数的计算结果仍是精确的整数或是有理数。例如:2的100次方是一个31位的整数:ln1:=

11、2100,在Mathematica中允许使用分数,也就是用有理数表示化简过的分数。当两个整数相除而又不能整除时,系统就用有理数来表示,即有理数是由两个整数的比来组成如:In2:=12345/5555 Out2=2469/1111 实数是用浮点数表示的,Mathematica实数的有效位可取任意位数,是一种具有任意精确度的近似实数,当然在计算的时候也可以控制实数的精度。实数有两种表示方法:一种是小数点另外一种是用指数方法表示的。如:,ln3:=0.239998 Out3=0.23998 ln4:=0.12*1011 Out4=0.12*1011 实数也可以与整数,有理数进行混合运算结果还是一个实

12、数。复数是由实部和虚部组成。实部和虚部可以用整数,实数,有理数表示。在Mathematica中,用I表示虚数单位如:In6:=3+0.7I Out6:=3+0.7I,2.不同类型数的转换 在Mathematica的不同应用中,通常对数字的类型要求是不同的。例如在公式推导中的数字常用整数或有理数表示,而在数值计算中的数字常用实数表示。在一般情况下在输出行Outn中,系统根据输入行lnn的数字类型对计算结果做出相应的处理。如果有一些特殊的要求,就要进行数据类型转换。在Mathematica中的提供以下几个函数达到转换的目的:,举例 ln1=N5/3,20 Out1=1.66666666666666

13、666667 ln2:=N%,10 Out2=1.66666667 二行输出是把上面计算的结果变为10位精度的数字。表示上一输出结果。In3=Rationalize%Out3=5/3,3.数学常数Mathematica 中定义了一些常见的数学常数,这些数学常数都是精确数,例如表示圆周率。,数学常数可用在公式推导和数值计算中。在数值计算中表示精确值,如:In1:=Pi2 Out1=ln2:=Pi2/N Out2=9.86961,4.数的输出形式 在数的输出中可以使用转换函数进行不同数据类型和精度的转换。另外对一些特殊要求的格式还可以使用如下的格式函数:,例如:ln1:=NPi30,30 Out1

14、=ln2:=NumberForm%,10 Out2/NumberForm=下面的函数输出幂值可被3整除的实数 In3=EngineeringForm%Out3/EngineeringForm=,2.2 变量,1变量的命名 Mathematica中内部函数和命令都是以大写字母开始的标示符。为了不会与它门混淆,我们自定义的变量应该是以小写字母开始,后跟数字和字母的组合,长度不限。例如:a12,ast,aST都是合法的,而12a,z*a是非法的。另外在Mathematica中的变量是区分大小写的 在Mathematica中,变量不仅可以存放一个数值,还可以存放表达式或复杂的算式。,2给变量赋值 在M

15、athmatica中用等号为变量赋值。同一个变量可以表示一个数值,一个数组,一个表达式,甚至一个图形。如:In1:=x=3 Out1=3 In2:=x2+2x Out2=15 In3:=x=%+1 Out3=16,对不同的变量可同时赋不同的值,例如:In4:=u,v,w=1,2,3 Out4=1,2,3 In5:=2u+3v+w Out5=11,对于已定义的变量,当你不再使用它时,为防止变量值的混淆,可以随时用.清除它的值,如果变量本身也要清除用函数Clearx例如 ln6:=u=.ln7:=2u+v Out7=2+2u,3.变量的替换 在给定一个表达式时其中的变量可能取不同的值,这是可用变量

16、替换来计算表达式的不同值。方法为用expr/.例如:In1:=f=x/2+1 Out1=In2:=f/.x-1 Out2=In3:=f/.x-2 Out3=3,如果表达式中有多个变量也可以同时替换方法为例如有两个:expr/.x-xval,y-val In4:=(x+y)(x-y)2/.x-3,y-1-a Out4=(4-a)(2+a)2,2.3 函数,1系统函数 在Mathmatic中定义了大量的数学函数可以直接调用,这些函数其名称一般表达了一定的意义,可以帮助我们理解。下面是几个常用的函数:,Mathematica中的函数与数学上的函数有些不同的地方,Mathematica中函数是一个具有

17、独立功能的程序模块,可以直接被调用。同时每一函数也可以包括一个,或多个参数,也可以没有参数。参数的的数据类型也比较复杂。更加详细的可以参看系统的帮助,了解各个函数的功能和使用方法是学习Mathematica软件的基础,2函数的定义(1)函数的立即定义 立即定义函数的语法如下 fx_=expr 函数名为f,自变量为x,expr是表达式。在执行时会把expr 中的x都换为f的自变量x(不是x_)。函数的自变量具有局部性,只对所在的函数起作用。函数执行结束后也就没有了,不会改变其它全局定义的同名变量的值。请看下面的例子定义函数 fx_=x*Sinx+x2 对定义的函数我们可以求函数值,也可绘制它的图

18、形。,对于定义的函数我们可以使用命令Clearf清除掉而Removef则从系统中删除该函数。(2)多变量函数的定义 也可以定义多个变量的函数,格式为fx_,y_,z_,=expr 自变量为x,y,z.,相应的expr中的自变量 会被替换。例如定义函数 f(x,y)=xy+ycosx,(3)延迟定义函数延迟定义函数从定义方法上与即时定义的区别为“=”与“:=”延迟定义的格式为fx_:=expr其他操作基本相同。那么延迟定义和即时定义的主要区别是什么?即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用。延时定义只是在调用函数时才真正定义函数。,(4)使用If命令定义函数 如果要定义如:

19、这样的分段函数可以用If语句来定义。If语句的格式为If条件,值1,值2如果条件成立取“值1”,否则取“值2”,下面用If语句的定义结果,这里使用了两个If嵌套,2.4 表,将一些相互关联的元素放在一起,使它们成为一个整体。既可以对整体操作,也可以对整体中的一个元素单独进行操作。在Mathematica中这样的数据结构就称作表(List)。表主要有三个用法:表a,b,c可以表示一个向量;表a,b,c,d可表示一个矩阵。,1建 表 在表中元素较少时,可以采取直接列表的方式列出表中的元素,如1,2,3.请看下面的操作 In1:=1,2,3 Out1=1,2,3下面是符号表达式的列表 In2:=1+

20、%x+x%Out2=1+2x,1+2x+x2,1+3x+x2,下面是对列表中的表达式对x求导 In3:=D%,x Out3=2,2+2x,3+3x2 In4:=%/.x-1 Out4=2,4,6如果表中的元素较多时,可以用建表函数进行建表。,下面给出x乘i的值的表,i的变化范围为2,6:In1:=Tablex*i,i,2,6 Out1=2x,3x,4x,5x,6x In2:=Tablex2,4 Out2=x2,x2,x2,x2用Range函数生成一个序列数 In3:=Range10 Out3=1,2,3,4,5,6,7,8,9,10下面这个序列是以步长为2,范围从8到20 In4:=Range

21、8,20,2 Out4=8,10,12,14,16,18,20,上面的参数变化都是只有一个,也可制成包括多个参数的表,下面生成一个多维表:In5:=Table2i+j,i,1,3,j,3,5 Out5=5,6,7,7,8,9,9,10,11使用函数TableForm可以以表格的方式输出 In6:=%/TableForm Out6/TableForm=5 6 7 7 8 9 9 10 11,2表的元素的操作 当t表示一个表时,ti或者 Partt,i 表示t中的第i个子表。如果t=1,2,a,b,那么t3表示“a”。如:ln1:=t=TableI+2,jI,1,3,j,3,5 Out1=7,9,

22、11,8,10,12,9,11,13 ln2:=t2 Out2=8,10,12,表的操作,1、制表函数,2、元素操作,3、表的操作,2.5 表达式,1.表达式的含义 Mathematica 能处理数学公式,表以及图形等多多种数据形式。尽管他们从形式上看起来不一样,但在Mathematica内部都被看成同种类型,即都把他们当作表达式的形式。Mathematica 中的表达式是由常量、变量、函数、命令、运算符和括号等组成,他最典型的形式是fx,y,2表达式的表示形式 在显示表达式时,由于需要的不同,有时我们需要表达式的展开形式,有时又需要其因子乘积的形式。在我们计算过程中可能得到很复杂的表达式,这

23、时我们又需要对它们进行化简。常用的处理这种情况的函数。变换表达式表示形式函数,表达式(x+y)4(x+y2)展开:还原上面的表达式为因子乘积的形式:,3关系表达式与逻辑表达式 我们已经知道“”表示给变量赋值。现在我们来学习一些其它的逻辑与关系算子。关系表达式是最简单的逻辑表达式,我们常用关系表达式表示一个判别条件。例如:x0,y=0。关系表达式的一般形式是:表达式关系算子表达式。其中表达式可为数字表达式、字符表达式或意义更广泛的表达式,如一个图形表达式等。在我们实际运用中,这儿的表达式常常是数字表达式或字符表达式。下面出Mathematica中的各种关系算子。,给变量x,y赋值,输出后以变量的

24、值,如:In1:=x=2;y=9 Out1=9;In2:=xy Out2=False下面是比较两个表达式的大小 In3:=32y+1 Out3=True,用一个关系式只能表示一个判定条件,要表示几个判定条件胡组合,必须用逻辑运算符将关系表达式组织在一起,我们称表示判定条件的表达式为逻辑表达式。下面是常用的逻辑运算和它们的意义!:非、&:并、|:或、Xor:异或、If:条件 例如下面的例子说明它们的应用 In4:=3x2Y+1&32=y Out4=False In5:=3x2+1|32=y Out5=True,第3章 Mathematica的基本运算,3.1 多项式的表示形式,可认为多项式是表达

25、式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica提供一组按不同形式表示代数式的函数。,3.2 方程及其根的表示,因为Mathematica把方程看作逻辑语句。在数学方程式表示为形如“x2-2x+1=0”的形式。在Mathematica中“=”用作赋值语句,用“=”表示逻辑等号,则方程应表示为 x2-2x+1=0。方程的解同原方程一样被看作是逻辑语句。例如用Roots求方程x2-3x+2的根显示为,这种表示形式说明x取1或2均可。而用Solve可得解集形式 1求解一元代数方程 下面是常用的一些方程求解函数,Solve函

26、数例子 Solve函数可处理的主要方程是多项式方程。Mathematica总能对不高于四次的方程进行精确求解,对于三次或四次方程,解的形式可能很复杂。,例如求x3+5x+3=0,这时可用N函数近似数值解.,当方程中有一些复杂的函数时,Mathematica可能无法直接给出解来。在这种情况下我们可用FindRoot来求解,但要给出起始条件。例如:求3Cosx=logx的解,但只能求出x=1附近的解,如果方程有几个不同的解,当给定不同的条件时,将给出不同的解。如上例若求x=10附近的解命令为:,因此确定解的起始位置是比较关键,一种常用的方法是,先绘制图形观察后再解,如上例通过图形可断定在x=5附近

27、有另一根,2.求方程组的根 使用Solve和NSolve,FindRoot也可求方程组的解,只是使用时格式略有不同下面给出一个Solve函数的例子:求解:,3.求方程的全解 如果我们求ax2+bx+c=0的根我们用Solve 函数解的结果是:,这显然是不合理的,因为对不同的a,b,c方程的解有不同的情况,而上面只是给出部分解如果要解决这个问题可用Reduce命令,它可根据,a,b,c的取值给出全部值。,4.解条件方程 在作方程计算时,可以把一个方程看作你要处理的主要方程,而把其他方程作为必须满足的辅助条件,你将会发现这样处理很方便。譬如在求解像x4+bx2+c=0这样的方程时,通常我们采用x2

28、=y的代换方法使求解方程得到简化。在Mahematica 中,我们通常是首先命名辅助条件组,然后用名字把辅助条件包含在你要用函数Solve 求解的方程组中。用Sc定义方程:Sin2x+Cos2x=1,在这种条件下,求解方程。,3.3求和与求积,在Mathematica中,数学上的各式符号 用Sum表示,连乘 用Product表示。下面列出求和与求积函数的形式和意义:Sumf,i,imin,imax 求和 Sumf,i,imin,imax,di 以步长di增加i求和,Sumf,i,imin,imax,j,jmin,jmax 嵌套求和 Productf,i,imain,imax 求积 Produc

29、t f,i,imin,imax,di 以步长di增加i求和Productf,I,imin,imax,j,jmin,jmax 嵌套求积 Nsumf,i,imin,Infinity 求 近似值NProductf,i,imin,Infinity 求 近似值,第4章 函数作图,4.1 基本的二维图形,Mathematica在直角坐标系中作一元函数图形用下列基本命令。Plotf,x,xmin,xmax,option-value 在指定区间上按选项定义值画出函数在直角坐标系中的图形.Plotf1,f2,f3,x,xmin,xmax,option-value 在指定区间上按选项定义值同时画出多个函数在直角坐

30、标系中的图形,Mathematica绘图时允许用户设置选项值对绘制图形的细节提出各种要求。例如:要设置图形的高宽比,给图形加标题等。每个选项都有一个确定的名字,以“选项名-选项值”的形式放在Plot中的最右边位置,一次可设置多个选项,选项依次排列,用逗号隔开,也可以不设置选项,采用系统的默认值。,1.举例,(1)例如绘制 的图形。,(2)如果要取消刻度可以使用Ticks选项,(3)如果要标注坐标名称x 轴为“Time”,y轴为“Height”,(4)将坐标交点(3,0),并标注图形名称。,(5)修改x方向的刻度,y轴方向的刻度则用默认值。,(6)定义y轴的绘图范围,(7)另外我们也可以将图形结

31、果定义给变量,但不显示图形,后用Show命令显示。,2.数据集合的图形,Mathematica用于绘数字集合的图形的命令与前而介绍的绘函数图形的命令是相似的。如下:,(1)下面举例说明下面是一个离散数据的集合的图形,3.二维参数作图,前面我们使用Plot命令可以绘出直角坐标系下的函数图形,使用ParametrecPlot可以绘制参数曲线下面给出ParametricPlot的常用形式,(1).绘制参数方程 的图形,(2)下面将一个圆与上面参数绘在同一个坐标下,并保证图形的形状正确。,4.3 图形的样式,下面给出选项用于设置图形样式。,1.图形颜色的设置,在Mathematicaa提供各种图形指令

32、中,对图形元素颜色的设置是一个很重要的设置。下面给出三条不同颜色的正弦曲线.,下面用不同的色调对三个菱形进行着色。,2.图形大小 下面是一些点,注意点大小的控制。,下面的点的控制是用绝对单位,3.线段的控制 下面的例子是控制线段的宽度,使用的是绝对控制。,4.4 图形的重绘和组合,每次绘制图形后,Mathematica保存了图形的所有信息,所以用户可以重绘 这些图形。下面是常用重绘图形的函数。,1.使用Show显示图形 下面绘制函数Sinx2 的图形。,重绘图形时,可以改变命令的设置,下面改变y的比例同时给 图边框,2.使用Show命令进行组合 也可使用Show进行图形组合。图形组合与图形是否

33、有相同的比例无关,这时Mathematica会自动选择新的比例来绘制图形。下面绘制函数-xsin(2x+Pi)的图形和xcos(2x)然后绘制在一张图时。,3将多个图形组合为一个图形 我们也可把图形组合为一个图形,我们还 可以用GraphicsArray把多个图形绘制在一个图形矩阵中如下图。,4.5 基本三维图形,绘制函数f(x,y)在平面区域上的三维立体图形的基本命令是Plot3D,Plot3D和Plot的工作方式和选项基本相同。ListPlot3D可以用来绘制三维数字集合的三维图形,其用法也类似于ListPlot,下面给出这两个函数的常用形式。Plot3Df,(x,xmin,xmax),(

34、y,ymin,ymax)绘制以x和y为变量的三维函数f的图形ListPlot3DZ11,Z12,,Z21,Z22,.绘出高度为Zvx数组的三维图形,1.三维绘图举例(1)函数Sin(x+y)Cos(x+y)的立体图,用PlotRange设定曲线的表面的变化范围,(3)图形轴上加上标记,且在每个平面上画上网格。,(4)视图的改变,2.用数据来进行绘图 三维图形也可用数据来进行绘图。下面给出数据矩阵,因其较大未表示其结果。,3.三维空间的参数方程绘图 三维空间中的参数绘图函数ParametricPlot3Dfx,fv,fz,t,tmin,tmax和二维空间中的ParametricPlot很相仿。在

35、这种情况下,Mathematica实际上都是根据参数t来产生系列胡点,然后再连接起来。三维参数作图的基本形式为:,ParametricPlot3Dfx,fv,fz,t,tmin,tmax,u,umin,umax 产生一个空间曲面而不是一条曲线,曲面是由四边形组成。,5.1 极限,Mathematica计算极限的命令是Limit它的使用方法主要有,趋向的点可以是常数,也可以是+,-例如 1求,2求,5.2 微分,1.函数的微分 在Mathematica 中,计算函数的微分或是非常方便的,命令为Df,x,表示对x求函数f的导数或偏导数。该函数的常用格式有以下几种,例如 1.求函数Sinx的导数,2

36、.求函数exSinx的2阶导数,3.假设a是常数可以对Sinax求导,4.如果对二元函数f(x,y)=x2*y+y2求对x,y 求一阶和二阶偏导,Mathematica可以求函数式未知的函数微分,通常结果使用数学上的表示法例如:,对链导法则同样可用,如果要得到函数在某一点的导数值可以把这点代入导数如:,2.全微分 在Mathematica中,Df,x给出f的偏导数,其中假定f中的其他变量与x无关。当f为单变量时,Df,x计算f对x的导数。函数Dtf,x给出f的全微分形式,并假定f中所有变量依赖于x.下面是Dt命令的常用形及意义,下面我们求x2+y2的偏微分和全微分 可以看出第一种情况y与x没有

37、关系,第二种情况y是x的函数。再看下列求多项式 x2+xy3+yz 的全微分并假定z保持不变是常数,如果y是x的函数,y被看成是常数,5.3 计算积分,1.不定积分 在Mathematica中计算不定积分命令为 Integeratef,x。当然并不是所有的不定积分都能求出来。例如若求 Mathematica就无能为力。,但对于一些手工计算相当复杂的不定积分,MatheMatica还是能轻易求得,例如求,2.定积分 定积分的求解主要命令也是用Integrate只是要在命令中加入积分限Integratef,x,min,max,例如求,显然这条命令也可以求广义积分例如:求,求无穷积也可以例如,3.数

38、值积分 数值积分是解决求定积分的另一种有效的方法,它可以给出一个近似解。特别是对于用Integrate命令无法求出的定积分,数值积分更是可以发挥巨大作用。它的命令格式为,下面我们求Sinsinx在0,Pi上的积分值,由于这个函数的不定积分求不出,因此使用Integrate命令无法得到具体结果,但可以用数值积分求,如果积分函数存在不连续点,或存在奇点我们可对积分进行分段求解。例如函数 在-1,1上,显然x=0点是一个无穷间断点。因此若要求其数值积分,必须在其中插入点0,5.4 多变量函数的微分,下面是计算多变量函数的偏导数及全微分的命令与单变量基本相同,(I)Df,x1,x2,.,xn 计算偏导

39、数 下面是实际的例子:,6.1 微分方程解,在Mathematica中使用Dsolove 可以求解线性和非线性微分方程,以及联立的微分分方程组。在没有给定方程的初值条件下,我们所得到的解包括C1,C2是待定系数。求解微分方程就是寻找未知的函数的表达式,在Mathematica中,未稳中有降函数用yx表示,其微分用yx,yx等表示。下面给 出微分方程(组)的求解函数。,1用Dsolve求解微分方程yx,解yx仅适合其本身,并不适合于yx的其它形式,如yx,y0等,也就是说yx不是函数,例如我们如果有如下操作,yx,y0并没有发生变化.,2解的纯函数形式 使用Dsolve命令可以给出解的纯函数形式

40、,即y,请分析下面的例子,这里y适合y的所有情况下面的例子可以说明这一点,3求微分方程组例子,4带初始条件的微分方程的解 当给定一个微分方程的初始条件可以确定一个待定系数。例子,6.2 微分方程的数值解 在Mathematica中用函数DSolve得到微分方程的准确解,用函数NDSolve得到微分方程的数值解,当然在此处要给出求解区间(x,xmin,xmax)。NDSolve也是既能计算单个的微分方程,也能计算联立微分方程组。它能对大多数的常微分方程和部分偏微分方程求解。在常微分可能有一些未知函数yi,但这些未知函数都依赖于一个单变量x。,NDSolveeqn1,eqn2,y,x,xmin,x

41、max求函数y的数值解,x属于xmin,xmaxNDSolveeqnl,eqn2,,y1,y2,x,xmin,xmax求多个函数yi的数值解,使用Mathematica页可以很容易的得到解的图形。这儿给出如何观察微商的逆函数的近似值图形。我们使用命令Evaluate代替InterpolatingFunction能够节省时间。例如:,7.1 模块,下面定义有初值的变量t,Mathematica默认它为全局变量:ln1:=t=10 Out1=10模块中的t为局部变量,因此它独立于全局变量tln2:=Modulet,t=8;Printt,全局变量t的值仍为10:ln3=t=10 Out3=10,全局

42、变量t的值仍为10:ln6:=t=10 Out6=10,Mathematica 中的模块允许你把某变量名看作局部变量名。然而又存在有时你又希望它们为全局变量时,但变量值为局部的矛盾,这时我们可以用Block 函数。下面是一个含有全局变量x表达式,使用x的局部值计算上面的表达式:,Modulevars,body所要做的是把执行模块时表达式body的形式看成Mathematica程序的“代码”。然而当“代码”中直接出现变量vats时,这些vars都将被看作局部的。Blockvats,body并不查看表达式body的形式,而在整个计算Body的过程中,实用vars的局部值。,ln12:=m=i2 O

43、ut12:=i2 In13:=Blocki=a,i+m Out13=a+a2 In14:=Modulei=a,i+m Out14=a+i2,7.2 条件结构,条件结构的常用形式,If命令 ln1:=If 10,1+2,2+3 Out1=32Which命令 有时条件多于两个,在这种情况下可用If函数的嵌套方式来处理,但在这种情况下使用Whitch或Switch函数将更合适。下面用Which定义具有三个条件的函数,调用这个函数:,用Switch定义一个与模的余数有关的函数:,在Mathemahca中,有一种可能的情况就是你给出的条件结果既不是真也不为假。下面测试的结果既不是真也不是假,因此If的两

44、个分支保持不变:ln1:=Ifx=y,a,b Out1=Ifx=y,a,b 你可以给If加上第三个条件结果,这允许你测试的结果既不是真也不是假的情况下使用它:,ln2:=Ifx=y,a,b,c Out2=cln5:=TrueQx=x Out5=True ln6:=TrueQx=y Out6=false 用“=”可直接测试两个表达式的等同性:In7:x=y Out7:=False,4.是逻辑表达式的运算形式。逻辑表达式,面的函数包括两个组合条件:Inl0:=tx_:=(x!=0&1/x3)对这两个测试条件进行计算,下面的第一次测试得出为假,因此不进行第二个条件的测试,第二测试结果可能为1或0,因

45、此,7.3 循环结构,Mathematica 程序的执行包括对一系列Mathematica 表达式的计算。对简单程序,表达式的计算可用分号“;”来隔开,然后一个接一个地进行计算。然而,有时需要对同一表达式进行多次计算,即循环计算。,1.Do循环结构 简单地Do循环结构形式:,计算Printi+i2,i从1增加到3:,还可把一个过程放入Do函数中,2.While与For结构,当条件满足时,While循环一直进行,因此为了防止死循环,在While 中应包括命令能改变test的值。,下面是For循环的例子,下面再给出一个较复杂的For循环的例子,Mathematica中的函数While和For循环总是在执行循环体前对循环条件进行测试。一旦测试结果为假。就中止While和For循环,3.一些特殊的赋值方式,4.重复运用函数,例子,5.流程控制 常用的流程控制函数,例子,Continue,Return,Throw,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号