Mathematica软件的使用.ppt
Mathematica软件的使用,主讲:吝维军,主要内容,一、符号计算系统简介二、Mathematica使用基础三、Mathematica绘图四、Mathematica代数运算五、Mathematica微积分,一、符号计算系统(数学软件),数值计算和符号计算数值计算过程是常量、变量值、函数值到数值的变换。符号计算过程是常量、变量、函数和计算公式到常量、变量、函数和计算公式的一个变换。符号计算系统符号计算系统是一个表示数学知识和数学工具的系统,一个集成化的计算机数学软件系统。数值计算、符号计算、图形演示和程序设计符号计算系统的功能验证数学公式的工具理论研究中的实验方法,符号计算系统的种类,符号计算系统是表示数学知识和数学工具的系统,是集成化的计算机数学软件系统。符号计算系统类型 一类是数值计算型软件 一类是数学分析型软件常见的几个符号计算系统MathematicMapleMatlabMathCAD,Matlab简介,Matlab是“Matrix Laboratory”的缩写意为“矩阵实验室”是当今很流行的科学计算软件Matlab是一个交互式的系统它的基本运算单元是不需指定维数的矩阵系统提供了大量的矩阵及其他运算函数,可以方便的进行一些很复杂的计算,而且运算效率极高。Matlab命令和数学中的符号、公式非常接近可读性强、容易掌握还可进行编程完成特定的工作Matlab具备图形用户接口(GUI)工具允许用户把Matlab当作一个应用开发工具来使用。,Maple 简介,Maple 是由加拿大Waterloo University开发的一种数学软件。较强的解析运算和数学公式推导、定理证明的能力。,Mathcad 简介,Mathcad 是80年代出现较早的交互式数学软件。它兼顾了文字、数学和图形处理等功能,是一个多功能的集成化的环境。,二、Mathematica使用基础,Mathematica的功能简介Mathematica中的基本量表和与积,软件概况,开发公司:美国Wolfram研究公司开发的符号计算系统创始人:Stephen Wolfram使用者:从事理论研究的数学工作者其它科学工作者从事实际工作的工程技术人员功能:解决各种领域的涉及复杂的符号计算和数值计算的问题 开发工具:Mathematica系统是用C语言开发的。,1.Mathematica的功能简介,使用基础,(1)Mathematica的界面,标题栏菜单栏,基本输入工具面板,状态栏,工作屏幕Notebook记事本,使用基础,(2)输入和计算,计算的种类:数值计算:结果是一个数值。符号计算:结果是一表达式。运行方式:交互式(命令式)程序方式开始计算(运行)方式(3种)按Shift+回车键按数字小键盘的回车键“Kernel”-”Evaluation”-”Evalute Cell”停止计算(运行)Alt+,“Kernel”-”Interrupt Evaluation”输入函数和命令的快捷方式调出相应的输入面板,可通过“File”|“Palettes”按复合键Ctrl+L复制上一命令键入命令或函数的第一个(或前几个字符),按复合键Ctrl+K,从列表框中选择,使用基础,(3)在Mathematica中获取帮助,通过帮助浏览器“Help Browser”获取该函数的调用形式、完整说明、使用举例在行文中输入?函数名获取该函数的调用形式和相关说明行文中输入?函数名 获取该函数的更多的信息行文中输入“?带有*号的不完整的函数名”列出相关的函数名。,使用基础,2.Mathematica中的基本量,(1)数与数的表示 数的类型整数(Integer)、有理数(Rational)、实数(Real)、复数(Complex)注:整数的位数不限制,实数精度不限制数学常数Pi、E、Degree、I、Infinity、数值表达式运算的结果精确数和浮点数(带小数点的数,近似数)依据表达式中数的表现形式确定结果的形式数的输出形式N表达式 和 表达式/N以实数形式输出表达式的值(有效位数取6位)N表达式,n 以n位精度的实数形式表示表达式ScientificForm表达式 科学记数法,使用基础,(2)变量,变量命名规则字母开头,后跟字母、数字、下划线,变量赋值赋值符号:=和:=赋值格式:变量=表达式 变量1=变量2=表达式清除变量的值:变量=.Clear变量,变量替换(代入)格式:表达式/.x-a表达式/.x1-a1,x2-a2,功能:表示把表达式中的x全部换为a的结果表示分别用a1替换x1,a2替换x2,.,赋值表达式可为数值型、字符型、数组、图形,x、x1,为变量a1,a2,为表达式,系统内部变量大写字母开头用户常用变量小写字母开头长度不限,使用基础,(3)函数,常用的数值函数实变量的数值函数Roundx、Floorx、Absx、Signx、Maxx1,x2,IntegerPart、FractionalPart、IntegerDigits复变量的数值函数:Rez、Imz、Conjugatez、Absz、Argz初等函数Logx、Expx、Sinx、ArcSinx、Sinhx组合函数n!、n!、Binomialn,m、Permutationslist数论函数Modm,n、Quotientm,n、GCDn1,n2,或GCDs、LCMPrimek、PrimeQk、FactorIntegern 伪随机函数格式:Random数据类型,数据范围,n功能:生成在“数据范围”内由“数据类型”所限定的具有n位精度随机数Random:0到1之间的随机数RandomComplex:单位正方形中的随机复数Random Real,xmin,xmax:xmin到xmax之间的随机实数Random Real,xmax,n:0到xmax之间的n位精度的随机数,使用基础,(4)自定义函数,注:格式1与格式2的区别在于何时求表达式的值。体会下列两例:gx_=Random和hx_:=Random取消函数f的定义fx_=.或 Clearf 定义函数时,需要几个命令才能完成,可将命令依次排列,中间用分号隔开,首尾用圆括号括起来。,格式1:fx_=表达式,格式2:fx_:=表达式,函数定义中的自变量,读作空白,立即定义,延时定义,使用基础,(5)表达式,表达式由常量、变量、函数、运算符和括号组成的式子算术表达式算术运算符:+、*、/、逻辑表达式逻辑值:True(真)、False(假)、非真非假关系运算符:=、!=、=、(连接运算符)、=(相等比较运算符),使用基础,表达式求值的注意事项,函数系统定义的函数、用户自定义函数、程序包中的函数几类括号:其中放函数的自变量:其中表示元素的分界符():组织运算量之间的顺序算术运算符乘号可用空格代,不引起误解,乘号可省略运算次序同数学中的习惯表达式中可含%、%、%n%表示上次计算的结果%表示上上次计算的结果%n 表示第n 次计算的结果,使用基础,3.表(List),将若干项用括起来,构成一个整体对象,称为表。例:1,2,3t1,t2,t3a,3,4,a,6,g,”MyMame”1,0,0,0,1,0,0,0,1表的数据类型为 List注:表可用来表示各种对象,表中的元素可以是数、集合、表达式、表。表本身没有特定的含义,根据实际背景可有多种解释(集合、数组、矩阵等)。表是Mathematica系统中的一种表示结构,用于把一些表达式聚集起来成为一个整体。主要内容表的生成表的操作,使用基础,(1)表及其生成,直接形成:用括起来的对象通项生成格式1:Table表达式,i,s,t,step功能:用包含i的“表达式”,将i依次以步长step取s到t间的值所得到的表.例:TablePrimei,i,1,10,1得:2,3,5,7,11,13,17,19,23,29循环描述:循环变量,初值,终值,步长当步长为1时,可省略步长当步长和初值为1 时,可省略初值和步长特别:n表示重复n次格式2:Range初值,终值,步长功能:生成值为初值,初值+步长,终值的数值表,使用基础,练习:,请叙述下列语句的功能TableRandom,100TableRandomInteger,100TableRandomInteger,100,999,100Table2n,n,10,20Tablem!,m,2,9,2TableSinx,x,0,2Pi,Pi/10,使用基础,(2)表的操作,设t为表,fmt为表达式,n为自然数。,使用基础,4.和与积,Sumfi,i,min,max,di NSumfi,i,min,max,di求若干项的和,对应的值分别为精确值和近似值Productfi,i,min,max,di NProductfi,i,min,max,di求若干项的积,使用基础,例,1.求下列表达式的值:2.求数列 前100项的和与积。3.随机产生100个010之间的整数,统计各个整数出现的次数.4.随机产生2.3,7.8之间的100个数,并求其最大值及其位置.5.随机生成两个长为n的表,求其对应位置差的平方和.fn_:=(a=TableRandom,n;b=TableRandom,n;c=(a-b)2;s=ApplyPlus,c;s),使用基础,二、Mathematica中作图,一元函数作图显函数作图:Plot函数参数方程作图:ParametricPlot函数数据点作图:ListPlot函数图形元素作图二元函数作图显函数作图:Plot3D函数参数方程作图:ParametricPlot3D函数数据点作图:ListPlot3D函数图形元素作图等值线图和等密线图,一元显函数作图,格式:Plot函数f,x,xmin,xmax,选项功能:在区间xmin,xmax上,按选项的要求画出函数f的图形.注:(1)选项可有可无,可有多个依次排列,中间用逗号隔开.(2)选项的格式:选项名 选项值例:PlotSinx*x,x,0,2Pi,PlotStyle-RGBColor1,0,0,Axes-False,一元函数作图,PlotStyle选项,控制图形的生成过程、控制图形元素的构造它的值为一个表,包括如下选项,设置曲线的样式GrayLevelg 灰度比值 RGBColorr,g,b 红绿兰三色的强度Thicknesst 显示线的宽度Dashingd1,d2,用虚线段序列画线PointSized 给出一个点的大小例:PlotSinx*x,x,0,2Pi,PlotStyle-RGBColor1,0,0,Thickness0.08,一元函数作图,修饰整幅图,选项名 意义AspectRatio 图形的高度与宽度的比例Background 图的背景颜色PlotLabel 图形的名称标志PlotRange 作图的范围GridLines 画坐标网格线,一元函数作图,修饰坐标轴,选项名 意义Axes是否画坐标轴AxesOrigin坐标轴经过的点(坐标原点)AxesLabel坐标轴上的标记符号Frame图形周围是否加框Ticks设置坐标轴上的刻度位置FrameLabel是否在框的周围加标记,一元函数作图,同时作出几个函数的图象,格式Plot函数1,函数2,,x,xmin,xmax,选项例PlotSinx,Cosx,x,0,2Pi,PlotStyle-GrayLevel0.5,Dashing0.06,0.02,RGBColor0,1,0,Thickness0.02,一元函数作图,重画和组合图形,Showpic显示图形picShowpic,选项名选项值设置图形pic的选项并显示图形此时不可更改的PlotStyle选项的值Showpic1,pic2,.picn将n个图在一起显示GraphicsArrayp1,p2,.组合多个图形成为一数组ShowGraphicsArrayp1,p2,.,一元函数作图,一元参数方程作图,格式1ParametricPlotxt,yt,t,t0,t1,选项功能画一个x轴、y轴为xt,yt,参变量t在t0,t1中的参数曲线。格式2ParametricPlotx1t,y1t,x2t,y2t,t,t0,t1,选项功能画一组参数曲线。,一元函数作图,平面数据点作图,点的表示:x,y点的集合:x1,y1,x2,y2,x3,y3数据点作图的命令格式:ListPlotx1,y1,x2,y2,画出数据点x1,y1,x2,y2,ListPloty1,y2,yn画出数据点1,y1,2,y2,n,ynListPlot数据,PlotJoinedTrue画一条通过数据点的光滑曲线例:a=TablePrimei,i,10;ListPlota,PlotStyle-RGBColor1,0,0,PointSize0.02,一元函数作图,二元显函数作图,格式Plot3Dfx,y,x,x0,x1,y,y0,y1,选项功能在区域 x0,x1y0,y1上,画出空间曲面fx,y.例:Plot3DSinx y,x,0,Pi,y,0,Pi,二元函数作图,选项,PlotPoints:采样函数的点数Boxed:三维图形是否放在一个透明的长方体盒子中。BoxRations:设置盒子在不同的方向压缩或拉长。Mesh:是否在表面画出xy网格Shading:是否在表面画阴影Lighting:是否用模拟的明暗分布来给表面加色PlotRange:作图的范围值:All z1,z2 x1,x2,y1,y2,z1,z2ViewPoint:设置曲面的观看位置1.3,-2.4,2 一般视点0,-2,0 从前面看0,-2,2 在前上方,二元函数作图,二元参数方程作图,格式1:ParametricPlot3D xu,v,yu,v,zu,v,u,u0,u1,v,v0,v1,选项功能:画三维参数空间曲面格式2:ParametricPlot3Dxt,yt,zt,t,t0,t1,选项功能:画三维参数空间曲线,二元函数作图,例:,ParametricPlot3D Cost,Sint,t/4,t,0,4PiParametricPlot3D u Cost,u Sint,t/4,t,0,4Pi,u,-1,1ParametricPlot3DCost,Sint,u,t,0,2Pi,u,-1,1ParametricPlot3D Cosu(3+Cosv),Sinu(3+Cosv),Sinv,u,0,2Pi,v,0,2Pi ParametricPlot3D Cosu(3+Cosv),Sinu(3+Cosv),Sinv,u,0,4Pi,v,-Pi,Pi,二元函数作图,If和For语句,If逻辑表达式,表达式1,表达式2,表达式3For初始值,条件,修正循环变量,循环体若循环体有多个表达式组成,中间用;号隔开.例(1)作函数 的图象fx_=Ifx 0,Expx-1,-SinxPlotfx,x,-4,4例(2)演示正弦波Forn=1,n False例(3)演示圆柱的形成过程Fork=1,k False,Axes-False,等值线图和密度图,格式ContourPlotfx,y,x,xmin,xmax,y,ymin,ymax,选项功能作二元函数fx,y在区域上的等值线图。格式DensityPlotfx,y,x,xmin,xmax,y,ymin,ymax,选项功能作二元函数fx,y在区域上的密度图。例ContourPlotSinxCosy,x,-Pi/2,Pi/2,y,-Pi/2,Pi/2,Contours-20DensityPlotSinxSiny,x,-Pi/2,Pi/2,y,-Pi/2,Pi/2,二元函数作图,空间数据点作图,ListPlot3D数据使用数据画出三维图注意:绘出的是空间曲面ListContourPlot数据使用数据画出等值线图ListDensityPlot数据使用数据画出密度图,二元函数作图,平面图形元素画图,利用系统提供的画点、画线、画圆等语句(称为图形元素)构造图形。使用方法:先用Graphics图形元素做出图形表达式再用Show图形表达式显示完整的图形例:t=Graphics Circle0,0,1,RGBColor1,0,0,Point1,1,RGBColor0,0,1,Line0,0,1,1;Showt,图形元素作图,图形元素(graphics primitives),基本工具Pointx,yLinex1,y1,x2,y2,Rectanglexmin,ymin,xmax,ymaxPolygonx1,y1,x2,y2,Circlex,y,rCirclex,y,rx,ryCirclex,y,r,t1,t2Circlex,y,rx,ry,t1,t2Diskx,y,r,图形元素作图,图形样式(graphics directives),Dashingd1,d2,d3,GrayleveliHuehPointSizedRGBColorr,g,bThicknessw,图形元素作图,例,(1)绘多边形,其边框颜色不同于内部颜色.ver=0,-1,1,0,0,1,-1,0,0,-1;p=GraphicsRGBColor1,0,0,Polygonver;l=GraphicsThickness.02,RGBColor0,0,1,Linever;Showp,l(2)绘若干个色彩各异的同心圆.法一:x:=RGBColorRandom,Random,Random;t=TableGraphicsx,Circle0,0,r,r,1,10;Showt法二:Fora=;r=10,r 1,r=r-1,a=Appenda,GraphicsRGBColorRandom,Random,Random,Disk0,0,rShowa(3)制作一旋转的秒针a=TableGraphicsLine0,0,Cost,Sint,PlotRange-1,1,-1,1,t,0,2Pi,Pi/8Fori=1,i=Lengtha,i+,Showai,图形元素作图,空间图形元素作图,使用方法:先用Graphics3D图形元素做出图形表达式再用Show图形表达式显示完整的图形三维图形元素Pointx,y,zLinex1,y1,z1,x2,y2,z2,Polygonx1,y1,z1,x2,y2,z2,Cuboidx0,y0,z0,x1,y1,z1Textexpr,x,y,z,图形元素作图,利用图形软件包绘图,特殊图形函数表示方法GraphicsGraphics附加图形软件包的装入LogPlotf,x,xmin,xmax画对数线性图 TextListPlotx1,y1,”s1”,画出各个符号标记分布图BarChartlist画出数组的条形图PieChartlist画出数组的扇形百分图,初等代数,多项式的代数运算,多项式处理,有理多项式的运算,表达式的化简,线性代数,矩阵运算,向量和矩阵的定义,线性方程组求解,三、mathematica代数运算,多项式的处理-多项式的展开与分解,Expandexpr 按幂次展开多项式Factorexpr 因式分解FactorTermsexpr 提取公因子Collectexpr,x 把多项式写成x幂次之和Collectexpr,x,y,把多项式写成x,y,幂次之和,初等代数,多项式的处理-提取多项式的部分元素,Exponentp,x 多项式p中x的最高次幂Coefficientp,expr 多项式p中expr的系数Coefficientp,expr,n 多项式p中exprn的系数Coefficientp,expr,0 多项式p中expr0的系数,不含expr的项polyn或Partpoly,n 多项式poly的第n项CoefficientListpoly,x1,x2,.生成poly的变量xi的系数表,初等代数,多项式的处理-查询多项式结构的函数,PolynomialQexpr,x 测试expr是否是关于x的多项式Variablesp 列出多项式P变量表LengthP 给出多项式P的总项数,初等代数,多项式的运算(代数)函数,+-*/PolynomialQuotientp,q,x 计算p和q相除的商式PolynomialRemainderp,q,x 计算p和q相除的余式PolynomialGCDp1,p2,求最大公因子PolynomialLCMp1,p2,求最小公倍数,初等代数,有理多项式的处理,ExpandNumberatorexpr 只展开有理式的分子ExpandDenominatorexpr 只展开有理式的分母Expandexpr 展开分子,每项除以分母Factorexpr 因式分解Togetherexpr 把所有项合在一个公共分母上的分式Apartexpr,x 将表达式分解成部分分式之和Cancelexpr 约去公因式,初等代数,表达式的化简,Simplifyexpr FullSimplifyexpr 更大范围内进行最简表达式的化简Simplifyexpr,assum 带有假设的化简Assum(假设的表示方法)用逻辑表达式 x0&y1指定变量位于指定的域Elementx,dom 或 xdom dom取值:Comples,Reals,Rationals,Integers,Primes,Booleans,初等代数,例,Simplify(1-x)/(1-x3)SimplifySinx2+Cosx2Simplify1/Sqrtx-Sqrt1/x+1%/.x-2,-1,1,2Simplify1/Sqrtx-Sqrt1/x+1,x0FunctionExpandLogx yFunctionExpandLogx y,x0&y0SimplifyAbsx=xSimplifyAbsx=x,x0SimplifySinn Pi,Elementn,Integers,初等代数,定义向量和矩阵函数,Tablefi,i,m,n,dTablefi,j,i,m,j,n 定义元素为函数f(i,j)的m行、n列矩阵Arraya,n 定义向量a1,a2,anArraya,n,m 定义向量am,am+1,am+n-1Arraya,m,n 定义m行n列矩阵,元素为 ai,jRangem 定义数值为1到m的向量Rangem,n,d 定义数值为从m到n的向量,d是步长,线性代数,特殊矩阵的定义,Table0,m,n m行n 列的零矩阵TableRandom,m,n m行n列的0到1之间的随机数矩阵TableIfi=j,fi,j,0,i,m,j,n m行n列的元素为函数f的上三角矩阵IdentityMatrixn 对角线元素为 1的n维单位矩阵DiagonalMatrixlist 对角线元素为 表list中元素的对角矩阵MatrixFormm 按向量或矩阵形式输出mTableFormm 按表格形式输出m,线性代数,矩阵的分量表示,Ui,j 矩阵U的第i行、第j列元素Ui、Ui,All U的第i行n个元素UAll,j U的第j列元素Ui1,i2,ip,j1,j2,jq 生成U的子矩阵URangei0,i1,Rangej0,j1 生成U的子矩阵,线性代数,矩阵运算,设A、B为矩阵,U、V为向量,c为常量A+c c与A中每一个元素相加A+B A与B中对应元素相加A B 或 A*B A与B中对应元素相乘c A c与A中每一个元素相乘U.V 向量内积A.B 矩阵相乘(.不可省),线性代数,矩阵的运算函数,DetM 计算M的行列式TranseposeM M的转置InverseM M的逆EigenvalusA EigenvalusNA A的特征值EigenvectorsAEigenvectorsNA A的特征向量EigensystemAEigensystemNA A的特征值和特征向量,线性代数,06年建模B题,z=Importf:z1.txt,Table;s0=s1=s2=s3=s4=0;n0=n1=n2=n3=n4=0;Fori=1,i=2 t=0,s0*1./n0,4,s1*1./n1,8,s2/n2,24,s3/n3,40,s4/n4,线性代数,四、微积分,求极限求导数求积分,极限,求极限命令Limitexpr,xx0求左右极限命令Limitexpr,xx0,Direction1Limitexpr,xx0,Direction1例:求下列极限(1)(2)(3),导数,求导数的命令:Df,x 计算导数Df,x,n 计算n阶导数例:求下列导数(1)sinx关于x的一阶,二阶导数(2)关于x的导数,积分,求不定积分命令:Integratef,x 求定积分命令Integatef,x,a,b 例(1)求下列函数的原函数:(a)(b)(2)判断下列广义积分的敛散性(3)原函数无法用初等函数表示的积分,