Replace all cell values less than dThresholdVal with dReplaceVal.
BOOL ReplaceLessThan( double dThresholdVal, double dReplaceVal )
Returns TRUE on success or FALSE on failure.
EX1
void matrixbase_ReplaceLessThan_ex1() { BOOL rc; matrix<double> mat1 = { {-2.0, 0.05, 0.1, 2}, {-0.1, 10, 10, 10}, {-0.05, 10, 10, 10}, { 2, 10, 10, 10} }; 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.ReplaceLessThan(0.1, 0.0); // Demonstrate ReplaceLessThan // Result matrix: // {0, 0, 0.1, 2}, // {0, 10, 10, 10}, // {0, 10, 10, 10}, // {2, 10, 10, 10} if(!rc) printf("Error: ReplaceLessThan(0.1, 0.0) on a matrix failed.\n"); else { MatrixPage MatPg2; MatPg2.Create("Origin"); MatrixLayer MatLy2 = MatPg2.Layers(0); Matrix Mat2(MatLy2); Mat2 = mat2; printf(" Observe the ReplaceLessThan (<0.1) matrix in %s.\n", Mat2.GetName()); } matrix mat3(mat1); // Create mat2, and copy mat1 to mat2 rc=mat3.ReplaceLessThan(-0.1, 0.0); // Demonstrate ReplaceLessThan // Result matrix: // { 0, 0.05, 0.1, 2}, // {-0.1, 10, 10, 10}, // {-0.05, 10, 10, 10}, // { 2, 10, 10, 10} if(!rc) printf("Error: ReplaceLessThan(-0.1, 0.0) on a matrix failed.\n"); else { MatrixPage MatPg3; MatPg3.Create("Origin"); MatrixLayer MatLy3 = MatPg3.Layers(0); Matrix Mat3(MatLy3); Mat3 = mat3; printf(" Observe the ReplaceLessThan (<-0.1) matrix in %s.\n", Mat3.GetName()); } }
Replace all cell values less than dThresholdVal with dReplaceVal.
matrixbase::Replace, matrixbase::ReplaceGreaterThan
origin.h