数值计算方法试验分析报告_第1页
数值计算方法试验分析报告_第2页
数值计算方法试验分析报告_第3页
数值计算方法试验分析报告_第4页
数值计算方法试验分析报告_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、个人收集整理-仅供参考重庆交通大学学生实验报告实验课程名称数值计算方法开课实验室数学实验室学 院理学院年级专业班信息与计算科学学生姓名李伟凯学号开课时间 至 学年第 学期评分细则评分报告表述的清晰程度和完整性(分)程序设计的正确性(分)实验结果的分析(分)实验方法的创新性(分)总成绩教师签名邹昌文实验五解线性方程组的直接方法实验(主元的选取与算法的稳定性)问题提出:消去法是我们在线性代数中已经熟悉的。但由于计算机的数值 运算是在一个有限的浮点数集合上进行的,如何才能确保消去法作为数值算法的 稳定性呢?消去法从理论算法到数值算法, 其关键是主元的选择。主元的选择从 数学理论上看起来平凡,它却是数

2、值分析中十分典型的问题。实验内容:考虑线性方程组Ax =b, A Rn n,b Rn1 / 29个人收集整理-仅供参考编制一个能自动选取主元,又能手动选取主元的求解线性方程组的消去过 程。6 18 61()取矩阵A=|18 6I8实验要求:715.一 、 一一 .,一*丁一,b=广,则万程有解x =(1,1,,1)。取1卜56J J4J计算矩阵的条件数。让程序自动选取主元,结果如何?()现选择程序中手动选取主元的功能。每步消去过程总选取按模最小或 按模尽可能小的元素作为主元,观察并记录计算结果。若每步消去过程总选取按 模最大的元素作为主元,结果又如何?分析实验的结果。()取矩阵阶数或者更大,重

3、复上述实验过程,观察记录并分析不同的问 题及消去过程中选择不同的主元时计算结果的差异, 说明主元素的选取在消去过 程中的作用。()选取其他你感兴趣的问题或者随机生成矩阵,计算其条件数。重复上 述实验,观察记录并分析实验结果。实验(线性代数方程组的性态与条件数的估计)问题提出:理论上,线性代数方程组 Ax = b的摄动满足IIM v con(dA) 他A 十网 , W1-|a1IHIIW bTj矩阵的条件数确实是对矩阵病态性的刻画,但在实际应用中直接计算它显 然不现实,因为计算|A。通常要比求解方程Ax = b还困难实验内容:中提供有函数可以用来估计矩阵的条件数,它给出的是按范数的条件数。首先构

4、造非奇异矩阵和右端,使得方程是可以精确求解的。再人为地引进系数矩阵和右端的摄动 AA和Ab ,使得HA和Qb|充分小。实验要求:()假设方程的解为,求解方程(A + AA)5?=b+Ab ,以范数,给出()选择一系列维数递增的矩阵(可以是随机生成的),比较函数所需 机器时间的差别.考虑若干逆是已知的矩阵,借助函数“ ”很容易给出()的数值。 将它与函数“()”所得到的结果进行比较。 x一()利用“"给出矩阵条件数的估计,针对()中的结果给出胃 的理论x估计,并将它与()给出的计算结果进行比较,分析所得结果。注意,如果给出 了 ()和间的估计,马上就可以给出IA的估计。2 / 29个人

5、收集整理-仅供参考()估计著名的矩阵的条件数。H =(hi,j)nn, hi,j-1i,j =12 ,n思考题一:(矩阵)设一1XoXn IX12X1X2nX1nX2XnnXn其中,Xk =1 0.1k,k =0,1,n,n,、X0i -0nv x1i =0n、x2i z0()对,计算的条件数;随增大,矩阵性态如何变化?()对,解方程组;设的最后一个元素有扰动,再求解()计算()扰动相对误差与解的相对偏差,分析它们与条件数的关系。()你能由此解释为什么不用插值函数存在定理直接求插值函数而要用拉格朗日 或牛顿插值法的原因吗?相关函数提示:() 生成行,列的零矩阵() 生成行,列的元素全为的矩阵(

6、)生成阶单位矩阵()生成行列()上均匀分布的随机矩阵()返回由向量的元素构成的对角矩阵()提取矩阵的下三角部分生成下三角矩阵()提取矩阵的上三角部分生成上三角矩阵() 返回矩阵的秩()返回方阵的行列式()返回可逆方阵的逆矩阵,()返回方阵的特征值和特征向量()矩阵或向量的范数()矩阵的条件数,()选列主元分解()平方根分解()生成阶矩阵实验程序:文件程序为:()('请输入矩阵的阶数)(*()()(*()*()('条件数对应的范数是范数:')3 / 29个人收集整理-仅供参考() (); (' 请输入是否为手动,手动输入,自动输入:')();( ,:)(

7、,:)();(' 输入列所选元素所处的行数:');( ,:)( ,:)();();()()()*();();()()()();()()()*()();()取矩阵的阶数,自动选取主元:>>>>请输入矩阵的阶数条件数对应的范数是范数: 请输入是否为手动,手动输入,自动输入:取矩阵的阶数,手动选取主元:选取绝对值最大的元素为主元:>>请输入矩阵的阶数条件数对应的范数是范数:4 / 29个人收集整理-仅供参考请输入是否为手动,手动输入,自动输入:选取绝对值最小的元素为主元:>>请输入矩阵的阶数条件数对应的范数是范数:请输入是否为手动,手动

