學習過數分的都知道,列選主元guass消元法求解方程組的求解步驟和過程:
首先選擇需消元的列的最大值,進行交換,然後對當前列進行消元;消元完成後進行回代求解方程組的解。
實現**如下:
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
#define n 4
#define m 5
int getmaxinumlaber(double a[n][m], int k); //獲取主元所在行
void main()
;double x[n]=;
for(i=0; i
//高斯消元法
for(k=0; k
}//消元
for(i=k+1; i
}//回代求解x
double sum;
for(i=n-1; i>=0; i--)
x[i] = (a[i][m-1]-sum)/a[i][i];
}printf("\n");
for(i=0; i
printf("\n");
for(i=0; iprintf("%lf ", x[i]);
printf("\n");
}//獲取主元所在行
int getmaxinumlaber(double a[n][m], int k)
return laber;
}執行結果:
列主元的高斯消元法(FORTRAN)
program guass1 real,dimension allocatable arr real,dimension allocatable x real a integer i,j,k,n 輸入 輸出數列 write 請輸入需要計算的係數矩陣的大小n read n allocate arr n...
Guass列選主元消去法和三角分解法
最近數值計算學了guass列主消元法和三角分解法解線性方程組,具體原理如下 1 guass 列選主元消去法對於ax b 1 消元過程 將 a b 進行變換為 其中是上三角矩陣。即 k從1到n 1 a 列選主元 選取第k 列中絕對值最大元素 作為主元。b 換行 c 歸一化 d 消元 2 回代過程 由解...
C Gauss消元之完全主元法
在k次消元的基礎上加了換列操作,其他都一樣。主要部分換行換列 public double findikjk int k,ref int ik,ref int jk return max public void exchangi int k,int ik else return public void...