- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
0线性方程的数值解法讲解
姓名评分实验报告实验报告课程名称:数值分析课题名称:线性方程的数值解法专业:姓名:班级:实验报告一、实验名称线性方程的数值解法二、实验目的掌握解线性方程的直接法,并编程实现LU分解、三角分解和追赶法;掌握解线性方程的迭代法,分析比较雅可比迭代和赛德尔迭代的特点;理解不同对松弛迭代法的影响;学会比较解线性方程的各种算法.三、实验要求编程实现LU分解、三角分解和追赶法并比较其特点;利用不同实验体验各种线性方程解法的特性.四、实验原理矩阵的LU分解法:设方程组Ax=b的系数矩阵非奇异,且各阶顺序主子,则矩阵A可以分解为:A=LU;三角分解法:若A为对称正定阵,则可以把A分解为:A=G或A=LD;;:(2)雅可比迭代法:将线性方程组改写为:或矩阵迭代形式:A = D + L + U;赛德尔迭代法:或:令A = D + L + U;得到:D令则:赛德尔迭代格式为:松弛迭代法:令则松弛你迭代法的矩阵形式为:五、实验题目A=,A(i,i)=i,其余元素为1,A为对称正定阵;b=[n,n+1,……,2n-1];x=[1,1……,1];利用Ax=b来检验LU分解、G分解、LD分解的正确性和运行时间比较;A=; b=;精确解为x=利用上式来检验LU分解法是否会因为小主元导致计算失败;A=; b= ;精确解为x=;利用上式检验雅可比迭代、赛德尔迭代的收敛速度及运行时间,同时比较这两种格式中使用迭代矩阵对运行时间的影响;利用(3)中的式子检验不同w对松弛迭代法的影响;利用(3)中方程组研究初值对收敛速度的影响;利用(1)中方程组(A为非稀疏对称正定阵)比较直接法和迭代法的效率,再用对角阵(稀疏对称正定阵)比较两者的效率;六、实验步骤构造不同阶数的对称正定阵A,输入b,比较直接法中各种算法的特点;构造不同阶数的对称正定阵A及稀疏和非稀疏矩阵,比较迭代法的各种特点;七、实验整体流程图或算法八、程序及其运行结果追赶法、LU分解、G分解、LD分解的结果和运行时间比较:图1:追赶法程序和结果图2:LU分解、G分解、LD分解的程序和结果表1:三种分解法的运行时间方阵阶数41080200500G0.0005250.0004220.0073180.0638390.437008LU0.0003250.0006210.0054160.1512881.398261LD0.0003550.0007530.0090130.0446190.517839结论(1):当对称正定阵A的阶数较小时,LU分解、G分解、LD分解的速度差不多,但当A的阶数达到200以上时,LU分解法的效率远低于三角分解法,所以三角分解法最适合用于对称正定阵;小主元的影响:对题目(2),若直接按照高斯消去法,则x=[-0.49,-0.05113,0.3678;但LU分解的结果为:图3:小主元的LU分解在用另一个例子来验证:A=;b=;用高斯消去法得x=,实际精确解x=;利用LU分解法得:结论(2): LU分解不存在小主元的问题;雅可比和赛德尔迭代格式的收敛速度:图4:雅可比迭代和赛德尔迭代的程序表3:雅可比和赛德尔迭代法的比较精度ntntntnt雅可比400.001416520.001225640.000656760.002606赛德尔200.000354260.000906320.000385380.001920从上表可以发现,雅可比格式的迭代次数刚好是赛德尔的二倍,利用:A=; b= ;来验证:图5:验证雅可比迭代和赛德尔迭代次数间的关系表明两倍关系只是一个偶然,雅可比迭代次数和赛德尔迭代次数没有必然联系;结论(3):赛德尔迭代法收敛速度快于雅可比迭代法;验证迭代矩阵的影响:由于赛德尔格式对A为对称正定阵时一定收敛,而高阶对称正定矩阵易于构造,所以以赛德尔格式为例,研究迭代法的矩阵形式是否更快:表4:A的阶数和迭代精度及赛德尔迭代形式对运行时间的影响方阵阶度赛德尔普通形式0.0015220.0072470.0188280.0258180.2210320.242722赛德尔矩阵形式0.0011890.0044940.0120330.0127550.2817970.290150结论(4):矩阵形式的迭代法效率在A为100阶附近是略高于普通形式,可能与MATLAB对矩阵运算做了优化有关,且矩阵形式在MATLAB中易于编程实现,但若用其它语言编程时,由于矩阵求逆比较麻烦,所以无论是编程效率还是运行效率都可能会比普通形式更低;因此迭代法的矩阵形式算法不一定比普通形好;不同w对收敛速度的影响:图6:松弛迭代法中松弛或因子对迭代次数的影响结论(5):[0,2]内存在一个最佳的值使得收敛速度最快,但同时也可能导致迭代法不收敛;初值对迭代次数的影响:以赛德尔迭代法为例:图7:初值对赛德尔迭代次
文档评论(0)