8、输入,自动输入:()取矩阵的阶数,手动选取主元:选取绝对值最大的元素为主元:>>请输入矩阵的阶数条件数对应的范数是范数:请输入是否为手动,手动输入,自动输入:选取绝对值最小的元素为主元:>>请输入矩阵的阶数条件数对应的范数是范数:请输入是否为手动,手动输入,自动输入:5 / 29个人收集整理-仅供参考()取矩阵的阶数,手动选取主元: 选取绝对值最大的元素为主元:>>请输入矩阵的阶数条件数对应的范数是范数: 选取绝对值最小的元素为主元:>>请输入矩阵的阶数.条件数对应的范数是范数: 请输入是否为手动,手动输入,自动输入:()该题目的程序如下所示()

9、(' 请输入矩阵的阶数')()*()(' 条件数对应的范数是范数:')()(); (' 请输入是否为手动,手动输入,自动输入:')();( ,:)( ,:)();6 / 29个人收集整理-仅供参考(' 输入列所选元素所处的行数:');( ,:)( ,:)();();()()()*();();()()()();()()()*()();>>请输入矩阵的阶数:7 / 29个人收集整理-仅供参考请输入是否为手动,手动输入,自动输入:条件数对应的范数是范数:显然的是,该问题在主元选取与算出结果有着很大的关系,取绝对值大的 元素作

10、为主元比取绝对值小的元素作为主元时产生的结果比较准确,即选取绝对值小的主元时结果产生了较大的误差,条件数越大产生的误差就越大实验体会:运用高斯消去法求解线性方程组问题的时候,主元的选取和相应的消去法 的选取决定了该算法的稳定性,选取绝对值大的元素比选取绝对值比较小的元素 作为主元时对结果产生的误差影响比较小。 并且增加条件数反而对结果的误差产 生更大的影响。并且在运算中要尽量避免出现运用小数作为除数, 使数量级加大, 令大数吃掉小数的情况发生。实验(线性代数方程组的性态与条件数的估计)问题提出:理论上,线性代数方程组 Ax = b的摄动满足co n(dA) A金b 不耐胸IM矩阵的条件数确实是

11、对矩阵病态性的刻画,但在实际应用中直接计算它显然不现实,因为计算| A。通常要比求解方程Ax = b还困难。实验内容:中提供有函数可以用来估计矩阵的条件数,它给出的是按 范数的条件数。首先构造非奇异矩阵和右端,使得方程是可以精确求解的。再人 为地引进系数矩阵和右端的摄动 &A和Ab ,使得|QA和|Ab|充分小。实验要求:()假设方程的解为,求解方程(A + AA)5?=b十Ab ,以范数,给出()选择一系列维数递增的矩阵(可以是随机生成的),比较函数所需 机器时间的差别.考虑若干逆是已知的矩阵,借助函数“ ”很容易给出()的数值。 将它与函数“()”所得到的结果进行比较。8 / 29

12、个人收集整理-仅供参考()利用“"给出矩阵条件数的估计,针对()中的结果给出 国 的理论 x估计,并将它与()给出的计算结果进行比较,分析所得结果。注意,如果给出了 ()和帕的估计,马上就可以给出 A1的估计。()估计著名的矩阵的条件数。1H - (hi, j )n n,hi,j, i,j =12 , nI j -1程序代码:保存文件名为:('')(*()()*()*()*()()()保存文件名为:()();();()()()*();();()()();()()()*()();保存文件名为:()'*;;();();()*()9 / 29个人收集整理-仅供参考保

