深圳大学算法设计与分析杨煊实验三.docVIP

  • 36
  • 0
  • 约3.59千字
  • 约 9页
  • 2016-12-02 发布于重庆
  • 举报

深圳大学算法设计与分析杨煊实验三.doc

深圳大学算法设计与分析杨煊实验三

深 圳 大 学 实 验 报 告 课程名称: 算法设计与分析 实验项目名称: 高斯消元 学院: 专业、班级: 指导教师: 杨 烜 报 告 人: 学号: 实验报告提交时间: 2015.5.15 教务处制 一、实验目的 1.掌握变治法思想。 2.学会高斯列主元消去法及其应用。 二、实验内容 1. 高斯列主元消去法求解线性方程组。 2. 高斯列主元消去法判断矩阵是否可逆?需要说明理由,如果可逆,求出其逆矩阵。 三、实验原理 算法:GaussElimination(A[1...n,1...n],b[1...n]) //用部分选主元法实现高斯消去法 //输入:矩阵A[1...n,1...n]和列向量b[1...n] //输出:一个代替A的上三角形等价矩阵图,相应的右边的值位于第(n+1)列中 for i-1 to n do A[i,n+1]-b[i] //把b作为最后一列添加到A中 for i-1 to n-1 do pivotrow-i for j-i+1 to n do if |A[j,i]||A[pivotrow,i]| pivotrow-j for k-i to n+1 do swap(A[i,k],A[pivotrow,k]) for j-i+1 to n do temp-A[j,i]/A[i,i] for k-i to n+1 do A[j,k]-A[j,k]-A[i,k]*temp 算法:GaussBackSub(A[1...n,1...n+1]) //实现高斯消去法的反向替换 //输入:一个代替A的上三角形等价矩阵图,相应的右边的值位于第(n+1)列中 //输出:方程组的n个解 for i-n downto 1 do temp-0.0 for j-n downto i+1 temp-temp+A[i,j]*x[j] x[i]-(A[i,n+1]-temp)/A[i,i] return x 算法:IsInverseMatrix(A[1...n,1...n],b[1...n]) //用高斯消去法判断是否为逆矩阵 //输入:矩阵A[1...n,1...n] //输出:如果是逆矩阵输出1,否则输出0 for i-1 to n do A[i,n+1]-b[i] //把b作为最后一列添加到A中 for i-1 to n-1 do pivotrow-i for j-i+1 to n do if |A[j,i]||A[pivotrow,i]| pivotrow-j for k-i to n+1 do swap(A[i,k],A[pivotrow,k]) for j-i+1 to n do temp-A[j,i]/A[i,i] for k-i to n+1 do A[j,k]-A[j,k]-A[i,k]*temp for i-1 to n if(A[i,i]=0) return 0 return 1 算法:求矩阵的逆矩阵(伪代码篇幅较长,仅描述主要思想) 思想描述:设待求矩阵B的逆矩阵为X,根据逆矩阵的定义,满足BX=I(其中I为n阶单位矩阵)。显然,对于一个n*n的矩阵B,其逆矩阵X同样为n*n。将待求矩阵X的第i列xi看做一组未知数,同样的将单位矩阵I的第i列ei看作方程组右边的值。(1=i=n) 求解

文档评论(0)

1亿VIP精品文档

相关文档