电磁场的数值计算方法

电磁场的数值计算方法
电磁场的数值计算方法

电磁场的数值计算方法:

数值计算方法是一种研究并解决数学问题数值近似解的方法,广泛运用于电气、军事、经济、生态、医疗、天文、地质等众多领域。本文综述了电磁场数值计算方法的发展历史、分类,详细介绍了三种典型的数值计算方法—有限差分法、有限元法、矩量法, 对每种方法的解题思路、原理、步骤、特点、应用进行了详细阐述, 并就不同方法的区别进行了深入分析, 最后对电磁场数值计算方法的应用前景作了初步探讨。关键词:电磁场;数值计算;有限差分法;有限元法;矩量法引言自从1864 年Maxwell 建立了统一的电磁场理论,并得出著名的Maxwell 围绕电磁分布边值问题的求解国内外专家学者做了大量的工作。在数值计算方法之前, 电磁分布的边值问题的研究方法主要是解析法,但其推导过程相当繁琐和困难,缺乏通用性,可求解的问题非常有限。上个世纪六十年代以来,伴随着电子计算机技术的飞速发展,多种电磁场数值计算方法不断涌现,并得到广泛地应用,相对于解析法而言,数值计算方法受边界形状的约束大为减少,可以解决各种类型的复杂问题。但各种数值计算方法都有一定的局限性,一个复杂的问题往往难以依靠一种单一方法解决,因此如何充分发挥各种方法的优势,取长补短, 将多种方法结合起来解决实际问题,即混合法的研究和应用已日益受到人们的关注。本文综述电磁场的数值计算方法,对三种常用的电磁场数值计算方法进行分类和比较。电磁场数值计算方法的发展历史在上世纪四十年代,就有人试探用数值计算的方法来求解具有简单边界的电磁场问题,如采用Ritz ,以多项式在整个求解场域范围内整体逼近二阶偏微分方程在求解域中的解。五十年代,采用差分方程近似二阶偏微分方程,诞生了有限差分数值计算方法,开始是人工计算,后来采用机械式的手摇计算机计算,使简单、直观的有限差分法得到应用和发展,该方法曾在欧、美风行一时。1964 年美国加州大学学者Winslow 以矢量位为求解变量,用有限差分法在计算机上成忻州师范学院物理系本科毕业论文(设计)1965年,Winslow 首先将有限元法从力学界引入电气工程中,1969 年加拿大MeGill 大学P. Silvester运用有限元法成功地进行了波导的计算Chari合作将有限元法应用于二维非线性磁场的计算,成功地计算了直流电机、同步电机的恒定磁场。此后有关有限元法探讨的论文越来越多,有限元法运用的范围由静态场到涡流场到辐射场,由线性场到非线性场,由

各向同性媒质到各向异性、要考虑磁滞损耗,由工程电磁场到生物电磁场等等。有人认为有限元法是求解工程电磁场的最有效最成功的方法。有限元法和有限差分法都是求解边值问题的方法,属于微分方程法。对于开区域或要求求解连续分布场量的区域,这类方法就会受到自身的限制。1972 英国卢瑟福实验室的C.W.Trowbridge 等人提出了积分方程法的思想,给出了二维、三维场问题的离散形式,由于此种方法只需离散源区,不需考虑边界条件,所以它较好地解决了无界开域场和要求连续计算场量的问题。该方法计算精度高,但计算量很大。该实验室Sinkin 等人又在积分方程法基础上提出了边界积分方程法(又称边界元法),用此解决线性场的计算,计算量大为减小。此后该室的学者们将积分方程与微分方程法结合起来,提出了求解三维静磁场的双标量位在解决天线辐射场、散射场问题中,矩量法是一个很重要的数值计算方法。1968 Harrington发表了专著“Field computation MomentMethod”,对散射场、天线辐射场、波导场等方面的问题起了很好的推进作用。除以上所介绍的方法外,随着电磁场数值分析的不断发展,各种新方法不断涌现,如计算电场的模拟电荷法,最小二乘配点法,求解磁场的模拟电流法,以及计算场的图论模型法,快速Fourier 变换法、有限体元法、无网格计算法等等。各种方法互相配合,出现了一些混合方法,如:矩量法—模拟电荷法、模拟电荷法—有限元法、有限元法—边界元法等,有效地解决了一些实际问题。近年来人工神经网络,小波理论等也引入了电磁场的数值计算中,瞬态电磁场计算如时域有限差分法的应用有了长足的发展。总之随着现有的电磁场数值计算方法的不断深入发展、提高和完善,新的方法不断产生。在电磁场的数值解法不断发展的同时,人们并没有忘记长期以来所运用的解析方法。解析法计算结果精确,且可以用解析式表达计算结果,受这些特点吸引,忻州师范学院物理系本科毕业论文(设计)解析法与数值计算方法相结合形成的半解析法应运而生,也成为了一种主流解算方法,并还在不断发展。电磁场数值计算方法发展走向成熟的一个重要标志是:成熟的方法越来越多地应用于工程实际问题中,商业化通用软件包不断出现。一个商业化软件包通常由下面几部分组成:网格图形显示生、节点形成空调剖分、网格自动产模拟化:数、边界条件几何尺寸、材料性能参数据定义:前处理非线性叠代求解代数方程组离散方程组系数矩阵形数据处理算与显示局部场域分布