13、存文件为:(*();()()()保存文件为:(' ') 输入矩阵的阶数(*();随机生成一个矩阵();假设知道方程组的解全为;()*;()*;();()()()()*()*()()()()()()(); () () ()实验结果及其分析:()>>10 / 29个人收集整理-仅供参考11 / 29个人收集整理-仅供参考然Q =1. 2559067110E4392e-006A券=%x的计算结果为: x x12 / 29个人收集整理-仅供参考()()给出对用=%的估计是 x x网 h-xii的理论结果是:结果相差:()13 / 29个人收集整理-仅供参考讨论:线性代数方程

14、组的性态与条件数有着很重要的关系,既矩阵的条件数是刻画 矩阵性质的一个重要的依据,条件数越大,矩阵“病态”性越严重,在解线性代 数方程组的过程中较容易产生比较大的误差,则在实际问题的操作过程中,我们 必须要减少对条件数来求解,把条件数较大的矩阵化成条件数较小的矩阵来进行 求解。实验体会:在本次实验中,使我们知道了矩阵条件数对线性代数方程组求解的影响, 条 件数越大,对最后解的影响的越大,矩阵是一个很 “病态”的矩阵,他的条件数随 着阶数的增加而增大,每增加一阶,条件数就增大一个数量级,在求解的过程中 要尽量避免矩阵实验六 解线性方程组的迭代法实验(病态的线性方程组的求解)问题提出:理论的分析表

15、明,求解病态的线性方程组是困难的。实际情况 是否如此,会出现怎样的现象呢?实验内容:考虑方程组的求解,其中系数矩阵为矩阵,,1. . _H =(hi,j)nn, hi,j, I, j =1,2, ,n j -1这是一个著名的病态问题。通过首先给定解(例如取为各个分量均为)再 计算出右端的办法给出确定的问题。实验要求:()选择问题的维数为,分别用消去法、迭代法、迭代法和迭代法求解方 程组,其各自的结果如何?将计算结果与问题的解比较,结论如何?()逐步增大问题的维数,仍然用上述的方法来解它们,计算的结果如何? 计算的结果说明了什么?14 / 29个人收集整理-仅供参考()讨论病态问题求解的算法程序

16、代码:消去法程序:()('请输入矩阵的阶数')()构造矩阵('条件数对应的范数是范数:')()(); ('请输入是否为手动,手动输入,自动输入:')();( ,:)( ,:)();('输入列所选元素所处的行数:');( ,:)( ,:)();();()()()*();();()()()();()()()*()();迭代法程序:('系数矩阵的阶数:');()构造矩阵;(); 给定解();*' 由给定的解算出相应的15 / 29个人收集整理-仅供参考进行迭代;()()();()()()*()();()()()*

17、()();迭代程序:('系数矩阵的阶数:');对题中给定的矩阵进行消元();();();()()();()()()*()();()()()*()();迭代程序:('系数矩阵的阶数:');('松弛因子:');对题中给定的矩阵进行消元();();();*16 / 29个人收集整理-仅供参考5();()()();()()()*()();()()()*()();()()*();实验结果及其分析:给定各分量为的解,计算出右端作为问题。1 .选择问题的维数为时:用消去法求得的解与精确解一致;取初始向量为,用迭代方法迭代出现发散的不稳定现象,无法求解;取初始向

18、量为,用迭代方法迭代不发散, 能求得解,但收敛非常缓慢,当迭代次数取得相当大(次)时解仍在精确解附近波动;取初始向量为,用迭代方法迭代不发散, 能求得解,当松弛因子去左右时收敛较迭代快一些,但仍非常缓慢。2 .选择问题的维数为时:用消去法求得的解与精确解相差很大,相差的量级。取初始向量为,用迭代方法迭代发散,无法求解;取初始向量为,用迭代方法迭代不发散,能求得解,但收敛非常缓慢,迭代次后,算得的值与精确值相差的量级。取初始向量为,用迭代方法迭代不发散,能求得解,但收敛非常缓慢。从上面的结果可以看出当病态问题的阶数升高时作为直接法的消去法又能求解变成不能求解。而和迭代法在阶数升高时仍能求解。但在

19、阶数较低时直接法能求得精确解而迭代发却总存在一定的误差。可见直接法与迭代法各有各的优势与不足。关于病态问题的求解,主要的方法是对原方程作某些预处理,以降低系数矩阵的条件数。可以采取将系数矩阵的每一行本别乘上适当常数的方法。即找到可逆的对角阵 口1和口2使方程组 Ax = b化为 DADzy =Dib,x = D2,y理论上最好选择对角阵工,52满足:cond ( D aD2) = min cond( D AD)实验七非线性方程求根实验(迭代法、初始值与收敛性)实验目的:初步认识非线性问题的迭代法与线性问题迭代法的差别,探讨迭代法及初始值与迭代收敛性的关系。问题提出:迭代法是求解非线性方程的基本

20、思想方法,与线性方程的情况一样,17 / 29个人收集整理-仅供参考其构造方法可以有多种多样,但关键是怎样才能使迭代收敛且有较快的收敛速 度。实验内容:考虑一个简单的代数方程2x -x -1 =0针对上述方程,可以构造多种迭代法,如2Xn 1 =Xn -1(7.1),1厂Xn 1 =1 (7.2)xnXn 1 = . xn,1(7-3)在实轴上取初始值,请分别用迭代()()作实验,记录各算法的迭代过程。实验要求:()取定某个初始值,分别计算()()迭代结果,它们的收敛性如何?重复选 取不同的初始值,反复实验。请自选设计一种比较形象的记录方式(如利用的图 形功能),分析三种迭代法的收敛性与初值选

21、取的关系。()对三个迭代法中的某个,取不同的初始值进行迭代,结果如何?试分析迭代 法对不同的初值是否有差异?()线性方程组迭代法的收敛性是不依赖初始值选取的。比较线性与非线性问题迭代的差异,有何结论和问题。实验过程:程序:对于第一个迭代方程的程序:保存为:;(请输入第一个函数的初值:');();计算直线();计算迭代函数();口;(,'')('','')('()()F')输出标题(,''口,'')()画坐标轴口;画蛛网图,迭代过程为次()(); 决定始点坐标18 / 29个人收集整理-仅供参

22、考()();()();();<决定终点坐标画蛛网图按任意键逐次观察前次迭代的蛛网图()();();将本次迭代的终点作为下次的始点保存迭代点保存为:() (.*);保存为:() 画一次迭代的蛛网图,改变调节箭头的大小画出始点()() 终点 ()() 的有向折线段()()()();()();() ();() ();();(, '' , '');()()()();()();() (),() ();(, '' , '');() () (),() () (),对于第一个迭代方程的程序运行结果:(注:由于可以估计出方程的根,故选取根附近

23、的值开始迭代)当时程序运行如下图:19 / 29个人收集整理-仅供参考当时程序运行如下图:当时程序运行如下图:20 / 29个人收集整理-仅供参考当时程序运行如下图:当时程序运行如下图:21 / 29个人收集整理-仅供参考对于第二个迭代方程的程序: 保存为:;(请输入第二个函数的初值:);();计算直线();计算迭代函数();口;(,'')('','')('()()') 输出标题(,''口,'')(口)画坐标轴口;画蛛网图,迭代过程为次()();决定始点坐标()();决定终点坐标()();();画蛛

24、网图<按任意键逐次观察前次迭代的蛛网图22 / 29个人收集整理-仅供参考()(); 将本次迭代的终点作为下次的始点();保存迭代点 保存为迭代:()();保存为:()画一次迭代的蛛网图,改变调节箭头的大小 ()()()();画出始点()()终点()()的有向折线段 ()();()();()();();(,”,”); ()()()();()();()(),()();(,”,”);()()(),()()(),'')对于第二个迭代方程的程序运行结果:(注:由于可以估计出方程的根,故选取根附近的值开始迭代) 当时程序运行如下图:23 / 29当时程序运行如下图:个人收集整理-仅

25、供参考当时程序运行如下图:当时程序运行如下图:24 / 29个人收集整理-仅供参考对于第三个迭代方程的程序: 保存为:;(请输入第三个函数的初值:);();计算直线();计算迭代函数();口;(,'')('','')('()()') 输出标题(,''口,'')(口)画坐标轴口;画蛛网图,迭代过程为次()();决定始点坐标()();决定终点坐标()();();画蛛网图<按任意键逐次观察前次迭代的蛛网图25 / 29个人收集整理-仅供参考()();();将本次迭代的终点作为下次的始点保存迭代点保存

26、为:()();保存为:()画一次迭代的蛛网图,改变调节箭头的大小 ()()()();画出始点()()终点()()的有向折线段 ()();()();()();();(,”,”); ()()()();()();()(),()();(,','');()()(),()()(),'')对于第三个迭代方程的程序运行结果:(注:由于可以估计出方程的根,故选取根附近的值开始迭代)当时程序运行如下图:26 / 29当时程序运行如下图:个人收集整理-仅供参考当时程序运行如下图:当时程序运行如下图:27 / 29个人收集整理-仅供参考当时程序运行如下图:实验要求一分析:28 / 29个人收集整理-仅供参考通过上述三种迭代图像可以判断出第一个迭代方程不收敛

温馨提示

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

评论

0/150

提交评论