数值分析直接三角分解法
#include
#include
# define n 3
void main()
{
int i,j,k,m;
float A[n][n],L[n][n],U[n][n],b[n],x[n],y[n];
float sum1=0,sum2=0;
/**/ for(i=0;i
scanf("%f;",&A[i][j]);
}
}
for(i=0;i
scanf("%f;",&b[n]);
}
for (i=0;i
L[i][j]=1;
}else{
L[i][j]=0;
}
}
}
for(i=0;i
for(j=0;j
U[i][j]=A[i][j];
}else{
U[i][j]=0;
}
}
}
for (i=0;i
}
}
for (k=0;k
if(k==0){
for (i=k+1;i
}
L[i][k]=(A[i][k]-sum2)/U[k][k];
sum2=0;
}
}else{
for(j=k;j
printf("esle--sum1=%f\n",sum1);
}
U[k][j]=A[k][j]-sum1;
sum1=0;
}
for (i=k+1;i
printf("else--sum2=%f\n",sum2);
}
L[i][k]=(A[i][k]-sum2)/U[k][k];
sum2=0;
}
}
for (i=0;i
}
}
}
y[0]=b[0];
for (k=1;k
}
y[k]=b[k]- sum1;
sum1=0;
}
x[n-1]=y[n-1]/U[n-1][n-1];
for (k=n-2;k>=0;k--){
for (m=k+1;m
}
x[k]=(y[k]-sum2)/U[k][k];
sum2=0;
}
for (i=0;i
}
}