2.2.3.9.55 matrixbase::ReplaceReplace
 
Description
Threshold replace for a matrix.
 
Syntax
BOOL Replace( double dThresholdVal, double dReplaceVal = 0, uint wBitwiseOptions = 0, double dAbsError = 0.01 ) 
Parameters
-  dThresholdVal
 
- [input] Threshold value to compare to cells in matrix
 
-  dReplaceVal
 
- [input] Replacement value to use when decision passes
 
-  wBitwiseOptions
 
- [input] Combination of the following bits:
 
- MATREPL_TEST_LESSTHAN,		Use Less Than in condition TEST
 
- MATREPL_TEST_EQUAL,			Use Equal in condition TEST
 
- MATREPL_TEST_GREATER,		Use Greater Than in condition TEST
 
- MATREPL_USE_ABSOLUTE_VALUE_IN_TEST Use Absolute values, in condition TEST
 
- MATREPL_KEEP_ORIGINAL_SIGN_WHEN_TEST_RESULT_IS_TRUE, Keep original sign if condition TRUE ACTION
 
- MATREPL_SET_TO_MISSING_VALUE_WHEN_TEST_RESULT_IS_FALSE Set to missing, value if condition FALSE ACTION
 
-  dAbsError
 
- [input] Absolute error
  
Return
Returns TRUE on successful exit or FALSE on failure.
 
Examples
EX1
 
// Replace data in a matrix
void matrixbase_Replace_ex1()
{
    BOOL rc;
    
    matrix<double> mat1 = {
        {0,  0,   0,   0,   0},
        {0, -2,   4,  -2,   0},
        {0,  5,  10,   5,   0},
        {0, -2,   4,  -2,   0},
        {0,  0,   0,   0,   0}
    };
    // Result matrix:  ( |x|>0 ==> <sign>*1; Otherwise ==> NANUM)
    //    {--, --,  --,  --, --}
    //    {--, -1,   1,  -1, --}
    //    {--,  1,   1,   1, --}
    //    {--, -1,   1,  -1, --}
    //    {--, --,  --,  --, --}
    
    MatrixPage MatPg1;
    MatPg1.Create("Origin");
    MatrixLayer MatLy1 = MatPg1.Layers(0);
    Matrix Mat1(MatLy1);
    Mat1 = mat1;
    printf("  The original matrix is %s.\n",Mat1.GetName());
    
    matrix mat2(mat1);  // Create mat2, and copy mat1 to mat2
    rc = mat2.Replace( 0, 1, 
        MATREPL_TEST_GREATER | 
        MATREPL_USE_ABSOLUTE_VALUE_IN_TEST | 
        MATREPL_KEEP_ORIGINAL_SIGN_WHEN_TEST_RESULT_IS_TRUE |
        MATREPL_SET_TO_MISSING_VALUE_WHEN_TEST_RESULT_IS_FALSE );
    if(!rc) printf("Error: Replace failed.\n");
    else
    {
        MatrixPage MatPg2;
        MatPg2.Create("Origin");
        MatrixLayer MatLy2 = MatPg2.Layers(0);
        Matrix Mat2(MatLy2);
        Mat2 = mat2;
        printf("  The Replaced matrix is %s.\n",Mat2.GetName());
    }            
}
Remark
See Also
Header to Include
origin.h
 
             |