的精细计显示受力和损耗计算与图形含线性媒质和非线性媒场图显示按要求输出计算结果后处理以上三部分中前、后处理占用了软件包语句的90%以上,编程的主要工作量在此,而数据处理,也就是我们目前正在学习的数值计算方法仅占软件语句的10%以内,但它却是占用计算机内存量和消耗CPU 时间的主要部分。电磁场数值计算方法的分类求解电磁问题的最终要求就是获得满足实际条件的Maxwell 方程的解,借助于计算数学中的数值算法能够得到大多数电磁问题的近似解。数值算法的基本思就是把连续变量函数离散化,把微分方程化为差分方程;把积分方程化为有限和的形式,从而建立起收敛的代数方程组,然后利用计算机技术进行求解。数值计算方法从求解方程的形式看,主要分为积分方程法和微分方程法两大类。积分方程法主要有矩量法和边界元法,微分方程法主要有有限差分法和有限元法。对两种方程法的比较,如表一所示。忻州师范学院物理系本科毕业论文(设计)积分方程法和微分方程法的比较积分方程法微分方程法共性对场问题的处理是一致的,即需离散化场域,结果是数值解离散域仅在场源区,无需对整个场域离散整个场域计算对象求解域可在场域内某一局部区域求解,也可在全场域内求全场域内求解计算程度较高较低应用不适用边界区域复杂的场边界形状复杂的场域较易处理联系

两种方法的结合形式,可处理较复杂的电磁场问题几种重要的数值计算方法3.1 有限差分法在电磁场数值计算方法中,有限差分法是应用最早的一种方法。有限差分法以其概念清晰,方法简单、直观,有大致固定的处理和计算模式,具有一定的通用性等特点,在电磁场数值分析领域内得到了广泛的应用。3.1.1 有限差分法的基本原理有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解。3.1.2 的自变量x有一小增量的一阶差分。当增量h足够小,差分与微分df之间的差才忻州师范学院物理系本科毕业论文(设计)是自变量x的函数。按式(1),计算(3.2)函数dxdf 的商,称为差商。同理,函数(3.4)

3.1.3 差分方程的构造现以二维静态电、磁场泊松方程的第一类边值问题为例,来具体阐明有限差分法的应用。设具有平行平面场特征的电磁场场域D ,如图1 所示,为一由闭合边(3.6)对于所给定的偏微分方程定解问题,应用有限差分法,首先需从网格剖分着手决定离散点的分布方式。原则上,可以采用任意的网格剖分方式,但这将直接影响所得差分方程的具体内容,进而影响解题的经济性与计算精度。为简化问题,通常采用完全有规律的分布方式,这样在每个离散点上就能得出相同形式的差分方程,有效地提高解题速度,因而经常采用正方形的网格的剖分方式。现即以这种正方形网格剖分场域D ,也就是说,用分别与两坐标轴平行的两簇等距网格线来生成正方形网格,即忻州师范学院物理系本科毕业论文(设计)称为节点,这样D 域就离散化为由网格节点标成的离散点得集合。是一典型节点,它与周围的1,2,3 点构成一个对称星型。设这些离散点上待求函数的近似值记为=0,则节点O上函数的值等于其四周相邻

点函数值的平均。因为差分方程(7),(8)只出现待求函数u 及其四个临近点的值,故称之为五点差分格式,根据差分方程组解出各离散点处的待求函数值。3.2 有限元法传统的变分法在20 世纪二三十年代为其新型时期,理论上发展很快,各种变分问题的最后求解都可归结为解尤拉方程的边值问题,然而只有在一些特殊情况下尤拉方程才能求出精确解,在大多数情况下,尤拉方程的精确解无法求出。四五十年代,随着计算机的出现,使其在实际应用中逐渐为比较灵活、通用的有限差分法所替代。但是,有限差分法在理论上没有以变分原理为基础,因而其收敛性和数值稳定性往往得不到保证。随后发展形成的有限元法正是变分法与有限差分法相结合的成果,它取长补短地在理论上以变分原理为基础,在具体方法构造上又利用了有限差分法网格离散化处理的思想3.2.1有限元法的基本原理有限元法是以变分原理为基础,将要求解的微分方程型数学模型—边值问题,首先转化为相应的变分问题,即泛函求极值问题;然后,利用剖分插值将变分问题离散化为普通多元函数的极值问题,最终归结为一组多元的代数方程组,求解该方程组,从而获得边值问题的数值解。3.2.2 泛函、变分问题简介在微积分学形成初期,以数学物理问题为背景,与多元函数的极值问题相对应,已在几何、力学上提出了若干个求解泛函极值的问题。如图2 中的质点最速降线问题所述,质点A 从定点所需时间为gy (3.9)(3.9)

