【Java学习】使用Java 计算矩阵

发布时间:2026/7/28 15:20:33
【Java学习】使用Java 计算矩阵 1 概述前段时间在搞一个工程为了达到某个指标和同事讨论竟然用到了矩阵的算法越来越感觉矩阵的重要性了这篇文章主要是某个工程开发过程中用到的算法和android本身没有关系参考文章Java调用jama实现矩阵运算线性代数java包,Jama的常用方法jama的官方API2 详细记录2.1 判定两个矩阵是否完全相同利用的数学原理就是矩阵的秩等于0的充分必要条件是这个矩阵是零矩阵。行列如果相同就做减法publicstaticbooleanIsMatrixEqual(Matrix amatrix,Matrix bmatrix){if(amatrix.getColumnDimension()bmatrix.getColumnDimension()amatrix.getRowDimension()bmatrix.getRowDimension()){Matrix minus_matrixamatrix.minus(bmatrix);if(minus_matrix.rank()0){returntrue;}elsereturnfalse;}elsereturnfalse;}demodouble[][]vals{{1.,2.,3},{4.,5.,6.},{7.,8.,10.}};Matrix AnewMatrix(vals);double[][]vals2{{1.,2.,3},{4.,5.,6.},{7.,8.,10.}};Matrix BnewMatrix(vals2);System.out.println(StackUtil.IsMatrixEqual(A,B));2.2 java 字符串处理2.2.1 统计字符串中某个字符的个数参考Java中判断某个String字符串是否包含特定字符串并统计个数String resAAAAABBAAA;String bB;intcount(res.length()-res.replace(b,).length())/b.length();2.2.2 将字符串进行分割转化为矩阵处理后可以用于机器学习的样本publicstaticMatrixCreateMatrixByStack(String[]str_array){introw_dimensionstr_array.length;intcol_dimension0;System.out.println(row_dimension :row_dimension);ListIntegercolmu_indexnewArrayListInteger();for(inti0;istr_array.length;i){intcolmu_index_lenstr_array[i].length()-str_array[i].replace(X,).length()1;colmu_index.add(colmu_index_len);if(colmu_index_lencol_dimension){col_dimensioncolmu_index_len;}}System.out.println(col_dimension: col_dimension);double[][]stack_valnewdouble[row_dimension][col_dimension];for(inti0;irow_dimension;i){for(intj0;jcol_dimension;j){if(jcolmu_index.get(i))stack_val[i][j]1;elsestack_val[i][j]0;}}returnnewMatrix(stack_val);}