线性方程组AX=B的数值计算方法实验.pdfVIP

  • 13
  • 0
  • 约1.04万字
  • 约 9页
  • 2020-09-11 发布于天津
  • 举报
线性方程组 AX=B的数值计算方法实验 学号:姓名:梁哲豪 一、 实验描述 在自然科学和工程技术中很多问题的解决常常归结为解线性代数方程组。 例 如电学中的网络问题, 船体数学放样中建立三次样条函数问题, 用最小二乘法求 实验数据的曲线拟合问题, 解非线性方程组问题, 用差分法或者有限元法解常微 分方程,偏微分方程边值问题等都导致求解线性方程组, 而且后面几种情况常常 归结为求解大型线性方程组。 线性代数方面的计算方法就是研究求解线性方程组 的一些数值解法与研究计算矩阵的特征值及特征向量的数值方法。 关于线性方程组的数值解法一般有两类: 直接法:若在计算过程中没有舍入误差, 经过有限步算术运算, 可求得方程组的 精确解的方法。 迭代法:用某种极限过程去逐步逼近线性方程组精确解的方法。 迭代法具有占存 储单元少, 程序设计简单, 原始系数矩阵在迭代过程中不变等优点, 但存在收敛 性及收敛速度等问题。 上三角线性方程组的求解: 基本算法: 高斯消元法:将原方程组化为三角形方阵的方程组: (k=1,2,…,n-1; i=k+1,k+2, …,n ;j=k+1,k+2, …,n+1) 由回代过程求得原方程组的解: LU分解法: 将系数矩阵 A 转化为 A=L*U,L 为单位下三角矩阵, U 为普通上三角矩阵,然后 通过解方程组 l*y=b ,u*x=y,来求解 x 。 二、实验内容 1、许多科学应用包含的矩阵带有很多零。在实际情况中很重要的三角形线性 方程组有如下形式: …… 构造一个程序求解三角形线性方程组。可假定不需要变换。而且可用第 k 行消去第 k+1 行的 xk 。 核心代码: #includeiostream.h #includemath.h #includeiomanip.h #define N 4 // 矩阵阶数 void ColPivot ( double c [ N][ N+ 1], double []); // 函数声明 void main (){ int i , j ; double x [ N]; double c [ N][ N+ 1]={ 1 , 3 , 5 , 7 , 1 , 2 ,- 1 , 3 , 5 , 2 , 0 , 0 , 2 , 5 , 3 , - 2 ,- 6 ,- 3 , 1 , 4 }; cout endl ; cout 系数矩阵为 : \n ; for ( i =0 ; i N; i ++){ for ( j =0 ; j N; j ++) cout setw ( 10 ) c [ i ][ j ]; cout endl ; } cout 右侧矩阵 y 为 : \n ; for ( i =0 ; i N; i ++) cout setw ( 10 ) c [ i ][ N]; cout endl ; cout endl ; ColPivot ( c , x ); // 调用函数,进行高斯消去法变换 cout 变换后得到的三角矩阵 : \n ; for ( i

文档评论(0)

1亿VIP精品文档

相关文档