public Matrix matrixTranspose() { // 矩阵转置 int i, j; Matrix trans_matrix = new Matrix(); for (i = 0; i < getLine(); i++) for (j = 0; j < getRow(); j++) trans_matrix.setElement(j, i, this.getElement(i, j)); trans_matrix.setLine(getLine()); trans_matrix.setRow(getRow()); trans_matrix.setAccuracy(getAccuracy()); return trans_matrix; }
public static Matrix matrixMinus(Matrix matrix1, Matrix matrix2) { // 矩阵减法 int i, j; Matrix matrix = new Matrix(); for (i = 0; i < matrix1.getLine(); i++) for (j = 0; j < matrix1.getRow(); j++) matrix.setElement(i, j, matrix1.getElement(i, j) - matrix2.getElement(i, j)); matrix.setLine(matrix1.getLine()); matrix.setRow(matrix1.getRow()); matrix.setAccuracy(matrix1.getAccuracy()); return matrix; }
public static Matrix matrixCopy(Matrix matrix) { // 矩阵复制 int i, j; Matrix matrix_copy = new Matrix(); matrix_copy.setLine(matrix.getLine()); matrix_copy.setRow(matrix.getRow()); matrix_copy.setAccuracy(matrix.getAccuracy()); matrix_copy.setName(matrix.getName()); for (i = 0; i < matrix.getLine(); i++) for (j = 0; j < matrix.getRow(); j++) matrix_copy.setMatrixArray(matrix.getMatrixArray()); return matrix_copy; }
public static Matrix scanMatrix() { // 输入矩阵 int i, j; Matrix matrix = new Matrix(); Scanner scanner = new Scanner(System.in); matrix.setLine(scanner.nextInt()); matrix.setRow(scanner.nextInt()); matrix.setAccuracy(scanner.nextDouble()); for (i = 0; i < matrix.getLine(); i++) { for (j = 0; j < matrix.getRow(); j++) matrix.setElement(i, j, scanner.nextDouble()); } return matrix; }
public static Matrix matrixMultiply(Matrix matrix1, Matrix matrix2) { // 矩阵乘法 int i, j, k; Matrix matrix = new Matrix(); matrix.setLine(matrix1.getLine()); matrix.setRow(matrix2.getRow()); matrix.setAccuracy(matrix1.getAccuracy()); for (i = 0; i < matrix.getLine(); i++) for (j = 0; j < matrix.getRow(); j++) matrix.setElement(i, j, 0.0); for (i = 0; i < matrix.getLine(); i++) for (j = 0; j < matrix.getRow(); j++) for (k = 0; k < matrix1.getRow(); k++) matrix.setElement( i, j, matrix.getElement(i, j) + matrix1.getElement(i, k) * matrix2.getElement(k, j)); return matrix; }