procedure TMainForm.CurveFitActionExecute(Sender: TObject);
var
  i,N: Integer;
  a: array [0..2] of Double;
  b: Double;
begin
    PLine.Clear;
    FitterA.AddPoints(PointsA);
    FitterA.ReCalculate;
    //PLine.Repaint;
    Formula := 'ymin + ';
    N := FitterA.PolyDegree;
    //--------------------------------------------------------------------------
    //·ÖÅäÄÚ´æ
    Fcoef := nil;
    SetLength(Fcoef, N);
    //--------------------------------------------------------------------------
    for i:=0 to 2 do a[i] := FitterA.AnswerVector[i+1];
    b := FitterA.ParentSeries.MinXValue;
    Fcoef[0] := FitterA.ParentSeries.MinYValue +
                a[0] - a[1] * b + a[2] * b * b;
    Fcoef[1] := a[1] - 2 * a[2] * b;
    Fcoef[2] := a[2];
    //--------------------------------------------------------------------------
    for i:=0 to N-1 do
    begin
      if i=0 then
        Formula := Formula + Format('%.5e',[FitterA.AnswerVector[i+1]])
      else
        Formula := Formula + ' + ' +
          Format('%.5e * (x - xmin)^%d',[FitterA.AnswerVector[i+1], i]);
    end;
    //--------------------------------------------------------------------------
    for i:=0 to N-1 do
    begin
      if i=0 then
        FormulB := FormulB + Format('%.5e',[Fcoef[i]])
      else
        FormulB := FormulB + ' + ' +
          Format('%.5e * x^%d',[Fcoef[i], i]);
    end;
    //--------------------------------------------------------------------------
    for i:=0 to N-1 do
    begin
      if i=0 then
        FormulC := FormulC + Format('%.5e',[Fcoef[i]])
      else
        FormulC := FormulC +
          Format(#9 + ' %.5e',[Fcoef[i], i]);
    end;
    stat1.Panels[1].Text := Formula + ' | ' + FormulB + '|' + FormulC;
end;