Matrix.ThreshAbsLT Method

Overload List

#SignatureDescription
1function ThreshAbsLT(const Src: TMtxVec; const Value: Double): TMtxVec;Perform threshold operation on all Src object values.
└ indexed: function ThreshAbsLT(const Vec: TMtxVec; const Value: Double; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
2function ThreshAbsLT(const Value: Double): TMtxVec;Threshold top and bottom centered around zero.
└ indexed: function ThreshAbsLT(const Value: Double; Index: Integer; Len: Integer): TMtxVec;

Overload 1: function ThreshAbsLT(const Src: TMtxVec; const Value: Double): TMtxVec;

Perform threshold operation on all Src object values.

#NameTypeDescription
1SrcTMtxVec
2ValueDouble

Result: stored in self (calling object), returns self for chaining

Remarks:

Store the results in calling object. Size and Matrix.Complex properties of the calling object are adjusted automatically.

Indexed: function ThreshAbsLT(const Vec: TMtxVec; const Value: Double; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVec;

Perform a threshold operation Vec elements [VecIndex]..[VecIndex+Len-1].

#NameTypeDescription
1VecTMtxVec
2ValueDouble
3VecIndexInteger
4IndexIntegerstart index
5LenIntegerelement count

Result: stored in self (calling object), returns self for chaining

Remarks:

Store the results in the calling object elements [Index]..[Index+Len-1]. Size and Matrix.Complex properties of the calling object must be set explicitly. An exception is raised if TMtxVecBase.ConditionCheck is true and array borders are overrun/underrun.

Overload 2: function ThreshAbsLT(const Value: Double): TMtxVec;

Threshold top and bottom centered around zero.

#NameTypeDescription
1ValueDouble

Result: stored in self (calling object), returns self for chaining

Remarks:

Perform threshold operation on all calling object values. The Value parameter is an upper bound for threshold operation. All values smaller than Value will be replaced with Value and all values bigger than -Value will be replaced with -Value. The comparison checks if abs(Values[i]) < Value.

Examples
var
    a, expected: Matrix;
begin
    a := [[1.0, 5.0, 3.0, 7.0, 2.0]];
    a.ThreshAbsLT(4.0);
    expected := [[4.0, 5.0, 4.0, 7.0, 4.0]];
    if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
        raise Exception.Create('Matrix.ThreshAbsLT: mismatch');
end;
var
    a: TVec;
begin
CreateIt(a);
try
a.SetIt(False, [2,-0.1,3,4]);
a.ThreshAbsLT(0.2); // a = [2,-0.2,3,4]
finally
FreeIt(a);
end;
end;
See Also: Matrix.ThreshTop

Indexed: function ThreshAbsLT(const Value: Double; Index: Integer; Len: Integer): TMtxVec;

Perfrom the threshold operation on calling object values [Index]..[Index+Len-1].

#NameTypeDescription
1ValueDouble
2IndexIntegerstart index
3LenIntegerelement count

Result: stored in self (calling object), returns self for chaining

Remarks:

An exception is raised if array borders are overrun/underrun.