C語言實現高斯主元素法

2021-10-03 10:51:20 字數 1767 閱讀 3735

ps:每個列主元素都是當前列最大值

#include

#define col 4

//列數

#define row 3

//行數

void

print

(double a[row]

[col]

)printf

("\n");

}printf

("\n");

}void

columnswap

(double a[row]

[col]

,int m,

int n)

//m和n列交換

}void

rowswap

(double a[row]

[col]

,int m,

int n)

//m和n行交換

}void

compute

(double a[row]

[col]

,double result[col -1]

)//給定上三角矩陣,求解

//求result解

result[i]

=(a[i]

[col -1]

- sum)

/ a[i]

[i];}}

void

selectcolumn

(double a[row]

[col]

,int n)

//找列主元

}rowswap

(a, rownum, n)

;//兩行交換

}void

selecttotal

(double a[row]

[col]

,int n)

//找全主元}}

rowswap

(a, rownum, n)

;//兩行交換

columnswap

(a, colnum, n)

;//兩列交換

}void

columneliminate

(double a[row]

[col]

,double result[col -1]

)//高斯列主元素消去法

}print

(a);

}compute

(a, result);}

void

totaleliminate

(double a[row]

[col]

,double result[col -1]

)//高斯全主元素消去法

}print

(a);

}compute

(a, result);}

intmain()

,,,}

;double result[col -1]

;columneliminate

(a, result)

;//列主元消去法

//totaleliminate(a, result);//全主元消去法,上下方法每次只能用一種

print

(a);

printf

("x=(");

for(

int i =

0; i

1; i++

)printf

(")");

getchar()

;}

c 高斯列主元素消去法

設有線性方程組 a x bax b ax b 根據線性代數的知識,當det a 0 det a 0 deta 0時,上述方程組的解存在且唯一,對增廣矩陣 a,b a,b a,b 施行初等變換,化a aa為上三角矩陣,在初等變換過程中位於矩陣對角線上的元素稱為主元素,為了避免較小數作為除數產生誤差,每...

列主元高斯消去法(C語言)

高斯消元法是將方程組中的一方程的未知數用含有另一未知數的代數式表示,並將其代人到另一方程中,這就消去了一未知數,得到一解 或將方程組中的一方程倍乘某個常數加到另外一方程中去,也可達到消去一未知數的目的。消元法主要用於二元一次方程組的求解。核心 1 兩方程互換,解不變 2 一方程乘以非零數k,解不變 ...

G S迭代法 高斯消去法用c語言實現

g s迭代法 include include include include define eps 1e 6 定義偏差值 define n 100 定義最大迭代次數 define max 10 係數最大矩陣階數 double a max max double b max double x max 第...