式,所以J是函数(3.10)泛函的极值问题就称为变分问题。对一般问题而言,可导出下列对应于一个自变的自变量不是一般的自变量,而是一个或几个函数所属的函数族dxds 数称为极值函数。因此,变分问题就在于寻求使泛函达到极值的该极值函数,即分析研究泛函的极值问题。 3.2.3 泛函变分问题的经典解法有两种,一种称之为直接解法,另一类是间接解法。直接解法是直接把泛函的极值问题近似地转化为一般多元函数的极值问题,用有限维子空间中的函数去逼近无穷维空间中的极值函数,从而近似求得泛函的极值。间接解法是将变分问题转化为尤拉方程(微分方程)的定解问题,即边值问题来求解。以式(3.11)这种最简形式来推导尤拉方程。设函数(3.12)将(3.12)式由多元函数的泰勒公式展开(3.13)式中作为泛函增量为任意给定的微量实参数,值就确定了函数族中的某一曲线,进而确定泛函就成为变量的函数,且当时取得极值的必要条件是忻州师范学院物理系本科毕业论文(设计)(3.16)利用分部积分,并根据变分与微分顺序可互换原理,(3.16)式可写为(3.17)由于(3.17)对任意(3.18)方程(3.18)就称为泛函(3.11)的极值问题的尤拉方程。综上所述,有限元法的基本特点是:(1)离散化过程保持了明显的物理意义。这是因为,变分原理描述了支配物理现象的物理学中的最小作用原理(如力学中的最小势能原理、静电学中的汤姆逊定理等)。(2)优异的解题能力。与其他数值计算方法相比较,有限元法在适应场域边界几何形状,以及媒质物理性质变异情况复杂的问题求解上,有突出的优点。(3)从数学理论意义上讲,有限元法作为应用数学的一个重要分支,很少有其他方法应用的这样广泛。它使微分方程的解法和理论面目一新,推动了泛函分析与计算方法的发展。3.3 矩量法,是近年来在天线、微波技术和电磁波散射等方面广泛应用的一种方法。从这些实际问题涉及开域、激励场源分布形态较为复杂等特征出发,矩量法是将待求的积分方程问题转化为一个矩阵方程的问题,借助于计算机,求得其数值解,从而在所得激励源分布的数值解基础上,即可算出辐射场的分布及其波阻抗等特性参数。3.3.1 矩量法的基本原理先选定基函数对未知函数进行近似展开,代入算子方程,再选取适当的权函数,使在加权平均的意义下方程的余量等于0,由此将连续的算子方程转换为代数方程。原则上,矩量法可用于求解微分方程和积分方程,但用于微分方程时所得到的代数方程组的系数矩阵往往是病态

的,故在电磁场问题中主要用于求解积分方程。3.3.2 加权余量法忻州师范学院物理系本科毕业论文(设计)10 设给定边值问题的场方程统一表述为如下的算子方程,即(3.19)已知边界条件为(3.21)其中: 为精确解,则方程(3.19)和边界条件(3.20),(3.21)应该完全满足。但大多数情况下,不能得到u 的精确解,只能通过数值方法进行估计。构造一个由有限个线性无关函数,借以展开待求函数u的近似解为(3.23)取一个归属于试探函数的权函数集合(3.24)式(3.24)由n 个方程构成的方程组,它等价于人为地强制近似解u ,使其因不能精确地满足场方程而导致的误差在平均的含义上等于零。按式(3.24)展开,所构成的各种求解积分或微分方程近似解的方法可被统称为加权余量法。因为按给定权函数平衡式,故式(3.24)的构造亦就被称为矩量法。基于加权余量式(3.24),进行移项处理,便得gdV (3.25)将式(3.22)代入式(3.25)的左端,有(3.26)为了书写方便,令忻州师范学院物理系本科毕业论文(设计)11 代入(3.26)式,则可写成(3.27)这样,即展开成含n 个未知数(3.28)综上所述,矩量法的特点是:矩量法将连续方程离散化为代数方程组, 用于求解微分方程,又适用于求解积分方程。它的求解过程简单, 求解步骤统一, 应用起来比较方便,然而需要一定的数学技巧, 如离散化的程度、基函数与权函数的选取, 矩阵求解过程等。另外必须指出的是, 矩量法可以达到所需要的精确度、解析部分简单, 可计算量很大, 即使用高速大容量计算机, 计算任务也很繁电磁场数值计算的应用前景

电磁场数值计算方法近六十年来发展如此之快,除由于从事这方面的科研人员的努力之外,主要是其研究成果迅速被电机、电器、变压器、加速器、微波器件、计算机磁头等领域采用,对改善产品性能、降低生产成本,起着越来越大的作用。众所周知,任何电磁器件,包括国民经济中应用极其广泛的电机与变压器,其能量转换都是通过电磁场来实现的。但传统的电磁产品的设计方式由于客观条件与手段的限制,把场的实际分布参数当作集中参数处理,不可避免地带来相当大的误差。在迫不得已的情况下,只能用模拟、实验等方法处理,其耗费大、周期长,可借鉴的经验不多,而实验的模拟也不都是有条件的,此外,工农业和日常生活中所用电磁装置越来越多,生产和销售竞争剧烈,因此有效的设计方法显然受到重视。在采用电磁场数值计算以前的任何方法,即使是十分精巧的代数解析方法,也只能适用于特别简单的几何结构以及一些特殊的假定模型,有时

