数值分析思考题11、讨论绝对误差(限)、相对误差(限)与有效数字之间的关系。2、相对误差在什么情况下可以用下式代替?3、查阅何谓问题的“病态性”,并区分与“数值稳定性”的不同点。4、取,计算,下列方法中哪种最好?为什么?(1)3322,(2)2752,(3)31322,(4)6121,(5)99702数值实验数值实验综述:线性代数方程组的解法是一切科学计算的基础与核心问题。求解方法大致可分为直接法和迭代法两大类。直接法——指在没有舍入误差的情况下经过有限次运算可求得方程组的精确解的方法,因此也称为精确法。当系数矩阵是方的、稠密的、无任何特殊结构的中小规模线性方程组时,Gauss消去法是目前最基本和常用的方法。如若系数矩阵具有某种特殊形式,则为了尽可能地减少计算量与存储量,需采用其他专门的方法来求解。Gauss消去等同于矩阵的三角分解,但它存在潜在的不稳定性,故需要选主元素。对正定对称矩阵,采用平方根方法无需选主元。方程组的性态与方程组的条件数有关,对于病态的方程组必须采用特殊的方法进行求解。数值计算方法上机题目11、实验1.病态问题实验目的:算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。问题提出:考虑一个高次的代数多项式rexxexx2141.621201)()20)...(2)(1()(kkxxxxxp(E1-1)显然该多项式的全部根为l,2,…,20,共计20个,且每个根都是单重的(也称为简单的)。现考虑该多项式方程的一个扰动0)(19xxp(E1-2)其中是一个非常小的数。这相当于是对(E1-1)中19x的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。实验内容:为了实现方便,我们先介绍两个Matlab函数:“roots”和“poly”,输入函数u=roots(a)其中若变量a存储1n维的向量,则该函数的输出u为一个n维的向量。设a的元素依次为121,...,,naaa,则输出u的各分量是多项式方程0...1121nnnnaxaxaxa的全部根,而函数b=poly(v)的输出b是一个n+1维变量,它是以n维变量v的各分量为根的多项式的系数。可见“roots”和“Poly”是两个互逆的运算函数.ve=zeros(1,21);ve(2)=ess;roots(poly(1:20))+ve)上述简单的Matlab程序便得到(E1-2)的全部根,程序中的“ess”即是(E1-2)中的。实验要求:(1)选择充分小的ess,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数很小,我们自然感觉(E1-1)和(E1-2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何?(2)将方程(E1-2)中的扰动项改成18x或其他形式,实验中又有怎样的现象出现?(3)请从理论上分析产生这一问题的根源。注意我们可以将方程(E1-2)写成展开的形式,0...),(1920xxxp同时将方程的解x看成是系数的函数,考察方程的某个解关于的扰动是否敏感,与研究它关于的导数的大小有何关系?为什么?你发现了什么现象,哪些根关于的变化更敏感?2、实验2。多项式插值的振荡现象,即插值的龙格(Runge)现象问题提出:考虑在一个固定的区间上用插值逼近一个函数。显然,拉格朗日插值中使用的节点越多,插值多项式的次数就越高、自然关心插值多项式的次数增加时,)(xLn是否也更加靠近被逼近的函数。龙格给出的一个例子是极著名并富有启发性的。设区间]1,1[上函数22511)(xxf实验内容:考虑区间]1,1[的一个等距划分,分点为ninixi,...,2,1,0,21则拉格朗日插值多项式为niiinxlxxL02)(2511)(其中的)(xli,ni,...,2,1,0是n次拉格朗日插值基函数。实验要求:(l)选择不断增大的分点数目,...3,2n,画出原函数)(xf及插值多项式函数)(xLn在]1,1[上的图像,比较并分析实验结果。(2)选择其他的函数,例如定义在区间[-5,5]上的函数xxgxxxharctan)(,1)(4重复上述的实验看其结果如何。(3)区间],[ba上切比雪夫点的定义为1,...,2,1,)1(2()12(cos22nknkababxk以121,...,,nxxx为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果。3、实验3。样条插值的收敛性问题提出:一般的多项式插值不能保证收敛性,即插值的节点多,效果不一定就好。对样条函数插值又如何呢?理论上证明样条插值的收敛性是比较困难的,也超出了本课程的内容。通过本实验可以验证这一理论结果。实验内容:请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。考虑实验2.中的函数或选择其它你有兴趣的函数,可以用Matab的函数“spline”作此函数的三次样条插值。在较新版本的Matlab中,还提供有spline工具箱,你可以找到极丰富的样条工具,包括B-样条。实验要求:(1)随节点个数增加,比较被逼近函数和样条插值函数误差变化情况。分析所得结果并与拉格朗目多项式插值比较。(2)样条插值的思想最早产生于工业部门。作为工业应用的例子,考虑如下问题:某汽车制造商用三次样条插值设计车门的曲线,其中一段的数据如下:kx012345678910ky0.00.791.532.192.713.033.272.893.063.193.29'ky0.80.2(3)计算此实验的B-样条插值(选做)。数值计算方法(二)1、利用Newton方法和Muller(抛物线)方法计算下列方程2260()cos()xxfxex在区间13[,]上的实根,要求精度为510,并比较迭代次数。2、用Gauss列主元消去法求解下列方程组1234622401284101031333396421816xxxx3、用改进的平方根(TALDL分解)法求解下列方程组1234540602120130266319263600255222651621xxxxx实验一一、实验名称:矩阵的LU分解.二、实验目的:用不选主元的LU分解和列主元LU分解求解线性方程组Ax=b,并比较这两种方法.三、实验内容与要求(1)用所熟悉的计算机语言将不选主元和列主元LU分解编成通用的子程序,然后用编写的程序求解下面的84阶方程组将计算结果与方程组的精确解进行比较,并就此谈谈你对Gauss消去法的看法。(2)写出追赶法求解三对角方程组的过程,并编写程序求该实验中的方程组实验二一、实验名称:实对称正定矩阵的A的Cholesky分解.二、实验目的:用平方根法和改进的平方根方法求解线性方程组Ax=b.三、实验内容与要求用所熟悉的计算机语言将Cholesky分解和改进的Cholesky分解编成通用的子程序,然后用编写的程序求解对称正定方程组Ax=b,其中(1)b随机的选取,系数矩阵为100阶矩阵(2)系数矩阵为40阶Hilbert矩阵,即系数矩阵A的第i行第j列元素为,向量b的第i个分量为(3)用实验一的程序求解这两个方程组,并比较所有的计算结果,然后评价各个方法的优劣。实验三实验名称:直接法的时间复杂性试验。实验目的:分别用三种不同方法求解线性方程组Ax=b,不同工作量得出不同时间。实验内容与要求:生成方程组bAx中矩阵A和右端项b,分别用\xAb,()*xinvAb和三角分解法计算,并分别记录所花费的CPU时间,进行分析比较。实验要求:(1)取300n,随机生成A的一条主对角线元素和二条次对角线元素,使A为严格对角占优的三对角阵和b;其中三条对角线元素分别用三个一维数组存储;(2)用Matlab语言自编M文件分别用\xAb,()*xinvAb和追赶法计算这三对角方程组;并分别记录所花费的CPU时间;(3)分析结果,得出你的结论。数值分析思考题41、Gauss消去法和LU三角分解法解线性方程组的工作量相同吗?工作量为多少?平方根方法的工作量为多少?2、求解一个线性方程的LU分解法什么条件下可以保障成功?选主元的目的是什么?分别用列主元和全主元Gauss消去法求解下列方程组:615318153312321321321xxxxxxxxx3、用平方根方法(Cholesky分解法)求解下列方程组,并用紧凑格式存储。103422484548416321xxx4、已知线性方程组122.00021.999841.99982.00024xx(1)求系数矩阵的逆1A和条件数()condA;(2)若方程组右端有微小扰动44210,210Tb,不用求解方程组,试利用解与系数扰动之间的关系式来估计解的相对变化率。数值分析思考题51、插值与拟合的相同点和不同点分别是什么?2、写出n次多项式拟合的一般形式,奇函数和偶函数的多项式拟合的一般形式。3、详述你所知道的矩阵分解,它们的意义如何?4、超定(矛盾)线性方程组的最小二乘解有哪些情况?说明它与广义逆的关系。5、给出各种正交化方法的优劣比较。6、用Householder变换求解下列线性方程组的极小最小二乘解12341124412355134661457715689xxxx实验一1.根据Matlab语言特点,描述Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法。2.编写Jacobi迭代法、Gauss-Seidel迭代法和SOR迭代法的M文件。3.给定2020RA为五对角矩阵321412132141412132141412132141412132141213(1)选取不同的初始向量)0(x及右端面项向量b,给定迭代误差要求,分别用编写的Jacobi迭代法和Gauss-Seidel迭代法程序求解,观察得到的序列是否收敛?若收敛,通过迭代次数分析计算结果并得出你的结论。(2)用编写的SOR迭代法程序,对于(1)所选取的初始向量)0(x及右端面项向量b进行求解,松驰系数ω取1ω2的不同值,在5)1()(10kkxx时停止迭代,通过迭代次数分析计算结果并得出你的结论。实验二题目:多项式最小二乘法摘要:对于具体实验时,通常不是先给出函数的解析式,再进行实验,而是通过实验的观察和测量给出离散的一些点,再来求出具体的函数解析式。又因为测量误差的存在,实际真实的解析式曲线并不一定通过测量给出的所有点。最小二乘法是求解这一问题的很好的方法,本实验运用这一方法实现对给定数据的拟合。数学原理:对于给定的测量数据(xi,fi)(i=1,2,…,n),设函数分布为mjjjxaxy0)()(特别的,取)(xj为多项式jjxx)((j=0,1,…,m)则根据最小二乘法原理,可以构造泛函nimjijjimxafaaaH1010))((),,,(