欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Mathematica表达式及其运算规则.ppt

    • 资源ID:6511649       资源大小:556.56KB        全文页数:45页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Mathematica表达式及其运算规则.ppt

    Mathematica表达式及其运算规则,在本节中,我们将主要介绍Mathematica进行数学运算的基本工作原理及特殊符号的输入方式。,、西腊字母及命令的直观输入 在Notebook中,有两种输入西腊字母的方法,一种是调用FilePalettesBasicInput、BaiscTypesetting 或CompleteCharactersLettersGreek菜单,此时会弹出一个含有西腊字母的数学工具面板,单击此面板的符号即可;另一种是直接通过键盘输入西腊字母所代表的标准名称,其格式为Greek_name,例如,在Notebook中输入Beta后(注意大小写),将会显示,下面是一些常用西腊字母的标准名称表。,另外,在刚开始使用Mathematica时,一般对有关数学运算命令及数学公式的输入都不是太熟悉,这时可以通过菜单FilePalettes的各个下级子菜单输入相关命令及公式,不过这种输入方法效率不高,建议还是少用为好。,、表达式与表结构 Mathematica能够处理多种类型的数据形式:数学公式、集合、图形等等,Mathematica将它们都称为表达式。使用函数及运算符(+,-,*,/,等)可组成各种表达式。,FullForm可显示出表达式在系统内部存贮的标准格式,而Head可得到某个表达式的头部,这对我们确定表达式的类型很有用处。上面的1,2,3,4称为表(List),表是Mathematica中非常有用的结构。首先,表可以理解成数学意义下的集合,例如对集合1,2,3,4,5,6,7,8,9,它是含有6个元素的子集合,其中2,3及5,6,7此集合的子集合。,作为集合,有下面的各种集合运算。,Appendlist,element在集合list的末尾加入元素elementApplyPlus,list将集合list中的所有元素加在一起ApplyTimes,list将集合list中的所有元素乘在一起Complementlist1,list2求在list1中而不在list2中元素集合Deletelist,i,j删除集合第i,j处的元素Deletelist,i删除集合list的第i个元素Flattenlist展开集合list中的各个子集,形成一个一维表,FlattenAtlist,n展开集合list中的第n级子集Insertlist,element,i,j插入第i个子集合的第j 个元素处Insertlist,element,i在list第i个元素的前面插入elementIntersectionlist1,list2,这是数学意义下的求交集命令Joinlist1,list2,将集合首尾相连,形成一个新的集合Lengthlist集合list中元素的个数listi,j集合list中第i个子集合的第j个元素,listi集合list中第i个元素Partitionlist,n将集合list分成n个元素一组Prependlist,element在集合list的开头加入元素elementReplacePartlist,element,i,j替换list中的第i,j处的元素ReplacePartlist,element,i替换集合list中的第i个元素Reverselist翻转集合list中的元素Sortlist将集合list中的元素按升序排序,Tablef,i,imin,imax,j,jmin,jmax建立二维表或矩阵Tablef,i,imin,imax建立一个一维表或向量Takelist,m,n 给出list中从m到n之间的所有元素Takelist,n 给出前n个,Takelist,-n 给出后n个Unionlist合并集合list中的重复元素Unionlist1,list2,这是数学意义下的求集合的并集命令下面是有关集合方面的一些运算:,其次,对于一维表,可以理解成数学意义下的向量,对于二维表,可以理解成矩阵,因此,有如下的矩阵函数,其中a,b为向量,p,q为常量,M为方阵,A,B为同阶普通矩阵,具体例子参见下一节。Dota,b或a.b 向量a与b的数量积Crossa,b 向量a与b的矢量积P*A+q*B 矩阵与数的乘法运算A*B A与B的对应元素相乘M2 将矩阵M中的每个元素平方P.Q 矩阵乘法运算,其中P为mk阶矩阵,Q为kn阶矩阵,DetM 求方阵M的行列式MatrixFormA 以矩阵的形式显示MatrixPowerM,n 矩阵M的n次幂TransposeA 矩阵A的转置矩阵EigenvaluesM 求矩阵M的特征值EigenvectorsM 求矩阵M的特征向量EigensystemM 求矩阵M的特征值与特征向量IdentityMatrixn 建立一个nn的单位阵DiagonalMatrixlist 建立一个对角阵,其对角线元素为表list,InverseM 求方阵M的逆矩阵LinearSolveA,b 求线性方程组AX=b的解NullSpaceA 求满足方程AX=0的基本向量组,即零解空间RowReduceA 将矩阵A进行行变换QRDecompositionM 矩阵M的QR分解SchurDecompositionM 矩阵M的Schur分解JordanDecompositionM 矩阵M的Jordan分解LUDecompositionM 矩阵M的LU分解,、Mathematica中数的类型与精度 在Mathematica中,进行数学运算的“数”有四种类型,它们分别是Integer(整数)、Rational(有理数)、Real(实数)、Complex(复数)。不带有小数点的数,系统都认为是整数,而带有小数点的数,系统则认为是实数。对两个整数的比,如12/13,系统认为是有理数,而a+b*I形式的数,系统认为是复数。Mathematica可表示任意大的数和任意小的数,其它计算机语言比如C、Basic是做不到这一点的,例如,其中/N表示取表达式的数值解,默认精度为16位,它等价于Nexpr,一般形式为Nexpr,n,即取表达式n位精度的数值解。如,使用Rationalizeexpr,error命令可将表达式转换为有理数,其中error表示转换后误差的控制范围。例如,Mathematica中的变量以字母开头,变量中不能含有空格及下划线,因此,上面的2I表示2*I(I为虚数),乘号可用空格代替,在很多情况下,乘号可以省略,如(1+I)(1+2I)中的两个乘号。如果某个表达式的结果为复数,Mathematica就会给出复数的结果。对下面的次方程,上面的行列式|A|的计算结果,系统给出的是一个分数值,在Mathematica中,不同类型的数进行运算,其结果是高一级的数,如有理数与实数运算的结果是实数,复数与实数的运算结果是复数,依此类推。由于整数与有理数的运算级别最低,因此,在进行数学计算中,如果可能的话,就尽量用精确数,即整数或有理数。另外,“=”称为逻辑等号,定义一个等式要用逻辑等号。,其中Inverse是求逆矩阵命令。在Mathematica中,一行中可以输入多个命令,各命令间用分号分隔。另外,分号还有一个作用是通知Mathematica,只在内存中计算以分号结尾的命令,但不输出此命令的计算结果。,如果表达式太长,一行写不下,可以分行写,系统会自动判断一个表达式是否输入完毕。对于需要多行输入的表达式,建议每行用运算符结尾。下面我们简要说明一下Mathematica的赋值符号及相关命令。在Mathematica中,对变量赋值,有两种方法。A:=expr的意思是将表达式expr的值赋给A,但Mathematica并不立即执行此项操作,一直到用到A的值时,Mathematica才真正的将expr的值赋给A,即所谓的延迟赋值。在大部分情况下,我们都采用延迟赋值的形式为表达式赋值。另一种赋值方法是我们所熟悉的赋值形式,即A=expr或A=B=expr的形式,一般称为立即赋值。只要一执行该命令,Mathematica将expr的值赋给A。,另外,对于变量,Mathematica不像C语言那样,需要申请后再使用,也不用事先确定变量的类型,这些问题都由Mathematica来自动处理。对于不需要的变量,可以使用Clear命令将变量从内存中清除出去,以节省内存空间,例如 ClearA 清除变量A,其简写形式是A=.ClearA,B,W 清除变量A、B、WClear“A*”,”B*”清除以A、B开头的所有变量 可以使用Precisionexpr或Accuracyexpr返回表达式的精度,其中,在系统中是一个内部常数,其完整的命令是Infinity,这样的常数有:Pi()、(实数e)、ComplexInfinity(复数的无穷大)、I(复数i)、Degree(1。=/180)、(不定积分的任意常数),另外,(导数运算符),(取精度运算符)、O(泰勒展开的高阶无穷小量)。,上面Print命令的功能是打印表达式或者字符串,其格式为 Printexpr1,expr2,expr1,expr2,可以为任意合法的Mathematica表达式,如果为字符串,则需要双引号将字符串括起来。在实际计算过程中,可能得到的结果中含有很小的数,为了以后计算上的方便,我们如果想去掉这样的数,可以使用命令Chopexpr,dx 若expr中的某个数小于dx,则用0来代替该数Chopexpr若expr中的数小于10-10,则用0来代替该数,下面是一个多项式曲线拟合问题的实际例子,可以用下面的几个函数来判断表达式运算结果的类型,其中True和False是系统内部的布尔常量。NumberQexpr判断表达式是否为一个数,返回True或FalseIntegerQexpr判断表达式是否为整数,返回True或False,EvenQexpr判断表达式是否为偶数,返回True或FalseOddQexpr判断表达式是否为奇数,返回True或FalsePrimeQexpr判断表达式是否为素数,返回True或FalseHeadexpr判断表达式的类型,、常用数学函数 Mathematica的数学运算,主要是依靠其内部的大量数学函数完成的,下面我们依次列出常用的数学函数,其中x、y、a、b代表实数,z代表复数,m、n、k为整数。所有的函数或者是它的英文全名,或者是其它计算机语言约定俗成的名称,函数的参数表用方括号括起来,而不是用圆括号。另外,Mathematica对大小写敏感。,数值函数Roundx 最接近x的整数Floorx 不大于x的最大整数Celingx 不小于x的最小整数Signx 符号函数Absz 若z为实数,则求绝对值,为复数,则取模Maxx1,x2,或Maxx1,x2,求最大值Minx1,x2,或Minx1,x2,求最小值x+Iy,Rez,Imz,Conjugatez,Argz 关于复数的基本运算,随机函数Random 返回一个区间0,1内的一个随机数Random Real,xmin,xmax返回一个区间xmin,xmax内的随机数RandomInteger 以1/2的概率返回0或1RandomInteger,imin,imax返回位于imin,imax间的一个整数RandomComplex 模为1的随机复数RandomComplex,zmin,zmax 复平面上的随机复数SeedRandom 使用系统时间作为随机种子SeedRandomn 使用整数n作为随机种子,整数函数及组合函数Modm,n,Quotientm,n m/n的余数及商GCDn1,n2,LCMn1,n2,最大公约数及最小公倍数FactorIntegern 返回整数n的所有质数因子表PrimePix,Primek返回小于x的质数个数及第k个质数n!,n!整数n的阶乘及双阶乘Binomialn,m计算 排列组合数Signaturei1,i2,排列的正负符号,初等超越函数 这些函数的名称一目了然,我们不多加解释。它们是:Sqrtz、z1z2、Expz、Logz、Logb,z、Sinz、Cosz、Tanz、Cotz、Cscz、Secz、ArcSinz、ArcCosz、ArcCscz、ArcSecz、ArcTanz、ArcCotz、Sinhz、Coshz、Tanhz、Cothz、Cschz、Sechz、ArcSinhz、ArcCoshz、ArcTanhz、ArcCothz、ArcCschz、ArcSechz。,正交多项式LegendrePn,x,LegendrePn,m,x 勒让德多项式ChebyshevTn,x,ChebyshevUn,x 切比雪夫多项式HermiteHn,x Hermite多项式LaguerreLn,x Laguerreln,a,x 拉盖尔多项式JacobiPn,a,b,x 雅可比多项式,特殊函数 此处我们将不给出特殊函数的具体表达式,读者可查阅相关资料。Betaa,b,Betaz,a,b Bata函数及不完全Beta函数Gammaz,Gammaa,z Gamma函数及不完全Gamma函数Erfz,Erfz0,z1 误差函数及广义误差函数BesselJn,z,BesselYn,z 贝赛尔函数BesselIn,z,BesselKn,z 修正的贝赛尔函数ExpIntegralEn,z,LogIntegralz 指数积分与对数积分,数学软件包的读入方法:在讲义上的此部分,提供了一种数学软件包的读入mathematica中的方法,下面是一种更为简单的方法我们下面要读入软件包:,目录:C:Program FilesWolfram ResearchMathematica5.0AddOnsStandardPackagesLinearAlgebra,文件名:Orthogonalization.M,执行以下的mathematica菜单:,在弹出的文件打开框中,一直找到上面的文件为止.,在此文件框中打开此文件,则mathematica并没有真正打开文件,而是返回了文件所在的路径,最后,在此返回路径的前面加上2个“”并运行,即可读入此软件包,它是关于向量正交化的.,使用任何一个编辑软件打开此软件包文件,你会发现如下:,GramSchmidt:usage=GramSchmidtvectors performs the GramSchmidt orthogonalization process on a list of vectors.Note that an inner product can be specified,allowing,for instance,a function space to used.Also,the option Normalized can be set to determine whether or not the basis is orthonormal.,它是线性代数中的施密特向量正交化函数,当然,此软件包中还有许多其它的函数.下面是一个例子,此例子一定要在读入软件包后,才能使用.,、自定义函数 在Mathematica中定义一个新函数后,其用法与内部函数是一样的,其定义形式为 funvar1_,var2_,:=expr 或 funvar1_,var2_,=expr 其中函数变量后面的下划线必不可少,以上面的var1_为例,其意思是让var1匹配所有表达式,但我们可以在下划线的后面限定变量的类型,如fn_Integer的意思是变量n是一个整数。例如,Mathematica中的函数调用是递归的,就是说,函数可以调用自身,下面是计算阶乘的函数子程序。,由于限制k为整数,所以对a10.0,Mathematica是不会计算的。系统中的许多内部函数都是利用递归调用实现的,$RecursionLimit是系统进行递归调用的最大次数,默认值为256,你可以将它修改为一个合适的值,这只需对$RecursionLimit重新赋值即可。,对于复杂的函数定义,可以用模块Module定义,其形式为,funvar1_,var2_,:=Modulex,y,statement 1;statement 2;statement N;其中变量x,y称为局部变量,它只在此函数定义的内部起作用(实际上,Module就是其它计算机语言中的函数子程序,更进一步解释见第节)。另外,对于复杂的函数定义,一般要应用条件判断及循环结构,第节我们将要详细介绍这方面的内容。例如,上面计算阶乘的例子可用模块形式书写为,如果没有Returnexpr命令,Module返回最后一次计算结果作为函数值。还有,在某些情况下,你可能需要更改Mathematica内部函数定义,以适合自己某种特殊要求。例如对Logxs和Logx y,系统并不直接化成s Logx和Logx+Logy的形式,这我们可以通过更改Mathematica对函数Log的定义来做到这一点,这要用到以下函数Unprotectcommand 移去系统对命令command的保护状态Protectcommand 加上系统对命令command的保护状态,请看下面的具体做法:,Mathematica中的函数定义还有以下形式:Functionx,body 定义以body为函数体的纯函数,其中x可以为用户提供的任何变量来代替Functionx1,x2,body 同上,但定义多个变量的纯函数,Body&若函数体body是单变量函数,此变量规定为#,若为多个变量,则第一个变量为#1,第二个变量#2,依此类推,、函数及表达式的变换规则expr/.rules 变换法则rules只对expr中的每项使用一次,其中“”是键入“-”的结果。另外,如果变换条件只有一个,可以不用集合定界符,例如,expr/.rules 反复对expr使用rules,直到结果不变为,Nestf,x,n 函数f以x为变量,进行n次复合运算实质上,f是函数的头,即Headf,例如,NestListf,x,n 同上,但形成一个复合函数序列的集合Composef,g,h,x 函数复合,生成fghxCompositionf,g,h 同上,但不带有自变量ComposeListf,g,h,x生成复合序列x,fx,gfx,FixedPointf,x 对x重复f运用,直到结果不变为止FixedPointListf,x 同上,但列出所有中间计算结果FixedPointListf,x,SameTest-Comp 对两个连续的结果运用比较关系comp,比较结果为真时停止运算下面以利用牛顿迭代法求开平方根为例,说明其用法,FoldListf,x,a,b,构成集合x,fx,a,ffx,a,b,Foldf,x,a,b,给出函数FoldList的最后一个元素,Applyf,a,b,c,对集合运用f,得到fa,b,c,Applyf,expr 对表达式的最高层应用fApplyf,expr,level 对表达式的指定层应用f,Mapf,expr 将函数f作用到表达式第一层的每个部件上Mapf,expr,level 将f作用到表达式第n层的每个部件上MapAllf,expr 对表达式expr的所有部件应用fMapThreadf,expr1,expr2,对expr1及expr2的相应元素运用f MapThreadf,expr1,expr2,lev对给定层的表达式运用f,Scanf,expr 依次计算对expr中的每个元素运用f的值Scanf,expr,level同上,但在指定层上计算,Arrayf,n 生成表f1,f2,fnArrayf,n1,n2 同上,但生成一个二维表,Seclectexpr,f 在expr中挑选出函数f为True的元素Seclectexpr,f,n 同上,但只选出前n 个使f为True的元素,Operatep,fx 算子函数,给出pfxOperatep,fx,n 同上,但在函数的第n层应用p,

    注意事项

    本文(Mathematica表达式及其运算规则.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开