【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.2.3.9.23 matrixbase::Floor
Contents
Description
Round each cell of this matrix to the nearest integer less than the current cell value (toward minus infinity).
Syntax
int Floor( matrixbase & mbFloor )
Parameters
- mbFloor
- [output] matrix containing the results
Return
Returns 0 on success and a non-zero error code on failure.
Note that the missing value(NANUM) won't be changed by this function.
Examples
EX1
void matrixbase_Floor_ex1() { int rc; matrix<double> mat1 = { { 0.0, 0.1, 1.0, 1.1, 1.5, 1.9}, { 999, -0.1, -1.0, -1.1, -1.5, -1.9} }; mat1[1][0]=NANUM; // set row=2,col=1 to NANUM rc=mat1.Floor(mat1); if(rc!=0) printf("Error: Floor failed. Error Code=%d\n",rc); else{ printf("The matrix is:\n"); for(int ii=0; ii< mat1.GetNumRows(); ii++){ for(int jj=0; jj< mat1.GetNumCols(); jj++) printf("%g ", mat1[ii][jj]); printf("\r\n"); } } }
EX2
#define MAKEMAT(X) MatrixLayer MatLy##X;MatLy##X.Create();Matrix Mat##X(MatLy##X) // Apply various integer-making functions to a matrix void matrixbase_Floor_ex2() { int rc; matrix<double> mat1 = { { 0.0, 0.1, 1.0, 1.1, 1.5, 1.9}, { 999, -0.1, -1.0, -1.1, -1.5, -1.9} }; mat1[1][0]=NANUM; // set row=2,col=1 to NANUM PageBase pgbase; MAKEMAT(1); pgbase = Project.Pages(); // Get the active page pgbase.Rename("Original"); Mat1 = mat1; // Change cells to floor values MAKEMAT(2); pgbase = Project.Pages(); pgbase.Rename("Floor"); rc=Mat1.Floor(Mat2); if(rc!=0) printf("Error: Floor failed. Error Code=%d\n",rc); else printf("%s matrix is created.\n",Mat2.GetName()); // Change cells to fix values MAKEMAT(3); pgbase = Project.Pages(); pgbase.Rename("Fix"); rc=Mat1.Fix(Mat3); if(rc!=0) printf("Error: Fix failed. Error Code=%d\n",rc); else printf("%s matrix is created.\n",Mat3.GetName()); // Change cells to round values MAKEMAT(4); pgbase = Project.Pages(); pgbase.Rename("Round"); rc=Mat1.Round(Mat4); if(rc!=0) printf("Error: Round failed. Error Code=%d\n",rc); else printf("%s matrix is created.\n",Mat4.GetName()); // Change cells to ceil values MAKEMAT(5); pgbase = Project.Pages(); pgbase.Rename("Ceil"); rc=Mat1.Ceil(Mat5); if(rc!=0) printf("Error: Ceil failed. Error Code=%d\n",rc); else printf("%s matrix is created.\n",Mat5.GetName()); }
Remark
Round each cell of this matrix to the nearest integer less than the current cell value (toward minus infinity). Notice the differences of Round, Fix, Floor and Ceil.
See Also
matrixbase::Fix, matrixbase::Round, matrixbase::Ceil
Header to Include
origin.h