Mathematica基础复习.ppt_第1页
Mathematica基础复习.ppt_第2页
Mathematica基础复习.ppt_第3页
Mathematica基础复习.ppt_第4页
Mathematica基础复习.ppt_第5页
已阅读5页,还剩225页未读 继续免费阅读

下载本文档

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

文档简介

数学实验MathematicalExperiment,主讲教师叶传秀,窗口操作指令,执行指令的方法:左:Shift+Enter;终止指令进行的方法:alt+.;动画演示:ctr+y自动根据命令前辍完成命令:ctr+k复制上一次的输入:ctr+L复制上一次的输出:ctr+shift+L,数、变量、函数、算式和表,数的表示和计算变量函数表基本符号运算,分式xCtrl+/2n次方xCtrl+n开n次方Ctrl+2xCtrl+5n下标xCtrl+_n,数学表达式二维格式的输入,近似值的函数NMathematica允许用户任意指定数值计算的精度,函数N的调用格式如下,N表达式,数字位数N表达式,另:可用函数NumberFormReal,n规定实数的显示位数.,数的进制转换,可以使用bnnn将一个b进制的数nnn转化为十进制的数.可以使用BaseFormx,b函数将一个十进位数x化成b进位数.,Pi表示3.14159E自然对数的底,e=2.71828.Degree/180I虚数单位Infinity无穷大Infinity负的无穷大GoldenRatio黄金分割数0.61803,数学常数,1)变量命名,Mathematica中的变量命名必须是以字母开头的并由字母或数字组成的字符串(长度不限),但是不能含有空格或标点符号,大写与小写字母用于表示不同的变量.例如x,al,bl2,Tc都是合法的变量名;2a是不合法的变量名;al与Al是不同的变量.,变量,2)变量赋值,一个变量可以表示各种类型的数或字符串,也可以表示一个算式.与C语言不同,不必事先声明变量的类型,Mathematica会根据用户给变量所赋的值自动处理.,x=Value给x赋值;X=y=Value同时给x,y赋相同的值;x,y,=Value1,Value2,在Mathematica中,运算符号“=”或“:=”起赋值作用,一般形式为:变量=表达式或变量1=变量2=表达式其执行步骤为:先计算赋值号右边的表达式,再将计算结果送到变量中,在Mathematica中,“=”应理解为给变量一个值在使用“=”定义规则时,定义式右边的表达式立即被求值;而在使用“:=”定义规则时,系统不做运算,也就没有相应的输出,定义式右边的表达式不被立即求值,直到被调用时才被求值因此,“:=”被称为延迟赋值号,“=”被称为立即赋值号一般的高级语言没有符号运算功能,因此,在C和Pascal等语言中,一个变量只能表示一个数值、字符串或逻辑值而在Mathematica中,一个变量可以代表一个数值、一个表达式、一个数组或一个图形,为了避免隐蔽的错误,应该及时清除不再使用的变量.其方法有以下几种:,3)清除变量,x=.清除x的值但保留变量x.,Clearx清除x的值,Removex清除变量x.,Clear“Global*”清除所有变量的值.,Remove“Global*”清除所有变量.,%是一个重要的Mathematica符号,如下:,4)表示输出的专用符号,%表示前一个输出的内容.,%表示倒数第二个输出的内容.,%n表示第n个(即Outn)输出的内容.,所有%n的内容一直被Mathematica记忆,它们可以像其他变量一样被后面的计算引用,灵活地使用%符号可以节省大量的输入时间.如输入,5)变量的替换在给定一个表达式时其中的变量可能取不同的值,这是可用变量替换来计算表达式的不同值。方法为:函数/.变量名-数值或表达式或函数/.变量名1-数值1或表达式1,变量名2-数值2或表达式2,fnx/.x-8可以得到函数值fn(8),fnx_,y_:=x3+y2/.x-a,y-b+2可以得到函数值fn(a,b+2),Mathematica的基本功能是作为一个最高级的函数计算器来使用的,各种操作主要靠函数来实现.Mathematica提供的函数种类繁多且功能强大,函数一词也不仅限于数学上的含义,有实现各种操作的函数.还可以由用户自定义函数,加入到Mathematica中,能像系统函数一样使用.,3.函数,函数的一般形式是:函数名参数1,参数2,.,b)系统函数的书写规则Mathematic的系统函数书写规则很严格,应注意以下几点:函数名首字符用大写,后面的字符一般用小写,当函数名分成几段时,每段的首字符应大写,函数名中不能含有空格;参数用方括号括起来,但是不能用圆括号.Mathematica认为圆括号表示相乘.如f(x+y)-f*(x+y),2)常用函数,Absx求实数x的绝对值或复数的模Signx符号函数Max一组数的最大值Min一组数的最小值Rex(Imx)复数x的实(虚)部Argx复数x的辐角Conjugatex复数x的共轭数Floorx不超过x的最大整数,Ceilingx不小于x的最小整数Roundx最接近x的整数Modm,n整数m被n除的余数Quotientm,n整数m被n除的整数部分GCD一组整数的最大公约数LCM一组整数的最小公倍数n!(n!)求n的(双)阶乘Binomialn,k求FactorIntegern将整数分解成素数的积,3)随机函数,Random产生0,1之间的一个实数RandomInteger只能产生0或1RandomComplex产生单位正方形内的一个复数RandomReal,max产生0,max范围内的一个实数RandomComplex,zmin,zmax产生左下角为zmin,右上角为zmax的矩形内的一个复数.,(1)函数的立即定义立即定义函数的语法如下fx_=expr函数名为f,自变量为x,expr是表达式。在执行时会把expr中的x都换为f的自变量x(不是x_)。函数的自变量具有局部性,只对所在的函数起作用。函数执行结束后也就没有了,不会改变其它全局定义的同名变量的值。对于定义的函数我们可以使用命令Clearf清除掉而Removef则从系统中删除该函数。,4)函数的定义,(2)多变量函数的定义也可以定义多个变量的函数,格式为fx_,y_,z_,=expr自变量为x,y,z.,相应的expr中的自变量会被替换。如:Fx_,y_=x+y+Sinxy,(3)延迟定义函数延迟定义函数从定义方法上与即时定义的区别为“=”与“:=”延迟定义的格式为fx_:=expr其他操作基本相同。那么延迟定义和即时定义的主要区别是什么?即时定义函数在输入函数后立即定义函数并存放在内存中并可直接调用。延时定义只是在调用函数时才真正定义函数。,(4)使用条件运算符定义和If命令定义函数这样的分段函数应该如何定义,显然要根据x的不同值给出不同的表达式。一种办法是使用条件运算符,基本格式为fx_:=expr/;condition,当condition条件满足时才把expr赋给f.If语句的格式为If条件,值1,值2如果条件成立取“值1”,否则取“值2”,(5)函数求值,形式:函数/.变量名-数值或表达式fx/.x-数值或表达式或者函数/.变量名1-数值1或表达式1,变量名2-数值2或表达式2,表是存储多个数变量或等式等对象的一种数据结构,一个表用一对花括号表示,它的成员(元素)在括号内用逗号隔开,同一个表的成员可以有不同的数据类型,表的成员还可以是一个表(子表).如,4.表,tn或Partt,n表示表t的第n个元素t-n或Partt,-n表示表t的倒数第n个元素t或Partt,表示t的第个元素Ti,j或Partt,i,j表示表t的第i个子表的第j个元素Lengtht表示表t的元素的个数,1)表的元素的操作经常要提取或改变一个表中的元素,以下函数是常用的:,下面函数可以通过提取添加删除替换一个表中的元素得到一个新表(原来的表不变).Taket,n提取表t的前n个元素Taket,-n提取表t的后n个元素Taket,m,n提取表的第m到第n个元素Insertt,expr,n在表t的第n个位置插入元素,Insertt,expr,-n在表t的倒数第n个位置插入元素exprPrependt,expr在表t的第一个元素前面插入元素exprAppendt,expr在表t的尾部插入元素exprDeletet,n删除表t的第n个元素Dropt,n删除表t的前n个元素,Dropt,-n删除表t的后n个元素Dropt,m,n删除表t的第m到n个元素ReplacePartt,expr,n用expr替换表t的第n个元素ReplacePartt,expr,-n用expr替换表t的倒数第n个元素ReplacePartt,expr,i,j用expr替换表t的第i个元素中的第j个成员。,2)表的操作通过下列函数可以进行表的运算,生成新表(原来的表不变):,Joint1,t2将表t1,t2连接成一个表Uniont1,t2取表t1,t2的并集组成一个表Uniont合并表t中的相同元素得到一个表Intersectiont1,t2取表t1,t2的交集组成一个表,Complementeall,e1,e2,给出在表eall中但不在e1,e2,中的元素组成的表Partitiont,n将表t的元素按n个一组生成子表Flattent展开表t的各个子表Sortt将表t的元素按标准顺序排序Reverset将表t的元素逆向排列,Tablef,i,imin,imax,stepi,j,jmin,jmax,stepj用于建立通项为f的表,其中f是i,j的函数,min,max,step规定了初值,终值,步长,min和step的默认值是1,3)某些建表函数最重要的建表函数是Table,其调用格式如下:,以上参数设置用于建立一个2层表,实际上表的层数是可以任意的.使用函数Table,还可以生成具有抽象元素的表.通项f本身也可以具有表的形式,注记:,函数Range用于建立一些特殊的表其调用格式如下:,Rangemin,max,step按初值,终值,步长生成一个表Rangen生成前n个自然数的表,5.基本的符号运算,基本代数运算,微积分,线性代数,代数运算是一切符号运算的基础,本节介绍实现各种基本代数运算的Mathematica函数,用于变换数学表达式,解方程和解不等式.其中最重要的是化简函数,在各种符号演算中都会用到.,1化简计算结果,1)两个化简函数,Simplifyexpr使用变换化简表达式FullSimplifyexpr使用更广泛的变换化简表达式,注:函数FullSimplify还可以化简特殊函数,2)带有条件的化简化简函数允许带有条件,条件可以是等式或不等式,还可以使用下面的表达式指明数的取值范围,xdomElementx,dom,其中dom只能取下列集合之一:Integers,Rationals(有理数),Reals,Complexes,Primes,Algebraics(代数),Booleans.,2常用的因式分解函数,1)因式分解用于因式分解的函数是:,Factorexpr用于和式的因式分解,也可以分解分式的分子、分母(还可以先通分,再分解,2)合并同类项合并同类项的函数是Collect,调用格式如下:,Collectexpr,x将表达式expr中的x的同次幂合并Collectexpr,x,y,将表达式expr按x,y,的同次幂合并.,3)表达式的展开将表达式展开的函数有:,ExpandexprExpandAllexpr,这两个函数都可用于乘积的展开,也可以展开分式.后者的展开更为彻底,前者展开分式时只展开分子,后者将分子、分母都进行展开.,4)分式的化简与展开下列函数分别用于有理式的合并、化简与展开,Togetherexpr用于通分,把所有的项放在同一个分母上并化简Cancelexpr用于约去分子、分母的公因式Apartexpr将有理式分解为最简分式的和,5)三角函数式的化简还有三角函数专用的分解、展开、化简函数:,TrigExpandexpr将三角函数式展开TrigFactorexpr将三角函数式因式分解TrigReduceexpr用倍角化简三角函数式TrigToExpexpr将三角函数式转换成指数形式ExpToTrigexpr前一个函数的逆变换,3多项式的运算两个多项式的四则运算使用通常的+,-,*,/运算符,其中乘号可以用空格代替.,PolynomialQuotientp1,p2,x求x的多项式p1被p2除的商PolynomialRemainderp1,p2,x求x的多p1被p2除的余式PolynomialGCDp1,p2,求多个因式的最大公因式PolynomialLCMp1,p2,求多个因式的最小公倍式,4解方程,1)解符号方程(组)在Mathematica中“=”用于给变量赋值,而方程中的等号使用符号“=”来表示.方程组用花括号括起来,各个方程之间用逗号分隔.所有未知量也用花括号括起来,未知量之间用逗号分隔.单个方程和未知量不必使用花括号.以下用eqns表示方程组,用vars表示未知量组,下列函数用于解符号方程(组):,Solveeqns,vars对系数按常规约定求出方程(组)的全部解.Reduceeqns,vars讨论系数出现的各种可能情况,分别求解.,2)求近似解有很多方程是根本不能求出准确解的,前面介绍的一些函数也无能为力.下列函数专门用于求方程(组)的数值解.,NSolveeqns,vars求代数方程(组)的全部数值解FindRooteqns,x,x0,y,y0,从(x0,y0,)出发找方程(组)的一个解,3)消去某些变量,Eliminateeqns,elims从一组等式中消去变量(组)elims,5解不等式Mathematica没有解不等式的内部函数,但是它自带的外部函数有此功能,但必须将有此函数的程序文件调入后才能使用,文件位于Mathematica的标准扩展程序包集中.标准扩展程序包集是Mathematica的一个子目录StandardPackage,它的子目录我们称为程序包子集.,程序包子集按数学学科分类,如Algebra,Calculus等.每个程序包子集中有多个文件,文件扩展名为m.每个文件中有一个或多个外部函数.,调入方法是键入:程序包子集名文件名也可以调入整个程序包子集:x0时的极限.,注:Mathematicam没有区分和,使用x-时的极限要小心.,微积分,2)调用外部函数求极限Mathematica自带的外部程序中还有求极限的同名函数,增强了解题能力.文件位于Mathematica的标准扩展程序包集中,可以通过查看Help,找到相应文件.,2求导数,1)求导数或偏导数Mathematica的求导功能很强,求一元函数的导数与求多元函数的偏导数,都使用同样的函数.,Df,var求函数f对自变量var的偏导数Df,x1,x2,求函数f对自变量x1,x2,的混合偏导数,Df,x1,n1,x2,n2,求函数f对自变量x1,x2,的n1,n2,阶混合偏导数,注:Mathematica求导的优点在于能求抽象的复合函数的导数,2)求全微分和全导数求全微分和全导数的函数是Dt,其调用格式如下:,Dtf求f的全微分Dtf,var求f对自变量var的全导数,其中f的各元都是var的函数.SetAttributesc,Constant声明c是常数,3求不定积分,Integratef,x用于求f(x)的一个原函数,也可以对某些抽象的函数求某些积分.,提示:用基本输入模板输入积分符号更方便,4求定积分,求定积分多重积分的函数与求不定积分相同,只是多一些参数.,Integratef,x,a,b用于求Integratef,x,a,b,y,y1,y2用于求,求定积分的数值解用NIntegrate,5无穷级数与无穷乘积,1)求和与求积Sumf,i,imin,imax求Sumf,i,imin,imax,j,jmin,jmax,求多重和Productf,i,imin,imax求Productf,i,imin,imax,j,jmin,jmax,求多重积,2)将函数展为幂级数将函数展为幂级数的函数调用格式如下Seriesf,x,x0,n将f(x)在x0处展成幂级数直到n次项为止Seriesf,x,x0,n,y,y0,m将f(x,y)先对y后对x展开,6解常微分方程(组),Mathematica能求常微分方程(组)的准确解,能求解的类型大致覆盖了人工求解的范围,功能很强.但不如人灵活,输出的结果与教材上的答案可能在形式上不同.,1)解常微分方程(组)的函数,Dsolveeqn,yx,x求方程eqn的通解y(x),其中自变量是xDsolveeqn,yx0=y0,yx,x求满足条件y(x0)=y0的特解y(x)Dsolveeqn1,eqn2,y1x,y2x,x求方程组的通解Dsolveeqn1,y1x0=y10,y1x,x求方程组的特解,1矩阵的输入与输出在Mathematica中向量和矩阵就是一个表.,表示一个向量表示一个m行n列的矩阵,其中每一个子表表示矩阵的一行,线性代数,1)直接输入矩阵直接输入矩阵的方法有3种,如下所述:,按表的形式输入矩阵由模板输入矩阵.在基本输入模板中输入2阶方阵,按“Ctrl+,添加一列,Ctr+Enter添加一行.如果矩阵不大,此法较方便由菜单输入矩阵,2)以矩阵形式输出矩阵不管用何种方式输入矩阵,矩阵总是按表的形式输出.这既违背常规,又难于阅读.Mathematica提供了以矩阵形式输出矩阵的函数:,MatrixFormlist将表list按矩阵形式输出,注意:Mathematica不区分行向量与列向量.,3)用函数创建矩阵可以通过函数建立一些有规律的矩阵,除了在讲表时已经介绍过的函数Table外,还有以下专用函数:,Arraya,m,n创建一个m行,n列的矩阵元素为ai,j.IdentityMatrixn创建一个n阶单位矩阵DiagonalMatrixlist创建一个对角线上为表list的元素的方阵.,4)提取矩阵元素除了在表中介绍过的操作以外,还有三个矩阵专用的函数:,MAll,i提取矩阵M的第i列元素组成一个表TrM,List提取矩阵M的主对角元素组成一个表DimensionsM求矩阵M的行数,列数.,2矩阵运算,1)加法与数乘除了两个矩阵相加外,还有一个数与矩阵相加,都使用加号.一个数与矩阵相加就是矩阵的每个元素都加上该数,一个数与矩阵相乘就是矩阵的每个元素都乘上该数,2)乘法句号作为两个矩阵相乘或两个向量内积的运算符.另外:求两个向量的向量积的函数为Crossa,b求,3)矩阵转置TransposeM将矩阵M转置,4)求行列式DetA求方阵A的行列式,5)求逆矩阵InverseA求方阵A的逆矩阵(自动判别是否可逆),注意:不表示逆矩阵,6)特征值与特征向量求方阵的特征值与对应的特征向量的函数是EigenvaluesA求方阵A的全部特征值EigenvectorsA求方阵A的一组线性无关的特征向量EigensystemA求全部特征值和对应的线性无关的特征向量组,7)Jordan标准形求方阵A的Jordan标准形和过渡矩阵的函数是JordanDecompositionA输出一个表,表的第一个元素是过渡矩阵,表的第二个元素是A的Jordan标准形.,3解线性方程组专门用于解线性方程组的函数有三个,RowReduceM消元得到矩阵M的行最简形矩阵NullSpaceM求齐次线性方程组Mx=0的一个基础解系LinearSolveM,b求线性方程组Mx=b的一个特解,1)表达式的查询操作符?用于某些内容的查询,用法如下,?变量名显示一个变量的信息?ab*显示以字母ab开头的全部变量?Global*显示已经使用过的全部变量,操作符?还可以用于查询帮助信息,用法如下:,?函数名显示函数的帮助信息?函数名显示函数的更为详细的帮助信息?Ab*显示以字母Ab开头的所有函数,可以运用Windows的拷贝粘贴功能将其复制到另一个新打开的工作区窗口中,然后存盘(为*.nb型文件).此法既可以保存键入的表达式,又可以保存Mathematica输出的计算结果.Mathematica提供了保存变量的值的操作符,用法如下,2)表达式的保存,变量名“文件名”将变量的值保存到指定的文件中变量名“文件名”将变量的值添加到指定的文件中Save“文件名”,变量名1,变量名2,将变量的值添加到指定的文件中,查看文件使用的操作符如下:!文件名在工作区内显示文件的内容,3)文件的调入用户以*.nb型文件保存的内容,可以通过File菜单的Open或Notebooks项查找调入.Mathematica将专门为调入的文件打开一个工作区窗口,显示出保存的内容,可以修改或再次执行其中的语句.,调入程序文件使用的操作符如下=,逻辑表达式的一般形式:,逻辑运算符!(逻辑非)&(逻辑与)|(逻辑或),逻辑表达式的值(三个)真假非真非假,条件结构的使用和定义方法,我们在用计算机语言进行编程时,常用到条件语句。在Mathematica中也提供了多种设置条件的方法,并规定只有在该条件满足时才计算表达式。,下面是条件结构的常用形式,(1)If条件,语句1功能:如果条件成立,则执行对应的语句1,并将语句执行结果作为If语句的值,如果条件不成立,不执行语句1。(2)If条件,语句1,语句2功能:根据条件的成立与否确定执行哪一个语句,具体执行为:条件成立时,执行语句1,否则,执行语句2,并将语句执行结果作为If语句的值。(3)If条件,语句1,语句2,语句3功能:根据条件的成立与否确定执行哪一个语句,具体执行为:条件成立时,执行语句1,条件不成立时,执行语句2,否则,执行语句3,并将语句执行结果作为If语句的值。,1If命令,If允许嵌套:形式如下,Ifcond1,result1,Ifcond2,result2,Ifcondn,resultn,resultn+1,2Which命令对于一般情况函数If提供一个两者择一的方法。然而,有时条件多于两个,在这种情况下可用If函数的嵌套方式来处理,但在这种情况下使用Whitch或Switch函数将更合适。下面用Which定义具有三个条件的函数,调用这个函数:,Which条件1,语句1,条件2,语句2,.,条件n,语句n功能:由条件1开始按顺序依次判断相应的条件是否成立,若第一个成立的条件为条件k,则执行对应的语句k。Which条件1,语句1,条件2,语

温馨提示

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

评论

0/150

提交评论