用C语言实现改进平方根法
用C语言实现改进平方根法, 程序代码如下:
#include "stdlib.h"
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "math.h"
#define N 100
float Table(int n,float a[N][N],float b[N])
{
int i,j;
printf("Please input the matrix A by row!\n");
for(i=0;i
{
printf("Row %d:",i);
for(j=0;j
scanf("%f",&a[i][j]);
}
printf("Please input the array b:");
for(i=0;i
scanf("%f",&b[i]);
printf("\nThe matrix A and array b:\n");
for(i=0;i
{
for(j=0;j
printf("%10.4f",a[i][j]);
printf("%10.4f",b[i]);
printf("\n");
}
}
float decomposition(int n,float a[N][N],float l[N][N],float d[N][N])
{
int i,j,k;
float t[N][N],tmp1,tmp2;
for(i=0;i
for(j=0;j
{
if(i!=j) d[i][j]=0;
if(i
{
t[i][j]=0;
l[i][j]=0;
}
if(i==j) l[i][j]=1;
}
d[0][0]=a[0][0];
for(i=1;i
for(j=0;j
{
tmp1=0;
for(k=0;k
tmp1+=t[i][k]*l[j][k];
t[i][j]=a[i][j]-tmp1;
l[i][j]=t[i][j]/d[j][j];
tmp2=0;
for(k=0;k
tmp2+=t[i][k]*l[i][k];
d[i][i]=a[i][i]-tmp2;
}
printf("\nAfter Cholesky triangular decomposition, the matrix L:\n");
for(i=0;i
for(j=0;j<=i;j++)
{
printf("%8.4f",l[i][j]);
if(i==j) printf("\n");
}
printf("\nAnd the matrix D:\n");
for(i=0;i
for(j=0;j<=i;j++)
{
if(i!=j)
for(k=0;k<8;k++)
printf(" ");
if(i==j) printf("%8.4f\n",d[i][j]);
}
}
float solve(int n,float l[