数学建模模型与应用_第1页
数学建模模型与应用_第2页
数学建模模型与应用_第3页
数学建模模型与应用_第4页
数学建模模型与应用_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Mathematica软件常用功能【实验目的】1. 用Mathematica软件进行各种数学处理;2. 用Mathematica软件进行作图;3. 用Mathematica软件编写程序.【注意事项】Mathematica中大写小写是有区别的,如Name、name、NAME等是不同的变量名或函数名。系统所提供的功能大部分以系统函数的形式给出,内部函数一般写全称,而且一定是以大写英文字母开头,如Sinx,Conjugatez等。 乘法即可以用*,又可以用空格表示,如2 32*36 ,x y,2 Sinx等;乘幂可以用“”表示,如x0.5,Tanxy。 自定义的变量可以取几乎任意的名称,长度不限,但

2、不可以数字开头。当你赋予变量任何一个值,除非你明显地改变该值或使用Clear变量名或“变量名=.”取消该值为止,它将始终保持原值不变。 一定要注意四种括号的用法:()圆括号表示项的结合顺序,如(x+(yx+1/(2x);方括号表示函数,如Logx,BesselJx,1;大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如2x,Sin12 Pi,1+A,y*x;双方括号表示“表”或“表达式”的下标,如a2,3、1,2,31=1。 Mathematica的语句书写十分方便,一个语句可以分为多行写,同一行可以写多个语句(但要以分号间隔)。当语句以分号结束时,语句计算后不做输出(输出语句除外

3、),否则将输出计算的结果。命令行“Shift+Enter”才是执行这个命令。§1. 初等代数1.1 有理式的运算1. 多项式的展开表1.1多项式展开的常用命令命令说明Expandpoly展开多项式polyFactorpoly对多项式poly作因式分解FactorTermspoly提取数字公因子Exponentpoly,x多项式poly中x的最高次数Coefficientpoly,expr多项式poly中项expr的系数polyn或Partpoly,n多项式poly的第n项Lengthpoly多项式poly的总项数In1:=f=Expand(x+y+3)2Out1=9+6x+x2+6y

4、+2xy+y2In2:=FactorfOut2=(3+x+y)2In3:=Exponentf,xOut3=2In4:=Coefficientf,xOut4=6+2y2. 有理式的运算In5:=Factor(x3+2x+1)/(x3+x2+x+1)Out5=In6:=Apart%Out6=表1.2有理式运算的常用命令命令说明ExpandNumeratorexpr展开分子ExpandDenominatorexpr展开分母Expandexpr展开分子,每项除以分母ExpandAllexpr分子,分母完全展开Numeratorexpr取出分式约简后的分子Denominatorexpr取出分式约简后的分

5、母Togetherexpr通分Apartexpr分解为部分分式之和Cancelexpr约分Factorexpr将分子分母作因式分解,并约分3. 多项式的代数运算表1.3多项式代数运算的常用命令命令说明PolynomialQuotientp,q,xx的多项式p与q相除的商式PolynomialRemainderp,q,xx的多项式p与q相除的余式PolynomialGCDp1,p2,多项式p1,p2,的最大公因式PolynomialLCMp1,p2,多项式p1,p2,的最小公倍式In7:=PolynomialQuotient1+x2,x+1,xOut7=-1+xIn8:=PolynomialGC

6、Dx2+2x+1,x3+1,x5+1Out8=1+x1.2方程求解表1.4方程(组)求解的常用命令命令说明Solve方程或方程组,变量求方程(组)的精确解NSolve方程或方程组,变量求方程(组)的(全部)近似解FindRoot方程,变量,初值用Newton法求方程的一个近似解FindRoot方程,变量,初值1,初值2用割线法求方程的一个近似解FindRoot方程组,变量1,初值1,变量2,初值2,用Newton法求方程组的一组近似解Reduce方程,变量推导方程的解In1:=Solvea*x+b=0,xOut1=In2:=Reducea*x+b=0,xOut2=In3:=FindRootSi

7、nx=0,x,3Out3=x3.14159In4:=FindRootSinx=0,x,6,6.5Out4=x6.28319In5:=FindRoot2x+y2=4,x2+Siny=1,x,0,y,0Out5=x1.38686,y-1.17682§2. 微积分微积分的常用命令如表1.5所示,下面是一些例子.In1:=LimitSinx/x,x->0Out1=1In2:=DSinn*x,xOut2=n Cosn xIn3:=DSinn*x,x,3Out3=-n3Cosn xIn4:=DtSinn*x,xOut4=Cosn x (n + x Dtn, x)In5:=DtSinn*x,

8、x,Constants->nOut5=n Cosn xIn6:=IntegrateLogx,xOut6=-x + x LogxIn7:=IntegrateTanx*Tany,x,0,1,y,0,1Out7=LogCos12In8:=NIntegrateExp-x2/2,x,0,InfinityOut8=1.25331In9:=DSolvey'x-yx=1,yx,xOut9= yx -> -1 + E x C1In10:=SeriesArcTanx,x,0,5Out10=表1.5微积分的常用命令命令说明Limitfx,x->x0求极限Df,x求导数(或偏导数)Df,x1

9、,x2,求偏导数Df,x,n求高阶导数(或)Df,x,NonConstants->v1,v2,求导数,其中是的函数Dtf全微分Dtf,x全导数Dtf,x1,x2,全导数Dtf,x,Constants->c1,c2,全导数,其中看作常数Integratef,x不定积分Integratef,x,y,不定积分Integratef,x,a,b定积分NIntegratef,x,a,b数值积分Integratef,x,a,b,y,c,d二重积分NIntegratef,x,a,b,y,c,d数值积分Seriesf,x,x0,n展开幂级数DSolveeqns,yx,x解常微分方程NDSolveeq

10、ns,yx,x,xmin,xmax求常微分方程在区间xmin,xmax的数值解§3. 线性代数3.1 向量与矩阵的定义表1.6向量与矩阵的定义的常用命令命令说明Arraya,n定义一个n维向量Arraya,m,n定义一个m行n列矩阵Tablefi,i,imin,imax,di元素为fi的向量Tablefi,j,i,imin,imax,di,j,jmin,jmax,dj元素为fi,j的矩阵IdentityMatrixnn阶单位矩阵In1:=A=Arraya,2,2;a1,1=2;a1,2=3;a2,1=4;a2,2=5;AOut2=2, 3, 4, 5In3:=B=Table1.0,2

11、,2Out3=1., 1., 1., 1.3.2向量与矩阵的运算向量与矩阵都可以看作为集合,因此有关集合的运算都能适用于向量与矩阵.另外,向量与矩阵还有下面的一些运算:表1.7向量与矩阵的定义的常用命令命令说明A+cA为矩阵或向量,c为标量,A+c表示A中每个元素与c相加A+B(A-B)矩阵的加(减)法A,B为同阶矩阵或向量c*A矩阵的数乘(c为标量)u.v向量的内积A.B矩阵的乘法DetA矩阵的行列式TransposeA矩阵的转置InverseA矩阵求逆EigenvaluesA矩阵的特征值EigenvectorsA矩阵的特征向量EigensystemA矩阵的特征值与特征向量构成的集合fA将函

12、数fx作用于矩阵A的每一个元素In4:=R=A-2*BOut4=0., 1., 2., 3.In5:=InverseROut5=-1.5,0.5,1,0In6:=EigenvectorsROut6=-0.270323, -0.96277, -0.871928, 0.489634In7:=ExpROut7=1., 2.71828, 7.38906, 20.0855§4. 计算方法4.1插值Mathematica软件中的插值有两种形式InterpolatingPolynomialdata,var多项式插值Interpolationdata一般插值其中data为被插值的数据,形式为x1,y

13、1,x2,y2,xn,ynvar为插值变量,一般可取为x.In1:=d=Tablex,Logx,x,1.0,3.0;InterpolatingPolynomiald,xOut2=(0.693147 - 0.143841 (-2. + x) (-1. + x)In3:=dat=Tablex,Sinx,x,0,2.0,0.1;f=InterpolationdatOut4=InterpolatingFunction0., 2., <>在上面的第二个例子中,输出结果表示一个0,2上的插值函数,此插值函数无法给出表达式.我们可以比较函数Sinx与所得到的插值函数的误差.In5:=PlotSi

14、nx-fx,x,0,2图1.1 拟合误差图由图1.1可以看出,两个函数的误差相当小(数量级为10-6).4.2 拟合下面的命令用来对数据data进行最小二乘拟合.Fitdata,funs,vars其中data为要拟合的数据,funs为拟合函数的基,vars为拟合的变量.In6:=Cleard,dat;d=Tablex,Logx,x,1,10,1;Fitd,1,x,x2,xOut8=-0.355396+0.529707x-0.0272091x24.3 最优化下面的命令用来求函数fx在x0附近的极小值.FindMinimumfx,x,x0In9:=t=FindMinimumSinx, x, 5Ou

15、t9=-1., x -> 4.71239若要在程序中引用上面的结果中的函数的极小值或x的值,可以用下面的命令:In10:=t1Out10=-1.In11:=x/.t2,1 (*在此处等价于x/.x->4.71239*)Out11=4.71239§5. Mathematica软件中的作图5.1 二维函数作图给出一个一元函数及其作图区间,用Plot语句可以立刻作出函数在相应区间上的图形.In1:=PlotSinx,x,0,2Pi (*图1.2*)In2:=PlotSinx,x,0,2Pi,AspectRatio->Automatic,PlotStyle->Gray

16、Level0.1,Dashing0.02,0.01,Thickness0.01,AxesLabel->”x”,”y” (*图1.3*)Plot命令的一般形式为:Plotfx,x,xmin,xmax,选项在绘制图形时,允许使用选项对绘制图形的细节提出各种要求和设置.如果不设置任何选项,则Mathematica软件作图时选项取默认值. 图1.2 的函数图形(1) 图1.3 的函数图形(2)Plot语句的各种常用的选项如下:表1.8 Plot语句的各种常用的选项 选项默认值意义AspectRatio1/GoldRatio=0.618图形高度与宽度的比例.如果要图形按实际情况显示,设置的选项应为

17、Automatic.AxesAutomatic是否画坐标轴以及设置坐标轴的中心位置.选项值为None时,不设坐标轴.AxesLabelNone设置坐标轴上的标记符号.用“字符串”,“ 字符串”的形式定义轴的横坐标和纵坐标标记.PlotLabelNone图形的名称标志.PlotLabel->“图名”,加上所给图名.DisPlayFunction$ DisPlayFunction如何显示图形.选项值为Identity时,只生成图形但不显示.PlotRangeAutomatic图形中坐标的范围.PlotPoints22采样函数的点数.对于函数值变化剧烈的表达式,应设定较大的点数.PlotSty

18、leAutomatic设置曲线的样式.取默认值时画出一条黑色、实的曲线.其它可选项介绍见表1.9.PlotStyle的常用选项见表1.9.表1.9 PlotStyle的可选项选项意义Graylevelg灰度比值,g取到之间的数,为白色,为黑色.RGBColorr,g,b红、绿、蓝三色的强度,r,g,b取到之间的数.Thicknesst线的宽度值为t.Hueh色调,h取0到1之间的实数.Dashingr1,r2,线以虚线表示,虚线长度为r1,r2, 5.2二维参数作图使用Plot命令只能绘出一般的函数曲线,要绘制参数曲线,可以用ParametricPlot命令,其一般形式为:Parametric

19、Plotxt,yt,t,tmin,tmax,选项In3:=ParametricPlotCost,Sint,t,0,2Pi 图1.4 参数方程绘制的圆(1) 图1.5 参数方程绘制的圆(2)In3中输入的是一个圆的参数方程,但由于系统默认的高宽比为0.618,故画出的是一个椭圆(图1.4),改变图形的高宽比可画出一个圆.In4:=ParametricPlotCost,Sint,t,0,2Pi,AspectRatio->Automatic (*图1.5*)5.3 三维函数作图作出二元函数的立体图形的命令是Plot3D,其格式为:Plot3Dfx,y,x,xmin,xmax,y,ymin,ym

20、ax,选项In5:=Plot3DSinSqrtx2+y2,x,-5,5,y,-5,5 (*图1.6*)与Plot语句类似,Plot3D语句中也可以加入许多选项.图1.6 三维函数作图1 图1.7 三维函数作图2In6:=Plot3DSinSqrtx2+y2,x,-5,5,y,-5,5,Boxed->False,Axes->False,PlotPoints->50,Mesh->False (*图1.7*)表1.10 Plot3D语句的各种常用的选项 选项默认值意义AspectRatio1图形高度与宽度的比例.AxesTrue是否画坐标轴AxesLabelNone设置坐标轴

21、上的标记符号.BoxedTrue是否显示外框MeshTrue是否在表面画网格PlotRangeAutomatic图形中坐标的范围.PlotPoints15采样函数的点数.ShadingTrue表面是阴影还是空白5.4 三维参数作图在Mathematica软件中三维参数作图有两种形式,一种是空间曲线参数作图,其命令为:ParametricPlot3Dxt,yt,zt,t,tmin,tmax,选项下面的命令给出图1.8中的螺旋线.In7:=ParametricPlot3D6Cost,6Sint,3*t,t,-8,8,AspectRatio->1另一种是空间曲面参数作图,其命令为:Parame

22、tricPlot3Dxu,v,yu,v,zu,v,u,umin,umax,v,vmin,vmax,选项图1.9是如下命令画出的球面.In8:=ParametricPlot3DCosu*Cosv,Sinu*Cosv,Sinv,u,0,2Pi,v,-Pi/2,Pi/2,Boxed->False 图1.8 空间曲线参数作图 图1.9 空间曲面参数作图5.5 数据作图Mathematica软件也可以根据一组数据作出图形,其命令为:ListPlot数据,选项In9:=p=Tablen,Primen,n,1,20;ListPlotp (*图1.10*)In10:=ListPlotp,PlotStyl

23、e->AbsolutePointSize4 (*图1.11,将点的大小定义为4个单位*)In11:=ListPlotp,PlotJoined->True (*图1.12,将相邻的点用线段相连*) 图1.10 散点图1 图1.11 散点图2图1.12 连线散点图5.6 图形的组合上述的各种图形命令中,ParametricPlot, ParametricPlot3D, Plot三个语句不仅可以画出一个函数的图形,而且可以同时画出几个函数的图形.其一般形式为:图形命令函数1,函数2,变量范围,选项In12:=PlotSinx,x,x-x3/6,x-x3/6+x5/120,x,-2Pi,2

24、Pi (*图1.13*)In13:=ParametricPlot3DCosu*Cosv,Sinu*Cosv,Sinv,2Cosu*Cosv, 2Sinu*Cosv,2Sinv,u,0,Pi,v,-Pi/2,Pi/2,Boxed->False,Axes->False(*图1.14*)17 图1.13 组合图形(1) 图1.14 组合图形(2)5.7图形元素作图如果要绘制一些最基本的图形,如点,线段,圆等,可以先用Graphics语句(三维图用Graphics3D)作出基本的图形元素,再用Show语句显示图形.常用的二维图形元素与三维图形元素分别见表1.11及表1.12.表1.11常用

25、的二维图形元素二维图形元素几何意义Pointx,y点x,yLinex1,y1,x2,y2,连接x1,y1,x2,y2,的折线段Rectanglex1,y1,x2,y2以为对角线两顶点的填实矩形Polygonx1,y1,x2,y2,以x1,y1,x2,y2,为顶点的填实多边形Circlex,y,r圆心在x,y,半径为r的圆Circlex,y,rx,ry中心在x,y,长短半轴分别为rx,ry的椭圆Circlex,y,r,t1,t2从弧度t1到弧度t2的圆弧Diskx,y,r圆心在x,y,半径为r的填实圆Text“expr”,x,y在x,y处的文本“expr”执行下列语句所得图形为图1.15:v1=

26、GraphicsCircle0,0,3.5,4;v2=GraphicsLine-2,2.5,-1,2.5;v3=GraphicsLine2,2.5,1,2.5;v4=GraphicsCircle-1.5,1.5,0.5;v5=GraphicsCircle1.5,1.5,0.5;v6=GraphicsDisk-1.65,1.5,0.15;v7=GraphicsDisk1.35,1.5,0.15;v8=GraphicsPolygon-0.5,-1,0.5,-1,0,0;v9=GraphicsCircle0,-2,0.5,0.3;v10=GraphicsText"我是谁?",0,

27、-5;Showv1,v2,v3,v4,v5,v6,v7,v8,v9,v10,AspectRatio->Automatic图1.15 图形元素作图表1.12常用的三维图形元素三维图形元素几何意义Pointx,y,z点x,y,zLinex1,y1,z1,x2,y2,z2,依次连接x1,y1,z1,x2,y2,z2,的折线段Polygonx1,y1,z1,x2,y2,z2,以x1,y1,z1,x2,y2,z2,为顶点的填实多面体Cuboidx1,y1,z1,x2,y2,z2以x1,y1,z1,x2,y2,z2为对角线两顶点的立方体Text“expr”,x,y,z在x,y,z处的文本“expr”

28、5.8 图形的重绘Mathematica软件在屏幕上显示图形后,可以用Show命令再现图形、组合图形和修改图形的各种选项.Show命令的一般形式见表1.13:表1.13 Show命令的一般形式命 令说 明Showpic显示图形picShowpic,选项名->选项值修改图形pic的各种选项并显示图形Showpic1,pic2,.,picn将pic1,pic2,picn在一起显示§6. 编程6.1分支结构在复杂的计算中常需要根据表达式的情况(它是否满足一些条件)确定是否做某些处理,或在满足不同的条件时做不同的处理.Mathematica软件提供了一些描述条件分支的结构,它们常用在程

29、序里,用于控制程序的执行过程.1. If语句Mathematica软件中If语句有三种形式.形式一:Iftest,expr当test的值为True时,对expr求值,将它的值作为整个语句的值;当test的值为False时,则给出空值Null.形式二:Iftest,expr1,expr2当test的值为True时,求expr1的值作为整个语句的值;当test的值为False时,求expr2的值作为整个语句的值.形式三:Iftest,expr1,expr2,expr3当test的值为True时,求expr1的值作为整个语句的值;当test的值为False时,求expr2的值作为整个语句的值;当te

30、st求不出值为True与False时,求expr3的值作为整个语句的值.In1:=absx_=Ifx>=0,x,-xIn1中定义出的函数absx即为绝对值函数Absx.In2:=fx_:=Ifx>5,3,2,1In3:=f6Out3=3In4:=f5Out4=2In5:=faOut5=12. Which语句Whichtest1,expr1,test2,expr2,该语句依次求出每一个条件的值,当求出第一个值为True的条件时,求出对应表达式的值作为整个语句的值.例:In6:=gx_:=Whichx>=8,8,x>=6,6,x>=4,4,True,0用“True”作为Which语句的最后一个条件,可以处理“其它”情况.在此处即为,当x<4时,gx取值为0.6.2循环结构高级程序设计语言都提供了描述重复执行的循环语句.在Mathematica软件中也提供了一些类似的循环控制结构.1. Whiletest,expr在计算时,条件test先被求值.若求出值为True,则对表达式求值,然后再重复上述过程;一旦test的值不是True,整个循环结构计算结束.例如下面的程序可用来计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论