lu分解c语言源程序,[C语言]矩阵的LU分解

void main()

{

float a[4][4]={{4,2,1,5},{8,7,2,10},{4,8,3,6},{12,6,11,20}};

float L[4][4],U[4][4];

int n=4;

int k,i,j;

float s,t;

for(j=0;j

a[0][j]=a[0][j];

for(i=1;i

a[i][0]=a[i][0]/a[0][0];

for(k=1;k

{

for(j=k;j

{

s=0;

for (i=0;i

s=s+a[k][i]*a[i][j];

a[k][j]=a[k][j]-s;

}

for(i=k+1;i

{

t=0;

for(j=0;j

t=t+a[i][j]*a[j][k];

a[i][k]=(a[i][k]-t)/a[k][k];

}

}

for(i=0;i

for(j=0;j

{ if(i>j)

{ L[i][j]=a[i][j]; U[i][j]=0;}

else

{ U[i][j]=a[i][j];

if(i==j) L[i][j]=1;

else L[i][j]=0;

}

}

printf("/nL[4][4]=");

for(i=0;i

{ printf("/n");

for(j=0;j

printf(" %0.0f",L[i][j]);

}

printf("/nU[4][4]=");  for(i=0;i

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值