数学软件Mathematica.ppt
1,数学软件 Mathematica,使用入门,2,主要内容,符号计算系统 Mathematica 基本用法 基本运算 符号计算 图形功能 程序设计(略),3,符号计算系统,借助计算机速度快的特点,帮助人们完成在短时间内无法完成的公式推导计算。,也称为计算机代数 以推理为主,是一个表示数学知识和数学工具的系统 与代数计算、算法设计、机器学习、自动推理等紧密联系 一般由系统内核、符号计算语言和若干软件包组成 通常包括符号计算、数值计算、图形演示和程序设计,符号计算系统,4,常见的符号计算软件,商业软件 Mathematica,Maple,MuPAD,MathCad,符号计算系统,免费软件 Axiom,CoCoA,Derive,Euler,GAP,Maxima,.,更多符号计算软件参见课程主页相关网络链接。,符号计算软件的两种运行方式:交互方式和程序方式,5,Mathematica 由美国 Wolfram Research 公司于 1988 年推出,目前的最新版本为 Mathematica 8.04,Mathematica 介绍,Mathematica 有简体中文版:中文界面和中文帮助 可在官方网站上下载试用版,Mathematica 很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统以及与其他应用程序的高级连接,是目前使用最广泛的数学软件之一,也是世界上符号计算系统中最强大的两个系统之一。,6,Mathematica 欢迎界面,7,Mathematica 工作界面,Mathematica 的工作平台:自带的 Notebooks 环境,在 Notebooks 环境下输入命令,系统执行后返回结果,Mathematica 工作界面,菜单栏,Notebooks 环境,最好最完整的学习材料:系统自带的使用帮助和实例演示,8,Mathematica 使用,Mathematica 语言规则,所有命令和内置函数都是以大写字母开始 函数的参数是在方括号中给出 乘法运算符可以用空格代替(不建议这么做)内置的函数名通常都很长,使用函数的名字的全拼,9,Mathematica 使用,可以运行单个命令或语句 也可以运行多个语句:输入全部语句后再按执行键 命令(语句)分隔符:回车或分号 如果不需要显示运行结果:在语句后面加分号,Mathematica 命令的执行(简称执行键),输入和输出标识符:Inn:和 Outn,In1:=SinPi/4+CosPi/4Out1=,Shift+Enter,10,数学公式的输入,直接输入,数学公式的输入,In1:=SinPi/4+CosPi/4,借助 Mathematica 提供的面板(Palettes),11,一些常用符号,12,内部常数,常用内部常数,Mathematica 中的数:普通数字和内部常数,整数,有理数,实数(任意精度和机器精度),复数,13,基本运算符,基本运算:,算术运算,比较运算与逻辑运算,14,变量与表达式,变量,通常字母开头,后面可以跟字母与数字 长度不限 区分大小写 可以包含希腊字母或中文,如“数学”,用户自定义变量建议都用小写,避免与系统自带函数冲突,Mathematica 中一切皆为表达式 算术表达式,关系表达式,逻辑表达式,复合表达式,表达式,变量赋值:变量名=表达式,15,变量操作相关函数,例:已知 f(x,y)=2x+y,计算 f(2,3),In1:=Clearx,y;In2:=f=2*x+y;In3:=f./x-2,y-3(*f(2,3)的值*)In3:=f./2-5(*把 2 替换成 5*),16,数的基本运算,Mathematica 中的实数分精确数和双精度数,在 Mathematica 中,当输入的式子中所有数字都为整数时,输出的结果是精确的;但若式子中含有小数点,则通常以近似方式输出运算结果。,17,数字进制的转换,18,内置函数,Mathematica 具有超过 3000 个内置函数,具体见“帮助”“参考资料中心”的左下角处的“函数索引”,Mathematica 函数命名规则,第一个字母大写,后面跟小写字母,如 Sinx,Logx 大多数函数名与数学中的名称相同 当函数名分为几段时,每一段的头一个字母大写,后面的用小写字母,如:ArcSinx,寻求帮助:?函数名,In1:=?Sin,19,常用初等函数,20,常用初等函数,21,随机函数,In1:=RandomReal,10,In2:=RandomInteger,1,100,22,打印函数,In1:=x=5;Printx=,x,23,函数调用方式,标准方式:函数名变量列表,In1:=x=Pi/4;Sinx,In2:=x=Pi/4;x/Sin(*后缀形式*),其它方式,In3:=x=Pi/4;Sinx(*前缀形式*),In4:=5Mod3(*中缀形式,等价于 Mod5,3*),24,自定义函数,Mathematica 允许用户自定义函数,一般格式为,函数名自变量名1_,自变量名2_,.:=表达式,这里函数名与变量名的规定相同 方括号中的每个自变量名后都要有一个下划线“_”中间的“:=”为定义号 注意符号表达式与函数的区别,自定义函数前,最好先清除自变量的值,否则可能会出现意想不到的错误,25,自定义函数,In1:=f=2*x+y(*符号表达式*),In2:=gx_,y_:=2*x+y(*函数*),In3:=f2,3(*结果是什么?*),In4:=g2,3(*这个结果又是什么?*),26,字符串,字符串:用双引号括起来的字符序列,字符串相关函数,更多字符串相关函数参见“参考资料中心”,27,列表,列表,分为标准列表和稀疏列表,是 Mathematica 的基本对象,可用来表示集合,数组等,标准列表:用大括号括起来的有限个元素,元素之间用逗号分隔,稀疏列表:通常由 SparseArray 来定义,In1:=x=1,2,hello,1,0;,列表中的元素可以是不同类型的任意 Mathematica 对象 列表可以嵌套,如 矩阵,Mathematica 提供了上千个列表操作函数,参见“参考资料中心”,28,列表生成,利用 Array,Range,Table 等函数,枚举法:利用大括号,直接输入,Table 中的 expr 一般给的是通项公式,29,列表生成举例,In1:=x=ArraySin,3 Out1=Sin1,Sin2,Sin3,In2:=y=TableSink,k,3 Out2=Sin1,Sin2,Sin3,In3:=f=RandomReal1,5,2 Out3=4.68541,2.86979,In4:=z=Tablei*j,i,3,5,j,2,4,2 Out4=6,12,8,16,10,20,生成二维列表,30,列表分量,31,列表修改,32,列表运算,当函数作用在列表上时,表示作用在每个分量上,In1:=x=Range0,Pi,Pi/4;In2:=y=Sinx,利用列表可以同时给多个变量赋值,In3:=x,y=2,3,33,矩阵定义,矩阵是列表的一种,可用 Array,Table 等函数创建,In1:=Cleari,j;fi_,j_:=1/(i+j-1);In2:=A=Arrayf,3,3,Array函数名,取值范围,34,矩阵定义,Table通项公式,循环范围,循环范围,.,循环范围表示方法,35,矩阵举例,In1:=x=Table0,5(*长度为 5 的零向量*)In2:=A=Table0,5,5(*5 阶零矩阵*),In3:=A=Table1/(i+j-1),i,3,j,3In4:=B=Tablex+y,x,2,6,2,y,3,12,3,In5:=P=TableBinomiali,j,i,0,4,j,0,i;In6:=TableFormP(*杨辉三角形*),36,矩阵分量,In1:=TakeA,1,2,2,3/MatrixForm,37,特殊矩阵,In4:=A=RandomReal0,1,3,4 In5:=DimensionsA,1(*矩阵的行数*),38,矩阵运算,设 A,B 是矩阵,a 是标量,b 是向量,39,符号计算,多项式运算(略)解代数方程(略)解微分方程(略)计算极限 计算导数 计算积分,40,计算极限,In1:=LimitSinx/x,x-0,例:计算 和,In2:=Limit1/x,x-0,Direction-1,41,计算导数,In1:=DSinx*Tanx,x,2,例:计算 和,In2:=DSinx*x*y3,x,y,42,计算积分,In1:=Integrate3*a*x*x,x,例:计算 和,In2:=Integrate2*x+y,x,y(*注意积分顺序*),In3:=IntegrateSinSinx,x,0,Pi,例:计算 的精确值和近似值,In4:=NIntegrateSinSinx,x,0,Pi,43,作图,二维曲线做图 函数作图 参数方程作图 极坐标作图 散点图 三维做图 三维曲线作图 三维曲面函数作图 三维曲面参数方程作图,44,二维函数作图,常用作图选项,曲线方程:,45,作图选项,BaseStyle 和 PlotStyle 取值,In1:=PlotSinx2/(x+1),x,0,2*Pi,In2:=PlotSinx2/(x+1),x,0,2*Pi,AxesLabel-x,fx,AxesStyle-Thick,PlotLabel-y=sinx/(x+1),BaseStyle-RGBColor0.6,0.6,0.2,FontSize-15,PlotStyle-Blue,Thick,Dashed,46,作图选项,更多作图选项,In3:=PlotSinx2/(x+1),x,0,2*Pi,Filling-Axis,Frame-True,BaseStyle-FontSize-15,PlotStyle-Blue,Thick,Dashed,可输入命令 OptionsPlot 查看 Plot 的所有作图选项,47,参数方程作图,In3:=ParametricPlotSint,Sin2*t,t,0,2*Pi,BaseStyle-FontSize-15,PlotStyle-Blue,Thick,Dashed,曲线方程:,该函数也可以同时绘制多个图像,48,参数方程作图,In4:=ParametricPlot2*Cost,2*Sint,2*Cost,Sint,Cost,2*Sint,Cost,Sint,t,0,2*Pi,PlotStyle-Blue,Thick,Red,Dashed,Green,Dotted,Black,DotDashed,49,极坐标方程作图,In1:=PolarPlot2,t,0,2*Pi,曲线极坐标方程:,In2:=PolarPlott,t,0,3*Pi,In3:=PolarPlot0.5,0.5+1/24*Sin12*t,t,0,2*Pi,In4:=PolarPlotExpCost-Pi/2-2*Cos4*(t-Pi/2)+Sin(t-Pi/2)/125,t,0,36*Pi,Axes-None,50,散点图,常用选项,给的数据点:,51,散点图,In1:=list=Tablex,Sinx,x,-Pi,Pi,Pi/10;ListPlotlist,BaseStyle-FontSize-15,PlotStyle-PointSize0.03,In2:=ListPlotlist,PlotMarkers-,25,In3:=ListPolarPlotSinRange0,12*Pi,Pi/20,0.8*SinRange0,12*Pi,Pi/20,PlotMarkers-,12,Joined-True,Axes-None,52,三维曲线作图,三维曲线方程:,In1:=ParametricPlot3Dt*Sint,t*Cost,t,t,0,100,PlotStyle-Blue,Thickness0.005,53,三维曲面作图,In1:=Plot3DSinx+y*Cosx+y,x,0,Pi,y,0,Pi,例:画 的立体图,曲面方程:,54,三维曲面作图,常用选项,In2:=Plot3DSinx*Cos2*y,x,-3,3,y,-2,2,Boxed-False,Axes-None,Mesh-False,PlotStyle-Opacity0.8,55,三维曲面参数方程作图,三维曲面参数方程:,In1:=ParametricPlot3D3*Secu*Cosv,3*Secu*Sinv,5*Tanu,u,-Pi/3,Pi/3,v,0,2*Pi,Boxed-False,56,三维做图演示,In1:=ParametricPlot3D 4+(3+Cosv)*Sinu,4+(3+Cosv)*Cosu,4+Sinv,8+(3+Cosv)*Cosu,3+Sinv,4+(3+Cosv)*Sinu,u,0,2*Pi,v,0,2*Pi,Boxed-False,57,图形组合,图形组合:将多个图形放在一个绘图区域中,In1:=pic1=ParametricPlot3D3*Secu*Cosv,3*Secu*Sinv,5*Tanu,u,-Pi/3,Pi/3,v,0,2*Pi,Boxed-False;(*单页双曲面*)In2:=pic2=ParametricPlot3D2*Sinu*Cosv,2*Sinu*Sinv,2*Cosu,u,0,Pi,v,0,2*Pi;(*球面*)In3:=Showpic1,pic2(*组合两个图形*),58,图形组合,59,动画做图演示,In1:=ManipulatePlotSinn*x/(x+1),x,0,2*Pi,PlotStyle-RGBColor(10-n)/10,n/10,0,Thickness0.01,n,1,20,1,