Page t046, go to NEXT, PREVIOUS, INDEX

Example: Line Fit (continued)


Line fit or linear regression, part 2

        /* Compute coefficients. */
        { double sx_over_n = sx / n;
          double stt       = 0.0;
          double b         = 0.0;
          double a;
          { int i;
            for ( i = 0; i < n; i++ )
            { double ti = x[i] - sx_over_n;
              stt += ti * ti;
              b   += ti * y[i];
            }
          }
          b /= stt;
          a = (sy - sx*b) / n;

          free (x);
          free (y);

          if ( b >= 0 )
          { printf ("Solution:  y = %e + %e*x\n", a, b);
          }
          else
          { printf ("Solution:  y = %e - %e*x\n", a, -b);
          }
        }
      }


      int main ()
      {
        linefit ();
        return 0;
      }


C Course, 22-jan-1997, Peter Klok, pfk@hef.kun.nl