模型甚至简化到不能容忍的程度,但除此之外别无它法。因为实际的电磁场问题,特别是电机电磁场,其边界情况十分复杂,加上铁的饱和以及导体中的涡流效应,解析方法是无能为力的。而数值方法可以模拟复杂的形状,可以适应非线性问题,可以进行涡流的分布计算。忻州师范学院物理系本科毕业论文(设计)12 电磁场的数值计算与流体力学分析、温度分析、机械应力分析、电磁力分析和生产计划等等有机联系起来,由计算机完成全部设计,构成所谓CAE [10] 系统(Computer Aided Engineering)。CAE 系统基本可包括设计与制造的全部过程,产品的设计、制造方案、准备零件、草图、计算、成本核算、生产、机床数控和试验、模拟和产品的自动测试都可能列入到CAE 系统中。目前CAE 系统在西方国家发展很快,估计每年增长40%,尤其在机械行业中,形成了所谓CADMAT 计算机辅助设计、加工与试验。从长远观点看,电磁场数值计算要发挥更实际的作用,必须与其他多种学科相结合以形成CAE 系统,CAE 的发展必然给工业结构上带来巨大的变化。结束语数值计算是一门计算的艺术,电磁场的数值计算横跨了多个学科,是数学理论、电磁理论和计算机应用能力的完美组合。通过本次论文设计,我对差分、变分、泛函、加权余量法等数学知识有了深刻的认识,掌握了有限差分法、有限元法、矩量法的基本原理,并能进行简单的运算。但若用数值计算方法解决复杂的电磁场问题,则在很大程度上依赖于数学知识及计算机编程能力,这就需要进一步系统学习相关的理论知识。参考文献邓东皋,彭立中.小波分析[J].数学进展,1991,20(3):

294-310.倪光正,杨仕友,钱秀英等.工程电磁场数值计算[M].北京:机械工业出版社,2003:123-161.盛剑霓.工程电磁场数值分析[M].西安:西安交通大学出版社,1991:69-75.方静,汪文秉.有限元法和矩量法结合分析背腔天线的辐射特性〔J〕.微波学报,2000,16(2):139-143.连汉雄.电磁场理论的数学方法[M].北京:北京理工大学出版社,1990:10-15.张平文,刘法启,张宇.小波函数值的计算[J].计算数学,1995(3):173-185.[10] 楼仁海,符果行,袁敬闳.电磁理论〔M〕.成都:电子科技大学出版社,1996:73-102.忻州师范学院物理系本科毕业论文(设计)13

数值计算方法试题及答案

