顺序高斯消去法求解线性方程组(附上中间过程矩阵初等行变换)

Halima ·
更新时间:2024-09-21
· 961 次阅读

别说了,先附上代码

#include #include using namespace std; void print(double **a,int n) { int i,j; for(i=0;i<n;i++) { for(j=0;j<n+1;j++) { printf("%.4lf ",a[i][j]); } cout<<endl; } } void shunxu_G_S(double **a,int n) { /*先做消去*/ int k,i,j; int c[n]; for(k=0;k<n-1;k++) { for (i = k + 1; i < n; i++) c[i] = a[i][k] / a[k][k]; for(i=k+1;i<n;i++) { for(j=0;j<n+1;j++) { a[i][j]=a[i][j]-c[i]*a[k][j]; } } print(a,n); cout<= 0; i--) { double sum = 0; for (j = i + 1; j < n; j++) { sum += a[i][j] * x[j]; } x[i] = (a[i][n] - sum) / a[i][i]; } cout<<"方程组的解为"<<endl; for(i=0;i<n;i++) { printf("%.4lf ",x[i]); } } int main() { double **a; int n; cout << "输入系数矩阵的阶数n:" <> n; cout << "依次输入增广矩阵的每一个元素A[i][j]:" << endl; a = new double *[n]; for (int i = 0; i < n; i++) a[i] = new double[n+1]; for (int i = 0; i < n; i++) for (int j = 0; j > a[i][j];} cout<<"中间过程的矩阵初等行变化: "<<endl; shunxu_G_S(a,n); return 0;

运行结果如下:在这里插入图片描述


作者:qq_45695724



线性方程 线性方程组 高斯 线性 矩阵

需要 登录 后方可回复, 如果你还没有账号请 注册新账号