试验 3 直接法求解线性方程组实验内容? Guass 列主元消去法? Doolittle 分解?追赶法试验 3 解线性方程组的直接法/* Direct Method for Solving Linear Systems */求解 bxA ???§1 高斯消元法/* Gaussian Elimination */ ?高斯消元法: 思路首先将 A化为上三角阵/* upper-triangular matrix */, 再回代求解/* backward substitution */。= Guass 列主元消去法步骤?基本步骤? A,b,TOL ? k=1:N – 选主元 P– 若|P|<=TOL 则停止,输出无解信息,否则– 换行– 消元?? x 1 2 1 2 2 :. ( , ) max ( , ) . ( , ) , , ( , ) ( , ) / ( , ), ( ) ( ) / ( , ) k i n k N A p k A i k A p k TOL p k A k j A k j A k k b k b k A k k ??????? ?? ?对于选主元如果则停止 如果则转(), 否则 A(k,k:N) A(p,k:N),b(k) b(p) 对于 j=k+1:N 2 4 1 1 1 . ( , : ) ( , : ) ( , )* ( , : ) ( ) ( ) ( , )* ( ) A i k N A i k N A i k A k k N b i b i A i k b k ?? ????? ?对于 i=k+1:N 31 .- ( ) ( ) ( , i+1: )* ( : ) b i b i A i N b i N ? ? ?回代求解对于 i=N : 1:1 1 ( ) kkka ?对于一些特殊类型的方程组,可以保证不会很小, 因而不需要选主元#include < > #include < > #include < > #include < > #define N 4 #define EPS 1e-5 void Guass(double A[][N+1]) { int i,j,k =0,I,t; double w=0,p,b; for(k =0;k<N-1;k++) { /*选主元*/p= A[k][k ]; I=k; for(i =k+1;i< N;i ++) if(fabs(A[i][k ])> fabs(p )) {p= A[i][k ]; I=i; } if(fabs(p )<EPS) { printf("the number is error! i =%d, k=% d\n",i,k ); exit(0); }/*换行*/ if(I !=k) for(j =0;j<N+1;j++) { b= A[k][j ]; A[k][j ]= A[I][j ];
试验6.1直接法求解线性方程组 来自淘豆网www.taodocs.com转载请标明出处.