#include #include #define new(T,N) ((T*)malloc(sizeof(T)*N)) void inverse(const int n, double A[][n], double InvA[][n]); double lstsqr(int n,const char * filename) { FILE * f; char ch; int i,j,k,q; double InvX[n][n]; double X[n][n],Y[n],p[n],detX,dydx; double *x,*y,*xlo,*xhi,*ylo,*yhi,*dy; q = 0; f = fopen(filename,"r"); while((ch=fgetc(f))!=EOF){ if(ch == '\n') { q++; } } fclose(f); x = new(double,q); y = new(double,q); xhi = new(double,q); xlo = new(double,q); yhi = new(double,q); ylo = new(double,q); dy = new(double,q); for(i=0;i