public final class Matrix extends Object
public static int printMatrix(String args[]) {
String name = args[0];
double[] matrix = Matrix.getMatrix(name);
int cols = Matrix.getMatrixCol(name);
int rows = Matrix.getMatrixRow(name);
if (cols == 0 || rows == 0) {
SFIToolkit.errorln("Empty matrix");
return 503;
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
double element = Matrix.getAt(matrix, cols, i, j);
SFIToolkit.displayln("[" + (i + 1) + ", " + (j + 1) + "] = "
+ element);
}
}
return 0;
}
Modifier and Type | Method and Description |
---|---|
static int |
convertSymmetricToStd(String name)
Convert a symmetric matrix to a standard matrix.
|
static int |
createMatrix(String name,
int rows,
int cols,
double initialValue)
Create a Stata matrix.
|
static int |
createMatrix(String name,
int rows,
int cols,
double initialValue,
boolean isSymmetric)
Create a Stata matrix.
|
static double |
getAt(double[] matrix,
int colCount,
int row,
int col)
Access an element of a previously obtained Stata matrix in
the form of a one-dimensional array.
|
static double[] |
getMatrix(String name)
Get the data in a Stata matrix.
|
static int |
getMatrixCol(String name)
Get the number of columns in a Stata matrix.
|
static String[] |
getMatrixColNames(String name)
Get the column names of a Stata matrix.
|
static int |
getMatrixRow(String name)
Get the number of rows in a Stata matrix.
|
static String[] |
getMatrixRowNames(String name)
Get the row names of a Stata matrix.
|
static int |
setMatrixColNames(String name,
String[] colNames)
Set the column names of a Stata matrix.
|
static int |
setMatrixRowNames(String name,
String[] rowNames)
Set the row names of a Stata matrix.
|
static int |
storeMatrixAt(String name,
int row,
int col,
double val)
Store an element in an existing Stata matrix.
|
public static double[] getMatrix(String name)
getAt()
to obtain elements
of the returned array.name
- Name of the Stata matrix.public static double getAt(double[] matrix, int colCount, int row, int col)
matrix
- The matrix in the form of a one-dimensional
array.colCount
- The number of columns. This value can be
obtained by calling
getMatrixCol()
.row
- Zero-based row number.col
- Zero-based column number.public static int getMatrixRow(String name)
name
- Name of the Stata matrix.public static int getMatrixCol(String name)
name
- Name of the Stata matrix.public static String[] getMatrixRowNames(String name)
name
- Name of the Stata matrix.String
array containing the row names of the matrix.
Returns null if an error occurs.public static String[] getMatrixColNames(String name)
name
- Name of the Stata matrix.String
array containing the column names of the
matrix. Returns null if an error occurs.public static int setMatrixRowNames(String name, String[] rowNames)
name
- Name of the Stata matrix.rowNames
- A String
array containing the row names for
the matrix. The array length must match the number of
rows in the matrix.public static int setMatrixColNames(String name, String[] colNames)
name
- Name of the Stata matrix.colNames
- A String
array containing the column names for
the matrix. The array length must match the number of
columns in the matrix.public static int createMatrix(String name, int rows, int cols, double initialValue)
name
- Name of the matrix to create.rows
- Number of rows.cols
- Number of columns.initialValue
- An initialization value for each element.public static int createMatrix(String name, int rows, int cols, double initialValue, boolean isSymmetric)
name
- Name of the matrix to create.rows
- Number of rows.cols
- Number of columns.initialValue
- An initialization value for each element.isSymmetric
- Mark the matrix as symmetric. If the number
of rows and columns are not equal, this parameter will be
ignored. This parameter affects the behavior of
storeMatrixAt()
.
When the matrix is marked as symmetric,
storeMatrixAt()
will always maintain symmetry.public static int storeMatrixAt(String name, int row, int col, double val)
name
- Name of the matrix.row
- Zero-based row number.col
- Zero-based column number.val
- Value.public static int convertSymmetricToStd(String name)
name
- Name of the matrix.