最小二乘法-曲线拟合 C语言程序,,经测试正确
最小二乘法-曲线拟合 C语言程序,,经测试正确
#include
#include
#include
float cf(int i,float f)
{ float g=1.0;
while(i--)
g*=f;
return g;
}
void ColPivot(float a[99][99], int n, float b[99][1],float x[99]) {
float max,m,temp;
int k,q=0,i,j,I;
for(k=0;k
{ max=a[k][k];
for(i=k+1;i
if(fabs(max)
{
max=a[i][k];
I=i;
}
if(max==0)
q=1;
else
{ if(I!=k)
{
temp=b[I][0]; b[I][0]=b[k][0]; b[k][0]=temp;
for(j=k;j
{
temp=a[I][j]; a[I][j]=a[k][j]; a[k][j]=temp; }
}
for(i=k+1;i
{
m=a[i][k]/a[k][k];
b[i][0]=b[i][0]-b[k][0]*m;