列選主元Guass消元法求解方程組 c語言

2021-07-05 04:46:08 字數 868 閱讀 1457

學習過數分的都知道,列選主元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...