


VIP免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、清华大学数值分析p 实验报告数值分析p 实验报告 一、 实验3.1 题目:考虑线性方程组,编制一个能自动选取主元,又能手动选取主元的求解线性代数方程组的Gauss消去过程。1取矩阵,那么方程有解。取计算矩阵的条件数。分别用顺序Gauss消元、列主元Gauss消元和完全选主元Gauss消元方法求解,结果如何? 2现选择程序中手动选取主元的功能,每步消去过程都选取模最小或按模尽可能小的元素作为主元进展消元,观察并记录计算结果,假设每步消去过程总选取按模最大的元素作为主元,结果又如何?分析p 实验的结果。3取矩阵阶数n=20或者更大,重复上述实验过程,观察记录并分析p 不同的问题及消去过程中选择不同
2、的主元时计算结果的差异,说明主元素的选取在消去过程中的作用。4选取其他你感兴趣的问题或者随机生成的矩阵,计算其条件数,重复上述实验,观察记录并分析p 实验的结果。1.算法介绍 首先,分析p 各种算法消去过程的计算公式, 顺序高斯消去法:第k步消去中,设增广矩阵中的元素假设等于零那么可以断定系数矩阵为奇异矩阵,停顿计算,那么对k行以下各行计算,分别用乘以增广矩阵的第行并加到第行,那么可将增广矩阵中第列中以下的元素消为零;重复此方法,从第1步进展到第n-1步,那么可以得到最终的增广矩阵,即;列主元高斯消去法:第k步消去中,在增广矩阵中的子方阵中,选取使得,当时,对中第行与第行交换,然后按照和顺序消
3、去法一样的步骤进展。重复此方法,从第1步进展第n-1步,就可以得到最终的增广矩阵,即;完全主元高斯消去法:第k步消去中,在增广矩阵中对应的子方阵中,选取使得,假设或,那么对中第行与第行、第列与第列交换,然后按照和顺序消去法一样的步骤进展即可。重复此方法,从第1步进展到第n-1步,就可以得到最终的增广矩阵,即;接下来,分析p 回代过程求解的公式,容易看出,对上述任一种消元法,均有以下计算公式:2.实验程序的设计 一、输入实验要求及初始条件;二、计算系数矩阵A的条件数及方程组的理论解;三、对各不同方法编程计算,并输出最终计算结果。3.计算结果及分析p 1先计算系数矩阵的条件数,结果如下, 可知系数
4、矩阵的条件数较大,故此问题属于病态问题, b或A的扰动都可能引起解的较大误差;采用顺序高斯消去法,计算结果为:最终解为_=(1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000001, 0.999999999999998, 1.000000000000004, 0.999999999999993, 1.000000000000012, 0.999999999999979, 1.000000000000028)T 使用无穷范数衡量误差,得到=2.842170943040401e-14,可以发现,采用顺序高斯
5、消元法求得的解与准确解之间误差较小。通过进一步观察,可以发现,按照顺序高斯消去法计算时,其选取的主元值和矩阵中其他元素大小相近,因此顺序高斯消去法方式并没有对结果造成特别大的影响。假设采用列主元高斯消元法,那么结果为:最终解为_=(1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.00000000000
6、0000)T 同样使用无穷范数衡量误差,有=0;假设使用完全主元高斯消元法,那么结果为 最终解_=(1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000, 1.000000000000000)T 同样使用无穷范数衡量误差,有=0;2假设每步都选取模最小或尽可能小的元素为主元,那么计算结果为 最终解_=(1.000
7、000000000000 1.000000000000000 1.000000000000000 1.000000000000001 0.999999999999998 1.000000000000004 0.999999999999993 1.000000000000012 0.999999999999979 1.000000000000028)T 使用无穷范数衡量误差,有为2.842170943040401e-14;而完全主元消去法的误差为=0。从1和2的实验结果可以发现,列主元消去法和完全主元消去法都得到了准确解,而顺序高斯消去法和以模尽量小的元素为主元的消去法没有得到准确解。在后两种消
8、去法中,由于程序计算时的舍入误差,对最终结果产生了一定的影响,但由于方程组的维度较低,并且元素之间相差不大,所以误差仍比拟小。为进一步分析p ,计算上述4种方法每步选取的主元数值,并列表进展比拟,结果如下:第n次消元 顺序 列主元 完全主元 模最小 1 6.000000000000000 8 8 6.000000000000000 2 4.666666666666667 8 8 4.666666666666667 3 4.285714285714286 8 8 4.285714285714286 4 4.133333333333333 8 8 4.133333333333333 5 4.064
9、516129032258 8 8 4.064516129032258 6 4.031746031746032 8 8 4.031746031746032 7 4.015748031496063 8 8 4.015748031496063 8 4.007843137254902 8 8 4.007843137254902 9 4.013894324853 8 8 4.013894324853 10 4.001955034213099 0.015617370605469 0.015617370605469 4.001955034213099 从上表可以发现,对这个方程组而言,顺序高斯消去选取的主元
10、恰好事模尽量小的元素,而由于列主元和完全主元选取的元素为8,与4在数量级上差异小,所以计算过程中的累积误差也较小,最终4种方法的输出结果均较为准确。在这里,详细解释一下顺序法与模最小法的计算结果完全一致的原因。该矩阵在消元过程中,每次选取主元的一列只有两个非零元素,对角线上的元素为4左右,而其正下方的元素为8,该列其余位置的元素均为0。在这样的情况下,默认的主元也就是该列最小的主元,因此两种方法所得到的计算结果是一致的。理论上说,完全高斯消去法的误差最小,其次是列主元高斯消去法,而选取模最小的元素作为主元时的误差最大,但是由于方程组的特殊性元素相差不大并且维度不高,这个理论现象在这里并没有充分
11、表达出来。3时,重复上述实验过程,各种方法的计算结果如下所示,在这里,仍采用无穷范数衡量绝对误差。顺序高斯消去法 列主元高斯消去 完全主元高斯消去 选取模最小或尽可能小元素作为主元消去 _ 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000001 0.999999999999998 1.000000000000004 0.999999999999993 1.000000000000014 0.999999999999972 1.000000000000057 0.999999999999886 1.00000
12、0000000227 0.999999999999547 1.000000000000902 0.999999999998209 1.000000000003524 0.999999999993179 1.000000000012732 0.999999999978173 1.000000000029102 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000
13、000001 0.999999999999998 1.000000000000004 0.999999999999993 1.000000000000014 0.999999999999972 1.000000000000057 0.999999999999886 1.000000000000227 0.999999999999547 1.000000000000902 0.999999999998209 1.000000000003524 0.999999999993179 1.000000000012732 0.999999999978173 1.000000000029102 2.910
14、205409989430e-11 0 0 2.910205409989430e-11 可以看出,此时列主元和完全主元的计算结果仍为准确值,而顺序高斯消去和模尽可能小方法仍然产生了一定的误差,并且两者的误差一致。与n=10时候的误差比相比,n=20时的误差增长了大约1000倍,这是由于计算过程中舍入误差的不断累积所致。所以,假如进一步增加矩阵的维数,应该可以看出更明显的现象。4不同矩阵维度下的误差如下,在这里,为方便起见,选取2-条件数对不同维度的系数矩阵进展比拟。维度 条件数 顺序消去 列主元 完全主元 模尽量小 1.7e+3 2.84e-14 0 0 2.84e-14 1.8e+6 2.91
15、e-11 0 0 2.91e-11 5.7e+7 9.31e-10 0 0 9.31e-10 1.8e+9 2.98e-08 0 0 2.98e-08 1.9e+12 3.05e-05 0 0 3.05e-05 3.8e+16 3.28e+04 3.88e-12 3.88e-12 3.28e+04 8.5e+16 3.52e+13 4.2e-3 4.2e-3 3.52e+13 从上表可以看出,随着维度的增加,不同方法对计算误差的影响逐渐表达,并且增长较快,这是由于舍入误差逐步累计而造成的。不过,方法二与方法三在维度小于40的情况下都得到了准确解,这两种方法的累计误差远比方法一和方法四慢;同样地
16、,出于与前面一样的原因,方法一与方法四的计算结果保持一致,方法二与方法三的计算结果保持一致。4.结论 本文矩阵中的元素差异不大,模最大和模最小的元素并没有数量级上的差异,因此,不同的主元选取方式对计算结果的影响在维度较低的情况下并不明显,四种方法都足够准确。比照四种方法,可以发现采用列主元高斯消去或者完全主元高斯消去法,可以尽量抑制误差,算法最为准确。不过,对于低阶的矩阵来说,四种方法求解出来的结果误差均较小。另外,由于完全选主元方法在选主元的过程中计算量较大,而且可以发现列主元法已经可以到达很高的准确程度,因此在实际计算中可以选用列主元法进展计算。附录:程序代码 clear clc; format long; 方法选择 n=input(矩阵A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽省高考化学试卷真题(含答案解析)
- 环境灾害应急响应与救援重点基础知识点归纳
- 炸鸡店的网红菜品
- 中式快餐的文化传承与风味传统
- 肯德基炸鸡的特色菜品
- 元旦的风俗国潮风与幼儿故事
- 护理中的卫生与清洁
- 护理实践中的卫生与健康管理
- 肯德基 忠实顾客与忠诚度管理
- 保险公司献爱心活动方案
- T/BCEA 003-2022数字工程装配式混凝土结构智慧工地建设导则
- 纳米技术在靶向药物delivery中的创新应用-洞察阐释
- 2025-2030中国反刍饲料行业市场现状分析及竞争格局与投资发展研究报告
- 四川省绵阳市三台县2023-2024学年八年级下学期语文期末试卷(含答案)
- 口译人员保密协议书
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读
- 多重耐药菌病人的处理流程
- 《常见性病防治知识》课件
- 船舶消防知识试题及答案
- 广东省深圳市2025年中考模拟历史试题四套附参考答案
- 2025年安全生产月主题宣贯课件
评论
0/150
提交评论