数值分析课程设计报告
课程设计报告课程设计报告 题目数值分析课程设计报告 学学 院院 理学院 班班 级级 数学与应用数学 2010 级 学生姓名学生姓名 学学 号号 提交日期提交日期 2013 年 8 月 20 日 数值分析课程数值分析课程设计报告设计报告 [设计题一] 一.要求 编写解线性代数方程组的列主元高斯消去法的函数,并调用该函数计算某个 9 阶以上的非奇异阵 A 的逆矩阵。通过计算 AA-1检查答案,并不使用 inv(A)所 得结果和运行时间进行比较。 二.设计思路 ①先确定求逆矩阵 A 为方阵,构造 n*2n 矩阵 C,使得 C[AE]; ②令 i1,2,3n,找出第 i 列中从 i 到 n 的绝对值最大元素 Ck,i,如果 kI, 则两行调换位置,并且把换位信息传给记录矩阵 flag,同时对第 i 行进行化一处 理,对第 i1 行到 n 行通过行列变换使得 C[,i]0,最后得到 C 为前 n*n 是上三 角的单位阵; ③通过行列变换把矩阵 C 的前 n*n 部分化成单位阵; ④把 C 的后 n*n 部分赋给 B,则 B 就是所求的逆矩阵。 三.程序清单 function Binv_dmA 用途列主元高斯消去法求逆矩阵 A----------原矩阵 B----------逆矩阵 [n,n]sizeA; Bzerosn,n; Czerosn,2*n; for i1n for j1n Ci,jAi,j; end for kn12*n if kni Ci,k0; else Ci,k1; end end end 构造C[AE] flag1n; 记录行顺序向量 for i1n-1 tfindabsCin,imaxabsCin,i; 寻找最大元素 tt1i-1; flagit; if ti pCi,;Ci,Ct,;Ct,p; 换位 end if Ci,i0 error 矩阵不可逆 ; end Ci,Ci,/Ci,i; for ji1n Cj,Cj,-Ci,*Cj,i; end end Cn,Cn,/Cn,n; 因为循环结构问题,所以C[n,]并没有化一,所以在最后才把最后一行化一 for in-12 for j1i-1 Cj,Cj,-Ci,*Cj,i; end end 通过行变换,使得C的前n列为单位阵形式 for in-11 tflagi; if ti pC,t;C,tC,i;C,ip; end end 通过行变化矩阵还原行的顺序 for i1n for j1n Bi,jCi,nj; end end 将C的后n列赋给B矩阵 四.程序运行操作过程与输出结果 操作时间 ①给出所要求逆的矩阵 A ②执行 inv_dmA ③执行 invA ④检验正确性 显然从数量级上我们可以容易判断这是一个单位阵, 负号的出现是由于计算机默 认误差造成细小误差。 [设计题二] 一.要求 对于迭代法,2, 1 ,099.0 2 1 kxxx kkk , 它显然有丌动点0 * x。 试丌用 判定收敛阶的定理,设计 1 至 2 个数值实验(其中必须有一个丌是直接用收敛 阶的定义)得到收敛阶数的大概数值。 二.设计思路 ① 求出丌动点,利用 fixed.m 函数 确定包含丌动点的区间[a,b],此处令 a-0.5,b0.5, 接着从 b 开始迭代, 利用迭代公式,以 x00.5 开始迭代,终止条件为 absx-x01e-6 戒者迭代次数超过了 10000 次,最终迒回丌动点 * x ② 计算收敛阶 m,利用 jie.m 函数 1. 由 ① 知 道 当, 所 以 根 据 收 敛 阶 公 式 , 其 中C为 非 零 常 数 , 转 化 为 2.从1开始找出满足的p,如果p丌满足, 令pp1, 直至找到满足条件的 p. 3.迒回收敛阶 np. 三.程序清单 1.求丌动点函数 fixed.m function xfixedx0,e 用途---求不动点 x0-------初值,absx0e x0.99*x0-x02; nn1; end 循环体 xx0; 2.求收敛阶函数 jie.m function njiex0 用途---求阶函数