【 数值计算方法试题一 一、 填空题(每空1分,共17分) 1、如果用二分法求方程043=-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。 2、迭代格式)2(2 1-+=+k k k x x x α局部收敛的充分条件是α取值在( )。 3、已知?????≤≤+-+-+-≤≤=31)1()1()1(211 0)(2 33x c x b x a x x x x S 是三次样条函数, 则 a =( ), b =( ), c =( )。 4、)(,),(),(10x l x l x l n 是以整数点n x x x ,,,10 为节点的Lagrange 插值基函数,则 ∑== n k k x l 0)(( ), ∑== n k k j k x l x 0 )(( ),当2≥n 时 = ++∑=)()3(20 4x l x x k k n k k ( )。 ; 5、设1326)(2 47+++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[10n x x x f 和=?07 f 。 6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。 7、{}∞ =0)(k k x ?是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x ?,则?= 1 4)(dx x x ? 。 8、给定方程组?? ?=+-=-2211 21b x ax b ax x ,a 为实数,当a 满足 ,且20<<ω时,SOR 迭代法收敛。 9、解初值问题 00 (,)()y f x y y x y '=?? =?的改进欧拉法 ??? ??++=+=++++)],(),([2),(] 0[111] 0[1n n n n n n n n n n y x f y x f h y y y x hf y y 是 阶方法。

数值计算方法比较

有限差分方法(FDM:Finite Difference Method)是计算机数值模拟最早采用的方法,至今仍被广泛运用。该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。有限差分法以Taylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。有限差分法主要集中在依赖于时间的问题(双曲型和抛物型方程)。有限差分法方面的经典文献有Richtmeyer & Morton的《Difference Methods for Initial-Value Problems》;R. LeVeque《Finite Difference Method for Differential Equations》;《Numerical Methods for C onservation Laws》。 注:差分格式: (1)从格式的精度来划分,有一阶格式、二阶格式和高阶格式。 (2)从差分的空间形式来考虑,可分为中心格式和逆风格式。 (3)考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。 目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。 构造差分的方法: 构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。 有限差分法的不足:由于采用的是直交网格,因此较难适应区域形状的任意性,而且区分不出场函数在区域中的轻重缓急之差异,缺乏统一有效的处理自然边值条件和内边值条件的方法,难以构造高精度(指收敛阶)差分格式,除非允许差分方程联系更多的节点(这又进一步增加处理边值条件韵困难)。另外它还有编制不出通用程序的困难。 有限差分法的优点:该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念 直观,表达简单,精度可选而且在一个时间步内,对于一个给定点来说其相关的空间点只是 与该相邻的几点,而不是全部的空间点。是发展较早且比较成熟的数值方法 广义差分法(有限体积法)(GDM:Generalized Difference Method):1953年,Mac—Neal 利用积分插值法(也称积分均衡法)建立了三角网格上的差分格 式,这就是以后通称的不规划网格上的差分法.这种方法的几何误差小,特别是给出了处理自然边值条件(及内边值条件)的有效方法,堪称差分法的一大进步。1978年,李荣华利用有限元空间和对偶单元上特征函数的推广——局部Taylor展式的公项,将积分插值法改写成广义Galerkin法形式,从而将不规则网格差分法推广为广义差分法.其基本思路是,将计算区域划分为一系列不重复的控制体积,并使每个网格点周围有

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

数值计算方法试题及答案

数值计算方法试题一 一、填空题(每空1分,共17分) 1、如果用二分法求方程在区间内的根精确到三位小数,需对分()次。 2、迭代格式局部收敛的充分条件是取值在()。 3、已知是三次样条函数,则 =( ),=(),=()。 4、是以整数点为节点的Lagrange插值基函数,则 ( ),( ),当时( )。 5、设和节点则 和。 6、5个节点的牛顿-柯特斯求积公式的代数精度为,5个节点的求积公式最高代数精度为。 7、是区间上权函数的最高项系数为1的正交多项式族,其中,则。 8、给定方程组,为实数,当满足,且时,SOR迭代法收敛。 9、解初值问题的改进欧拉法是 阶方法。 10、设,当()时,必有分解式,其中为下三角阵,当其对角线元素满足()条件时,这种分解是唯一的。 二、二、选择题(每题2分) 1、解方程组的简单迭代格式收敛的充要条件是()。(1), (2) , (3) , (4) 2、在牛顿-柯特斯求积公式:中,当系数是负值时,公式的稳定性不能保证,所以实际应用中,当()时的牛顿-柯特斯求积公式不使用。 (1),(2),(3),(4), (1)二次;(2)三次;(3)四次;(4)五次 4、若用二阶中点公式求解初值问题,试问为保证该公式绝对稳定,步长的取值范围为()。 (1), (2), (3), (4)

三、1、 2、(15 (1)(1) 试用余项估计其误差。 (2)用的复化梯形公式(或复化 Simpson公式)计算出该积分的近似值。 四、1、(15分)方程在附近有根,把方程写成三种不同的等价形式(1)对应迭代格式;(2)对应迭代格式;(3)对应迭代格式。判断迭代格式在的收敛性,选一种收敛格式计算附近的根,精确到小数点后第三位。选一种迭代格式建立Steffensen迭代法,并进行计算与前一种结果比较,说明是否有加速效果。 2、(8分)已知方程组,其中 , (1)(1)列出Jacobi迭代法和Gauss-Seidel迭代法的分量形式。 (2)(2)求出Jacobi迭代矩阵的谱半径,写出SOR 迭代法。 五、1、(15分)取步长,求解初值问题用改进的欧拉法求的值;用经典的四阶龙格—库塔法求的值。 2、(8分)求一次数不高于4次的多项式使它满足 ,,,, 六、(下列2题任选一题,4分) 1、1、数值积分公式形如 (1)(1)试确定参数使公式代数精度尽量高;(2)设,推导余项公式,并估计误差。 2、2、用二步法 求解常微分方程的初值问题时,如何选择参数使方法阶数尽可能高,并求局部截断误差主项,此时该方法是几阶的。 数值计算方法试题二 一、判断题:(共16分,每小题2分) 1、若是阶非奇异阵,则必存在单位下三角阵和上三角阵,使唯一成立。()

数值分析第二章复习与思考题

第二章复习与思考题 1.什么是拉格朗日插值基函数?它们是如何构造的?有何重要性质? 答:若n 次多项式()),,1,0(n j x l j =在1+n 个节点n x x x <<< 10上满足条件 (),,,1,0,, ,0, ,1n k j j k j k x l k j =?? ?≠== 则称这1+n 个n 次多项式()()()x l x l x l n ,,,10 为节点n x x x ,,,10 上的n 次拉格朗日插值基函数. 以()x l k 为例,由()x l k 所满足的条件以及()x l k 为n 次多项式,可设 ()()()()()n k k k x x x x x x x x A x l ----=+- 110, 其中A 为常数,利用()1=k k x l 得 ()()()()n k k k k k k x x x x x x x x A ----=+- 1101, 故 ()()()() n k k k k k k x x x x x x x x A ----= +- 1101 , 即 ()()()()()()()()∏ ≠=+-+---=--------=n k j j j k j n k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x l 0110110)( . 对于()),,1,0(n i x l i =,有 ()n k x x l x n i k i k i ,,1,00 ==∑=,特别当0=k 时,有 ()∑==n i i x l 0 1. 2.什么是牛顿基函数?它与单项式基{ }n x x ,,,1 有何不同? 答:称()()()(){ }10100,,,,1------n x x x x x x x x x x 为节点n x x x ,,,10 上的牛顿基函数,利用牛顿基函数,节点n x x x ,,,10 上的n 次牛顿插值多项式()x P n 可以表示为 ()()()()10010---++-+=n n n x x x x a x x a a x P 其中[]n k x x x f a k k ,,1,0,,,,10 ==.与拉格朗日插值多项式不同,牛顿插值基函数在增加节点时可以通过递推逐步得到高次的插值多项式,例如 ()()()()k k k k x x x x a x P x P --+=++ 011,

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

数值分析插值算法源程序

#include #include float f(float x) //计算ex的值 { return (exp(x)); } float g(float x) //计算根号x的值 { return (pow(x,0.5)); } void linerity () //线性插值 { float px,x; float x0,x1; printf("请输入x0,x1的值\n"); scanf("%f,%f",&x0,&x1); printf("请输入x的值: "); scanf("%f",&x); px=(x-x1)/(x0-x1)*f(x0)+(x-x0)/(x1-x0)*f(x1); printf("f(%f)=%f \n",x,px); } void second () //二次插值 { float x0,x1,x2,x,px; x0=0; x1=0.5; x2=2; printf("请输入x的值:"); scanf("%f",&x); px=((x-x1)*(x-x2))/((x0-x1)*(x0-x2))*f(x0)+((x-x0)*(x-x2))/((x1-x0)*(x1-x2))*f(x1)+((x-x0)* (x-x1))/((x2-x0)*(x2-x1))*f(x2);

printf("f(%f)=%f\n",x,px); } void Hermite () //Hermite插值 { int i,k,n=2; int flag1=0; printf("Hermite插值多项式H5(x)="); for(i=0;i<=n;i++) { int flag=0; flag1++; if(flag1==1) { printf("y%d[1-2(x-x%d)*(",i,i); } else { printf("+y%d[1-2(x-x%d)*(",i,i); } for(k=0;k<=n;k++) { if(k!=i) { flag++; if(flag==1) { printf("(1/x%d-x%d)",i,k); } else { printf("+(1/x%d-x%d)",i,k);

数值计算方法第二章

第二章 非线性方程数值解法 在科学计算中常需要求解非线性方程 ()0f x = (2.1) 即求函数()f x 的零点.非线性方程求解没有通用的解析方法,常采用数值求解算法.数值解法的基本思想是从给定的一个或几个初始近似值出发,按某种规律产生一个收敛的迭代序列0{}k k x +∞=,使它逐步逼近于方程(2.1)的某个解.本章介绍非线性方程实根的数值求解算法:二分法、简单迭代法、Newton 迭代法及其变形,并讨论它们的收敛性、收敛速度等. §2.1 二分法 一、实根的隔离 定义 2.1 设非线性方程(2.1)中的()f x 是连续函数.如果有*x 使*()0f x =,则称*x 为方程(2.1)的根,或称为函数()f x 的零点;如果有*()()()m f x x x g x =-,且()g x 在*x 邻域内连续,*()0g x ≠,m 为正整数,则称*x 为方程(2.1)的m 重根.当1m =时,称*x 为方程的单根. 非线性方程根的数值求解过程包含以下两步 (1) 用某种方法确定有根区间.称仅存在一个实根的有根区间为非线性方程的隔根区间,在有根区间或隔根区间上任意值为根的初始近似值; (2) 选用某种数值方法逐步提高根的精度,使之满足给定的精度要求. 对于第(1)步有时可以从问题的物理背景或其它信息判断出根的所在位置,特别是对于连续函数()f x ,也可以从两个端点函数值符号确定出有根区间. 当函数()f x 连续时,区间搜索法是一种有效的确定较小有根区间的实用方法,其具体做法如下 设[,]a b 是方程(2.1)的一个较大有根区间,选择合适的步长()/h b a n =-,k x a kh =+,(0,1,,)k n =L .由左向右逐个计算()k f x ,如果有1()()0k k f x f x +<,则区间1[,]k k x x +就是方程的一个较小的有根区间. 一般情况下,只要步长h 足够小,就能把方程的更小的有根区间分离出来;如果有根区间足够小,例如区间长度小于给定的精度要求,则区间内任意一点可

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

数值分析习题与答案

第一章绪论 习题一 1.设x>0,x*的相对误差为δ,求f(x)=ln x的误差限。解:求lnx的误差极限就是求f(x)=lnx的误差限,由公式(1. 2.4)有 已知x*的相对误差满足,而 ,故 即 2.下列各数都是经过四舍五入得到的近似值,试指出它们有几位有效数字,并给出其误差限与相对误差限。 解:直接根据定义和式(1.2.2)(1.2.3)则得 有5位有效数字,其误差限,相对误差限 有2位有效数字, 有5位有效数字, 3.下列公式如何才比较准确? (1) (2)

解:要使计算较准确,主要是避免两相近数相减,故应变换所给公式。 (1) (2) 4.近似数x*=0.0310,是 3 位有数数字。 5.计算取,利用:式计算误差最小。 四个选项: 第二、三章插值与函数逼近 习题二、三 1. 给定的数值表 用线性插值与二次插值计算ln0.54的近似值并估计误差限. 解:仍可使用n=1及n=2的Lagrange插值或Newton插值,并应用误差估计(5.8)。线性插值时,用0.5及0.6两点,用Newton插值 误差限,因

,故 二次插值时,用0.5,0.6,0.7三点,作二次Newton插值 误差限 ,故 2. 在-4≤x≤4上给出的等距节点函数表,若用二次插值法求的近似值,要使误差不超过,函数表的步长h 应取多少? 解:用误差估计式(5.8), 令 因 得 3. 若,求和.

解:由均差与导数关系 于是 4. 若互异,求 的值,这里p≤n+1. 解:,由均差对称性 可知当有 而当P=n+1时 于是得 5. 求证. 解:解:只要按差分定义直接展开得 6. 已知的函数表

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

数值计算方法》试题集及答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=5.9,则二次Newton 插值多项式中x 2系数为( 0.15 ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精度 为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表达 式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式1999 2001-

数值分析作业答案

数值分析作业答案 插值法 1、当x=1,-1,2时,f(x)=0,-3,4,求f(x)的二次插值多项式。 (1)用单项式基底。 (2)用Lagrange插值基底。 (3)用Newton基底。 证明三种方法得到的多项式是相同的。 解:(1)用单项式基底 设多项式为: , 所以: 所以f(x)的二次插值多项式为: (2)用Lagrange插值基底 Lagrange插值多项式为: 所以f(x)的二次插值多项式为: (3) 用Newton基底: 均差表如下: xk f(xk) 一阶均差二阶均差 1 0 -1 -3 3/2 2 4 7/ 3 5/6 Newton插值多项式为: 所以f(x)的二次插值多项式为: 由以上计算可知,三种方法得到的多项式是相同的。 6、在上给出的等距节点函数表,若用二次插值求ex的近似值,要使截断误差不超过10-6,问使用函数表的步长h应取多少? 解:以xi-1,xi,xi+1为插值节点多项式的截断误差,则有 式中 令得 插值点个数

是奇数,故实际可采用的函数值表步长 8、,求及。 解:由均差的性质可知,均差与导数有如下关系: 所以有: 15、证明两点三次Hermite插值余项是 并由此求出分段三次Hermite插值的误差限。 证明:利用[xk,xk+1]上两点三次Hermite插值条件 知有二重零点xk和k+1。设 确定函数k(x): 当或xk+1时k(x)取任何有限值均可; 当时,,构造关于变量t的函数 显然有 在[xk,x][x,xk+1]上对g(x)使用Rolle定理,存在及使得 在,,上对使用Rolle定理,存在,和使得 再依次对和使用Rolle定理,知至少存在使得 而,将代入,得到 推导过程表明依赖于及x 综合以上过程有: 确定误差限: 记为f(x)在[a,b]上基于等距节点的分段三次Hermite插值函数。在区间[xk,xk+1]上有 而最值 进而得误差估计: 16、求一个次数不高于4次的多项式,使它满足,,。

数值分析常用的插值方法

数值分析报告 班级: 专业: 流水号: 学号: 姓名:

常用的插值方法 序言 在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。 早在6世纪,中国的刘焯已将等距二次插值用于天文计算。17世纪之后,牛顿、拉格朗日分别讨论了等距和非等距的一般插值公式。在近代,插值法仍然是数据处理和编制函数表的常用工具,又是数值积分、数值微分、非线性方程求根和微分方程数值解法的重要基础,许多求解计算公式都是以插值为基础导出的。 插值问题的提法是:假定区间[a,b〕上的实值函数f(x)在该区间上n+1个互不相同点x0,x1……x n处的值是f(x0),……f(x n),要求估算f(x)在[a,b〕中某点的值。其做法是:在事先选定的一个由简单函数构成的有n+1个参数C0, C1,……C n的函数类Φ(C0,C1,……C n)中求出满足条件P(x i)=f(x i)(i=0,1,……n)的函数P(x),并以P(x)作为f(x)的估值。此处f(x)称为被插值函数,x0,x1,……xn 称为插值结(节)点,Φ(C0,C1,……C n)称为插值函数类,上面等式称为插值条件,Φ(C0,……C n)中满足上式的函数称为插值函数,R(x)=f(x)-P(x)称为插值余项。

求解这类问题,它有很多种插值法,其中以拉格朗日(Lagrange)插值和牛顿(Newton)插值为代表的多项式插值最有特点,常用的插值还有Hermit 插值,分段插值和样条插值。 一.拉格朗日插值 1.问题提出: 已知函数()y f x =在n+1个点01,,,n x x x L 上的函数值01,,,n y y y L ,求任意一点 x '的函数值()f x '。 说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。 2.解决方法: 构造一个n 次代数多项式函数()n P x 来替代未知(或复杂)函数()y f x =,则 用()n P x '作为函数值()f x '的近似值。 设()2012n n n P x a a x a x a x =++++L ,构造()n P x 即是确定n+1个多项式的系数 012,,,,n a a a a L 。 3.构造()n P x 的依据: 当多项式函数()n P x 也同时过已知的n+1个点时,我们可以认为多项式函数 ()n P x 逼近于原来的函数()f x 。根据这个条件,可以写出非齐次线性方程组: 20102000 20112111 2012n n n n n n n n n n a a x a x a x y a a x a x a x y a a x a x a x y ?++++=?++++=?? ? ?++++=?L L L L L 其系数矩阵的行列式D 为范德萌行列式: ()20 0021110 2111n n i j n i j n n n n x x x x x x D x x x x x ≥>≥= = -∏L L M M M M L

数值分析第二章上机题之第二题

姓名:蒋元义、学号:、专业:测绘工程 一、在区间[-1,1]上分别取10,20n =用两组等距节点对龙格函数2 1 ()125f x x =+作多项式插值及三次样条插值,对每个n 值,分别画出插值函数即()f x 的图形。 解: 当N=10时,代码及图像如下: x=-1:0.2:1; y=1./(1+25*x.^2); x1=linspace(-1,1,10); p=interp1(x,y,x1,'linear'); p1=interp1(x,y,x1,'spline'); plot(x,y,'b'); hold on plot(x1,p,'r'); hold on plot(x1,p1,'k'); legend('龙格函数','多项式插值函数','三次样条插值函数'); grid on; title('N=10的插值函数及原函数图形'); xlabel('x 轴'); ylabel('y ‘轴');

当N=20时,代码及图像如下: x=-1:0.2:1; y=1./(1+25*x.^2); x1=linspace(-1,1,20); p=interp1(x,y,x1,'linear'); p1=interp1(x,y,x1,'spline'); plot(x,y,'b'); hold on plot(x1,p,'r'); hold on plot(x1,p1,'k'); legend('龙格函数','多项式插值函数','三次样条插值函数'); grid on; title('N=20的插值函数及原函数图形'); xlabel('x轴'); ylabel('y轴');

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

数值计算方法试题集及答案要点

《数值计算方法》复习试题 一、填空题: 1、 ?? ??? ?????----=410141014A ,则A 的LU 分解为 A ? ???????? ???=????????? ?? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(, 0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求 得?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 3、1)3(,2)2(, 1)1(==-=f f f ,则过这三点的二次插值多项式中2x 的系数 为 ,拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对 1)(3++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公

数值分析第二章小结

第2章线性方程组的解法 --------学习小结 一、本章学习体会 通过本章知识的学习我首先了解到求解线性方程组的方法可分为两类:直接法和迭代法。计算机虽然运行速度很快,但面对运算量超级多的问题,计算机还是需要很长的时间进行运算,所以,确定快捷精确的求解线性方程组的方法是非常必要的。 本章分为四个小节,其中前两节Gauss消去法和直接三角分解法因为由之前《线性代数》学习的一定功底,学习起来还较为简单,加之王老师可是的讲解与习题测试,对这一部分有了较好的掌握。第三节矩阵的条件数与病态方程组,我 Ax 的系数矩阵A与左端向量b的元素往往是通首先了解到的是线性方程组b 过观测或计算而得到,因而会带有误差。即使原始数据是精确的,但存放到计算机后由于受字长的限制也会变为近似值。所以当A和b有微小变化时,即使求解过程精确进行,所得的解相对于原方程组也可能会产生很大的相对误差。对于本节的学习掌握的不是很好,虽然在课后习题中对课堂知识有了一定的巩固,但整体感觉没有很好的掌握它。第四节的迭代法,初次接触迭代法,了解到迭代法就是构造一个无线的向量序列,使他的极限是方程组的解向量。迭代法应考虑收敛性与精度控制的问题。三种迭代方法的基本思想我已经掌握了,但是在matlab 的编程中还存在很大的问题。 在本节的学习中我认为我最大的问题还是程序的编写。通过这段时间的练习,虽然掌握了一些编写方法和技巧。相比于第一章是对其的应用熟练了不少,但在程序编写上还存在很多问题。希望在以后的学习中能尽快熟练掌握它,充分发挥它强大的作用。 二、本章知识梳理

2.1、Gauss 消去法(次重点) Gauss 消去法基本思想:由消元和回代两个过程组成。 2.1.1顺序Gauss 消去法(对方程组的增广矩阵做第二种初等行变换) 定理 顺序Gauss 消去法的前n-1个主元素) (k kk a (k=1,2,```,n-1)均不为零的充分必要条件是方程组的系数矩阵A 的前 n-1个顺序主子式 )1,,2,1(0)1()1(1 ) 1(1)1(11-=≠=n k a a a a D kk k k K ΛΛM M Λ 消元过程:对于 k=1,2,···,n-1 执行 (1)如果 ,0)(=a k kk 则算法失效,停止计算,否则转入(2) 。 (2)对于i=k+1,k+2,···n,计算 a a k kk k ik k i m )() (,= n k j i m a a a k kj ik k ij k ij ,,1,,) ()() 1(Λ+=-=+ n k i m b b b k k ik k i k i ,,1,) ()() 1(Λ+=-=+ 回代过程: a b x n nn n n n ) () (/= ) (1,,2,1/)() (1 )() (?--=- =∑+=n n k a x a b x k kk j n k j k kj k k k 2.1.2 列主元素Gauss 消去法(把) (n k k i a k kj ,,1,) (?+=中绝对值最大的元素交换到第k 行的主对角线位置)(重点) 定理 设方程组的系数矩阵A 非奇异,则用列主元素Gauss 消去法求解方程组时,各个列主元素a (k=1,2,```,n-1)均不为零。 消元过程:对于 k=1,2,···,n-1 执行 (1)选行号k i ,使 )()(max k i n i k k k i k k a a ≤≤=。 (2)交换A 与b 两行所含的数值。 (3)对于i=k+1,k+2,···n,计算

数值分析实验报告1

实验一 误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对(1.1)中19x 的系数作一个小的扰动。我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b = 的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve =

相关文档
最新文档