2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > c# lu分解的代码_LU分解法(C语言)

c# lu分解的代码_LU分解法(C语言)

时间:2024-05-26 08:30:58

相关推荐

c# lu分解的代码_LU分解法(C语言)

LU

分解法求解线性方程:

#include

voidsolve(floatl[][100],floatu[][100],floatb[],floatx[],intn)

{inti,j;

floatt,s1,s2;

floaty[100];

for(i=1;i<=n;i++)/*

第一次回代过程开始

*/

{s1=0;

for(j=1;j

{

t=-l[i][j];

s1=s1+t*y[j];

}

y[i]=(b[i]+s1)/l[i][i];

}

for(i=n;i>=1;i--)/*

第二次回代过程开始

*/

{

s2=0;

for(j=n;j>i;j--)

{

t=-u[i][j];

s2=s2+t*x[j];

}

x[i]=(y[i]+s2)/u[i][i];

}

}

voidmain()

{floata[100][100],l[100][100],u[100][100],x[100],b[100];

inti,j,n,r,k;

floats1,s2;

for(i=1;i<=99;i++)/*

将所有的数组置零,同时将

L

矩阵的对角值设为

1*/

for(j=1;j<=99;j++)

{

l[i][j]=0,u[i][j]=0;

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

}

printf("inputn:\n");/*

输入方程组的个数

*/

scanf("%d",&n);

printf("inputarrayA:\n");/*

读取原矩阵

A*/

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

scanf("%f",&a[i][j]);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。