改进平方根法.c
来自「杜里特尔分解法.c改进平方根法.c拉格朗日插值法.cpp牛顿迭代.cpp梯形法积」· C语言 代码 · 共 78 行
C
78 行
#include<stdio.h>
#include<math.h>
void main()
{
float a[11][12],t;
int n,i,j,k;
printf("LDL^Tx=TL^T=b,DL^Tx=y\n");
printf("input unknown numbers<max=10>:");
scanf("%d",&n);
printf("input all quotieties:\n");
for(i=1;i<=n;i++)
for(j=1;j<=n+1;j++)
scanf("%f",&a[i][j]);
printf("The equation:\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=n+1;j++)
printf("%f ",a[i][j]);
printf("\n");
}
for(i=1;i<=n;i++)
{
for(j=1;j<=i-1;j++)
{t=0;
for(k=1;k<=j-1;k++)t+=a[i][k]*a[k][j];
a[i][j]=a[i][j]-t;
}
for(j=1;j<=i-1;j++)a[j][i]=a[i][j]/a[j][j];
t=0;
for(k=1;k<=i-1;k++)t+=a[i][k]*a[k][i];
a[i][i]=a[i][i]-t;
}
printf("The change:\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=n+1;j++)
printf("%f ",a[i][j]);
printf("\n");
}
for(i=1;i<=n;i++)
{t=0;
for(k=1;k<=i-1;k++)t+=a[k][i]*a[k][n+1];
a[i][n+1]=a[i][n+1]-t;
}
printf("y:\n");
for(i=1;i<=n;i++)
printf("%f ",a[i][n+1]);
for(i=n;i>=1;i--)
{t=0;
for(k=i+1;k<=n;k++)t+=a[i][k]*a[k][n+1];
a[i][n+1]=a[i][n+1]/a[i][i]-t;
}
printf("\nx:\n");
for(i=1;i<=n;i++)
printf("%f ",a[i][n+1]);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?