列主元素消去法c语言,Gauss列主元素消去法

算法:

1、输入方程组维数n,矩阵A,右端项b和控制精度eps

2、对于k = 1 : n-1 :

(1)、| A( u , k ) |  =  max( A( i , k ) , k <= i <= n );

(2)、如果| A( u , k ) | < eps  则停止;

(3)、如果 u = k 则转 (4) ,否则  A( k , k : n+1) A( u , k : n+1 ) ;

(4)、A( k+1 : n , k )  := A( k+1 : n ,  k ) / A( k , k ),

A( k+1 : n , k+1 : n ) := A( k+1 : n , k+1 : n ) - A( k+1 : n , k ) · A( k , k+1 : n ),

b( k+1 : n ) := b( k+1 : n ) - A( k+1 : n , k ) · b( k )

3、如果 A( n , n ) = 0 则停止

4、b( n ) := b( n ) / A( n , n ) ,

对于 i = n-1 : -1 : 1 ,

b( i ) := [ b(i) - A( i , i+1 : n ) · b( i+1 : n ) ] / A( i , i )

5、输出解b(1:n)

C语言代码(未考虑无解情况):

#include #include #include #define M 128 const double eps=1e-6; double mat[M][M]; double a[M]; int n; bool Read() { int i,j; if(scanf("%d",&n)!=1) return false; for(i=0;ifabs(mat[k][i])) k=j; } memmove(tmp,mat[i],sizeof(tmp)); memmove(mat[i],mat[k],sizeof(tmp)); memmove(mat[k],tmp,sizeof(tmp)); for(j=i+1;j=0;i--){ for(j=i+1,tmp=0.0;j

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值