RegModels.MulLinEval Method

Overload List

#SignatureDescription
1procedure MulLinEval(const B: TDoubleArray; const X: TMtx; const YHat: TVec; Constant: Boolean);Evaluates b[0] + b[1]*x[0] + b[2]*x[1] + ... for given values in X vector, parameters in B array, and returns the results in XHat vector.
2function MulLinEval(const B: TDoubleArray; const X: TVec; Constant: Boolean): Double;Evaluates multiple linear function.

Overload 1: procedure MulLinEval(const B: TDoubleArray; const X: TMtx; const YHat: TVec; Constant: Boolean);

Evaluates b[0] + b[1]*x[0] + b[2]*x[1] + ... for given values in X vector, parameters in B array, and returns the results in XHat vector.

#NameTypeDescription
1BTDoubleArray
2XTMtx
3YHatTVec
4ConstantBoolean

Result: stored in self (calling object)

Remarks:

Size and Complex properties of XHat vector are adjusted automatically.

Note
Use this version if you want to evaluate multiple linear function for multiple values at the same time. This is a lot faster than calling single value version for each x value.

See Also: RegModels.MulLinFit

Overload 2: function MulLinEval(const B: TDoubleArray; const X: TVec; Constant: Boolean): Double;

Evaluates multiple linear function.

#NameTypeDescription
1BTDoubleArray
2XTVec
3ConstantBoolean

Returns: Double - b[0] + b[1]*x[0] + b[2]*x[1] + ... for given value X and parameters in B array.

Examples
Uses MtxExpr, RegModels;
procedure Example;
var YHat: Vector;
X: Matrix;
begin
    X.SetIt(3,3,false,[2, -3, 5,
    1, 6, -4,
    8, 7, 9]);
    MulLinEval([1, 0.5, -2],X,YHat,false); // no constant term !
    // YHat = (-9.5, 12, -6.5)
end;