文档介绍:第三章实验作业
由物理实验得到下列一组数据:
xi
1 2 3 4 5 6
yi
xi
7 8
yi
用抛物线做曲线拟合。
-S图;
C语言程序:
#include ""
#include ""
#include ""
#include ""
#define N 15//N个节点
#define M 2//M次拟合
#define K 2*M
void zhuyuan (int k,int n,float a[M+1][M+2])
{int t,i,j;
 float x,y;
 x=fabs(a[k][k]);t=k;
for (i=k+1;i<=n;i++)
 if (fabs(a[i][k])>x)
  {x=fabs(a[i][k]);t=i;}
for (j=k;j<=n+1;j++)
 {y=a[k][j];a[k][j]=a[t][j];a[t][j]=y;}
}
void xiaoyuan(int n,float a[M+1][M+2])
{int k,i,j;
  for(i=0;i<n;i++)
  {zhuyuan(i,n,a);
   for (j=i+1;j<=n;j++)
   for (k=i+1;k<=n+1;k++)
    a[j][k]=a[j][k]-a[j][i]*a[i][k]/a[i][i];
  }
}
void huidai(int n,float a[M+1][M+2],float x[M+1])
{int i,j;
 x[n]=a[n][n+1]/a[n][n];
for (i=n-1;i>=0;i--)
 { x[i]=a[i][n+1];
  for (j=i+1;j<=n;j++)
   x[i]=x[i]-a[i][j]*x[j];
  x[i]=x[i]/a[i][i];
 }
}
void main()
{float x_y[N][2],A[N][K+1],B[N][M+1],AA[K+1],BB[M+1],a[M+1][M+2],m[M+1];
int i,j,n;
printf("请输入%d个已知点:\n",N);
for(i=0;i<N;i++)
{
printf("(x%d y%d):",i,i);
scanf("%f %f",&x_y[i][0],&x_y[i][1]);
}
for(i=