实验报告四线性方程组的求解-迭代.docVIP

  • 180
  • 0
  • 约1.55千字
  • 约 3页
  • 2017-08-18 发布于重庆
  • 举报
实验报告四线性方程组的求解-迭代.doc

浙江大学城市学院实验报告 课程名称 科学计算 实验项目名称 线性方程组的求解-迭代法 实验成绩 指导老师(签名 ) 日期 一. 实验目的和要求 掌握Jacobi迭代方法,Gauss-Seidel迭代方法,SOR迭代方法的编程思想,能够分别用分量形式和矩阵形式编写相关程序。 观察SOR迭代法中松弛因子变化情况对收敛的影响。 了解Hilbert矩阵的病态性和作为线性方程组系数矩阵的收敛性。 二. 实验内容和原理 编程题2-1要求写出Matlab源程序(m文件),并有适当的注释语句;分析应用题2-2,2-3,2-4要求将问题的分析过程、Matlab源程序和运行结果和结果的解释、算法的分析写在实验报告上。 编程注释 设 对下述求解线性方程组的Matlab程序添上注释语句,其中和分别为线性方程组的系数矩阵和右端向量;为迭代初始向量;为容许迭代最大次数,为迭代终止条件的精度(容许误差),终止条件为前后两次迭代解的差的向量2-范数。 Jacobi迭代: Gauss-Seidel迭代:GaussSeidelmethod(A,b,x0,Nmax,eps) 松弛迭代:SORmethod(A,b,x0,Nmax,eps,w) 分析应用题 利用2-1中的程序来分析用下列迭代法解线性方程组: 的收敛性,并求出使的近似解及相应的迭代次数,其中取迭代初始向量为零向量。 1)Jacobi迭代法; 2)Gauss-Seidel迭代法; 3)松弛迭代法(松弛因子依次取1.334,1.95,0.95)。 分析应用题 考虑方程组,其中系数矩阵为Hilbert矩阵, 选择问题的维数分别为2、3、5、10,并通过首先给定解再定出右端的办法确定问题,解的给定可以使用函数定义,并取迭代初始向量为零向量,迭代误差为,编写程序: 其中n为Hilbert矩阵的维数,分别构造求解该问题的Jacobi迭代和Gauss-Seidel迭代,看它们是否收敛。 分析应用题 解线性方程组的解向量,取,其中 为任一非零的六元向量;编写程序输出结果: 认真观察之,能发现什么有趣的现象? 【MATLAB相关函数】 提取(产生)对角阵 v=diag(x) 若输入向量x,则输出v是以x为对角元素的对角阵;若输入矩阵x,则输出v是x的对角元素构成的向量 v=diag(diag(x)) 输入矩阵x,输出v是x的对角元素构成的对角阵,可用于迭代法中从A中提取D。 提取(产生)上(下)三角阵 v=triu(x) 输入矩阵x,输出v是x的上三角阵; v=tril(x) 输入矩阵x,输出v是x的下三角阵; v=triu(x,1) 输入矩阵x,输出v是x的上三角阵,但对角元素为0,可用于迭代法中从A中提取U。 v=tril(x,-1) 输入矩阵x,输出v是x的下三角阵,但对角元素为0,可用于迭代法中从A中提取L。 矩阵特征值 b=eig(A) 输入矩阵A,输出b是A的所有特征值。 范数 n=norm(x) 输入x为向量或矩阵,输出为x的2范数; n=norm(x,p) 输入x为向量或矩阵,当p=1, inf时分别输出为x的1,无穷范数; Hilbert矩阵 h=hilb(n) 输出h为n阶Hilbert矩阵 三. 操作方法与实验步骤(包括实验数据记录和处理) 四. 实验结果与分析

文档评论(0)

1亿VIP精品文档

相关文档