资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Matlab及其应用,*,数学实验,电话:,E-MAIL,:,dq.chen-,数学实验,第四讲,Mathematica,编程与应用,四川理工学院 信计系,编程、调试,软件操作实验介绍,综合应用实验介绍,实验报告写法,Math,的编程,Math,可以有两种常用的工作方式:,一种是直接交互的指令行操作方式;,另一种是批处理方式。,为了更好的利用,Math,,需要掌握基本的程序设计技巧。,Math,可以把很多命令放在自己定义的函数里,也可以自己编写更加复杂的程序,下面着重介绍函数的定义和编写程序的几个结构。,1,、自定义函数,定义函数使用的符号是,:=,定义符号的是函数名和方括号里说明的自变量,右边是函数的定义表达式,说明函数值应当如何从函数自变量的值计算出来。,用户应特别注意在定义式左边方括号里自变量名后面的,_,(下划线符号),在系统里这个符号叫做空白 。,自变量名后面的空白符号是必须的,它应该紧跟在自变量名的后面,中间不能有空格。如定义函数,f(x,y),并求,f(2,6),的值:,fasx_,y_:=x2+y,fas2,6,2,、程序结构和控制,顺序结构,在,Math,中的顺序结构就是复合表达式,也就是“,;,”操作符。在一个表达式的后面写一个分号“,;,”,,然后接着写另外一个表达式,这就构成了一个复合表达式。如:,x = 3; x = x + 2; x,循环结构,Math,中有很多的函数或者说是命令支持循环结构,首先给出几个常用的函数,如下表:,用于循环的一些基本函数,函数及其表达式 函数功能说明,Doexpr,I,imax,重复计算表达式,步长为,1,Doexpr,I,imin,imax,di,重复计算表达式,步长为,di,Doexpr,n,计算表达式共,n,次,Whiletest,body,只要检测为真,就反复执行,body,ForStart,test,incr,body,以,Start,为起始值,重复计算,body,和,incr,,直到检测为假,Nestexpr,n,对于表达式运用,f,共,n,次,FixedPointf,expr,以表达式为开始,重复运用,f,,一直到结果不再变化为止,FixedPointf,expr,SameTest-comp,如果把条件,Comp,运用于两次连续的结果真的话,就结束,如:输出,i2,,,i,从,1,到,5,DoPrinti2, i,5,DoPlotSinn x, x, 0, 2*Pi, n, 1, 3, 0.25,Doexpr,i,imin,imax,istep,计算,expr, i,从,imin,到,imax,步长,istep; imin=1,istep=1,可省,DoPlotSinn*x, x, 0, 2*Pi, n, 1, 3, 0.25,Cleart;t=x;Dot=1/(1+t),4;t,循环,n,次,Doexpr,n ,计算表达式共,n,次,Cleart;t=x;Dot=1/(1+t),4 ;t,Cleart;t=x; Dot=(t-i)/(t-j),i,4,j,i-1;t,多重循环,Doexpr, i., j. (,前外后内,),Math,中经常用到的条件和分支结构的函数如下:,函数及其表达式 函数功能说明,Lhs:=Rhs/:text,当,text,为,True,的时候,使用定义,Iftest,then,else,unknow,当,text,为,True,时,执行,then,,否则执行,else,不清楚的执行,unknow,Whichtest1,value1,test2,value2,依次计算,testi,的值,返回第一个为,Ture,的,testi,对应的,valuei,Switchexpr,form1,value1,form2,先计算,expr,的值,然后依次与,formi,比较,返回第一个匹配的,formi,对应的,valuei,如果没有与之匹配的就返回,Null,3,、条件和分支结构,Switchexpr,form1,value1,form2,def,先计算,expr,的值,然后依次与,formi,比较,返回第一个匹配的,formi,对应的,valuei,如果没有与之匹配的就返回,def,程序流程的控制在正常情况下,系统对于表达式的求值总是按照规定的顺序和方式进行的。无论对于一般的表达式,还是对于复合表达式,使用前面的结构就够了。但是有的时候,人们要打断这种正常的顺序,以方便程序设计。为此,该系统提供了一些特殊的程序流程控制结构。后面给出了几个常用的流程控制函数。,用于流程控制的函数:,函数及其表达式 函数功能说明,Break,退出最近的一个循环,Continue,转入当前循环的下一步,Returnexpr,退出函数中所有过程及循环,并返回,expr,Lablename,定义一个名为,name,的标号,Gotoname,直接跳转到当前过程中的,name,标号处,编程要素,四性:规范性,清晰性,逻辑性,层次性,三易:易读,易改,易调,软件实验介绍,1,、用,math,软件解方程(组)、求极限,2,、用,math,软件做积分运算、微分运算以及函数的幂级数展开,【,实验目的,】,(,1,)掌握,Math,软件的计算器功能;,(,2,)学会使用,Math,软件求各种类型方程(或方程组)的数值解和符号解。,【,预备知识,】,(,1,)方程(或方程组)代数解法的基本理论,函数的零点,方程(或方程组)的解及数值解;,(,2,)本实验所用命令:, 用符号“,= =”,连接两个代数表达式构成一个方程, 求方程(组)的代数解:,Solve,方程或方程组,变量或变量组,解方程和方程组,求方程(组)的数值解:,NSolve,方程或方程组,变量或变量组,从初始值开始搜索方程或方程组的解:,FindRoot,方程或方程组,变量或变量组初值,在界定范围内搜索方程或方程组的解:,FindRoot,方程或方程组,变量或变量组范围,绘图命令:,Plot,表达式,,变量,上限,下限,,可选项,微分方程求解命令:,DSolve,微分方程,y,x,x,【,实验内容与要求,】,(,2,)对于方程,试用,Solve ,和,NSolve,分别对它进行求解,并比较得到的结果,体会代数解即精确解与数值解的差别。,(,3,)先观察函数,的图形,然后选择一个初始点求解,并且根据图形确定在某个区间中搜索它的零点。,(,1,)计算,求极限,【,实验目的,】,(,1,)通过本实验深刻理解极限概念;,(,2,)学习并掌握利用,Math,求极限的基本方法。,【,预备知识,】,(,1,)极限、左极限、右极限的概念;,(,2,)本实验所用,Math,有关命令:,Limit,expr,x,-,x,0,求表达式在,时的极限,Limitexpr,x-x0,Direction - 1,求左极限,Limitexpr,x-x0,Direction -1,求右极限,【,实验内容与要求,】,用,Math,软件计算下列极限:,积分运算,【,实验目的,】,(,1,)通过本实验加深理解积分理论中分割、近似、求和、取极限的思想方法;,(,2,)学习并掌握二重积分及线性积分的计算方法;,(,3,)学习常用积分命令。,【,预备知识,】,(,1,)定积分的概念、几何意义,二重积分的概念、二重积分化为定积分的过程及其计算方法;,(,2,)本实验所用,Math,有关命令:, 无限积分:,Integratef,x,定积分:,Integratef,x,,上限,下限,【,实验内容与要求,】,(,1,)求函数,的原函数;,(,2,)求,微分基本运算及函数的幂级数展开,(,1,)掌握求函数的导函数和偏导数的方法;,(,2,)学会使用,Math,软件进行函数的幂级数展开。,【,预备知识,】,(,1,)函数的导函数、偏导数以及函数的幂级数展开式;,(,2,)本实验所用的,Math,函数提示:,(,a,)求导数(或偏导数):,D,表达式,F,x,求,F,对于变量,x,的导数,D,表达式,F,x1,x2,.,依次求,F,关于,x,1,,,x,2,的偏导数,D,表达式,F,x,n,求,F,对,x,的,n,阶导数,(,b,)幂级数展开:,Series,表达式,F,x,x0,n,求,F,关于变量,x,在,x,0,的,n,阶泰勒展式。,【,实验目的,】,【,实验内容与要求,】,(,1,)求出被积函数,F,(,x,)=,的原函数和导函数,并画出被积函数、原函数和导函数的图形,试分辨出哪一条曲线属于哪个函数。,(,2,)对函数,sin,x,在,0,点展开,10,阶和,20,阶,并以图形方式对比展开的结果和,sin,x,的差别,并分析阶数高的展式对于原来函数的逼近程度是否优于阶数低的展式。,综合应用实验介绍,1,、放射性废料的处理问题,2,、路程估计问题,美国原子能委员会以往处理浓缩放射性废料的方法,一直是把它们装入密封的圆桶里,然后扔到水深,90,多米的海底。生态学家和科学家们表示担心,怕圆桶下沉到海底时与海底碰撞而发生破裂,从而造成核污染。原子能委员会分辩说这是不可能的。为此工程师们进行了碰撞实验,发现当圆桶下沉到海底时的速度超过,12.2 m/s,,圆桶与海底碰撞会发生破裂。为避免圆桶破裂,需要计算圆桶沉到海底时的速度是多少?这时已知圆桶重为,239.46 kg,,体积为,0.2058 m,3,海水密度为,1035.71 kg/m3,。如果圆桶下沉到海底时的速度小于,12.2 m/s,,就说明这种方法是可靠的;否则就要禁止用这种方法来处理放射性废料。假设水的阻力与速度大小成正比,其正比例常数为,0.6,。,放射性废料的处理问题,【,实验目的,】,巩固和理解微分方程理论及其应用。,【,预备知识,】,常微分方程理论和,Math,解方程的命令。,【,实验内容与要求,】,(,1,)根据问题建立数学模型。,(,2,)根据数学模型求解的结果,判断这种处理废料的方法是否合理。,2,、路程估计问题,【,问题,】,外出旅行或行军作战等,都可能涉及到两地路程的估计问题。当身边带有地图时,这似乎是件很容易的事。然而,从地图上量出的距离却是两地的直线距离,d,,你能由此估计出两地的实际路程,s,吗?建立,s,关于,d,的模型:,s=f(d),【,实验目的,】,,,学会用数学软件进行曲线拟合。,【,预备知识,】,多元函数的极值求法;线性拟合的最小二乘法原理。,【,实验内容与要求,】,(,1,)要确定,s,与,d,的近似函数关系,必须收集若干,s,及与之相对应的,d,的具体数据,通过分析找出规律。这里将,中国地图,中量得的四川省彭州市到其他几个城市的直线距离,并按比例尺 (,1cm,为,20km,)进行转换,以及从到汽车站了解到的对应的实际路程的有关数据列于下表:,彭州市,成都,郫县,都江堰,什邡,德阳,新繁,广汉,温江,崇庆,地图直线距离,(cm),1.8,1.08,1.55,1.32,2.3,0.75,1.64,1.7,2.38,地图转换距离,d,(km),36,21.6,31,26.4,46,15,32.8,34,47.6,实际路程,s,(km),42,30,58,43,68,16,43,50,65,(,2,)启动数学软件,将上表中,s,与,d,两组数据按拟合时所需形式输入。,(,3,)画出数据散布图,观察它们是否大致在一条直线附近。,(,4,)进行直线拟合,并在同一图中显示拟合直线与数据点。观测拟合情况,并记下所得到的模型(称为经验模型)。,(,5,)在只作粗略估计的情况下,为便于计算,若将上面得到的模型修改成,s=1.5d-b,(简单模型)行吗?根据表中数据,取,b=3,,试画出简单模型与样本数据点的图形,并与(,4,)所得到的图形相对照。,(,6,)试计算由两个模型得到的估计值与实际值的差(残差),以大致观测一下两个模型的差异。在只作粗略估计的前提下,你愿意用哪个模型?,谢 谢 大 家,!,祝大家,:,学 业 有 成,!,万 事 如 意,!,心 想 事 成,!,
展开阅读全文