You are here: Symbol Reference > RegModels Namespace > Functions > RegModels.ExpFit Function
Stats Master VCL
ContentsIndex
PreviousUpNext
RegModels.ExpFit Function

Fits simple exponential equation to data.

Pascal
procedure ExpFit(const B: TVec; const X: TVec; const Y: TVec; const Weights: TVec = nil);
Parameters 
Description 
Returns regression coefficients for simple exponent function. 
Vector of independent variable. 
Vector of dependent variable. 
Weights 
Weights (optional). Weights are used only if they are set. 

The routine fits equations to data by minimizing the sum of squared residuals. The observed values obey the following equation: 

 

 

In the following example we generate some data. Then we fit simple exponential function to this data and retreive it's regression coefficients.

Uses MtxExpr, MtxVecTee, Series, RegModels;
procedure Example(Series1, Series2: TLineSeries);
var Y,YHat,B,X: Vector;
begin
  X.Size(100);
  Y.Size(X);
  X.Ramp(-5,0.05); // X = (-5, -4.95, ...-0.05)
  Y.RandGauss(3.5,0.12); // populate sample data
  ExpFit(B,X,Y); // calculate coefficients
  ExpEval(B.Values,X,YHat); // evaluate y by using calculated coefficients
  DrawValues(X,Y,Series1); // draw original data
  DrawValues(X,YHat,Series2); // draw fitted data
end;
#include "MtxExpr.hpp"
#include "Math387.hpp"
#include "RegModels.hpp"
#include "MtxVecTee.hpp"
void __fastcall Example(TLineSeries* Series1, TLineSeries* Series2);
{
  sVector X,Y;
  sVector B, YHat;
  X.Size(100,false);
  Y.Size(X);
  X.Ramp(-5.0, 0.05); // x= -5, -4.95, ...-0.05
  Y.RandGauss(3.5, 0.12); // sample data
  ExpFit(B,X,Y,NULL); // calculate coefficients
  // evaluate y by using calculated coefficients
  ExpEval(B,X, YHat);
  DrawValues(X,Y,Series1,false); // draw original data
  DrawValues(X,YHat,Series2,false); // draw fitted data
}
Examples on GitHub
Copyright (c) 1999-2024 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!