实验五
矩阵的lu分解法,雅可比迭代法
班级:学号:姓名:
实验五
一、目的与要求:
矩阵的LU分解法,雅可比迭代
熟悉求解线性方程组的有关理论和方法;
会编制列主元消去法、LU 分解法、雅可比及高斯—塞德尔迭代法德程序; 通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。 二、实验内容:
会编制列主元消去法、LU 分解法、雅可比及高斯—塞德尔迭代法德程序,进一步了解各种方法的优缺点。 三、程序与实例 列主元高斯消去法
算法:将方程用增广矩阵[A∣b]=(aij)n?(n?1)表示 1) 消元过程 对k=1,2,…,n-1
①选主元,找ik??k,k?1,?,n?使得
aik,k=
maxaik
k?i?n②如果aik,k?0,则矩阵A奇异,程序结束;否则执行③。 ③如果ik?k,则交换第k行与第ik行对应元素位置,
akj?aikj j=k,┅,n+1
④消元,对i=k+1, ┅,n计算
lik?aik/akk
对j=l+1, ┅,n+1计算
aij?aij?likakj
2) 回代过程
①若ann?0,则矩阵A奇异,程序结束;否则执行②。
②xn?an,n?1/ann;对i=n-1, ┅,2,1,计算
?xi???ai,n?1??
程序与实例
程序设计如下:
??ax?ijj?/aii
j?i?1?n#include
void disp(double** p,int row,int col){ for(int i=0;i void disp(double* q,int n){ cout<<\ for(int i=0;i cout<<\ cout<<\ } void input(double** p,int row,int col){ for(int i=0;i