【Java学习】使用Java 计算矩阵
2026/7/28 15:20:26 网站建设 项目流程

1 概述

前段时间在搞一个工程,为了达到某个指标,和同事讨论竟然用到了矩阵的算法,越来越感觉矩阵的重要性了,这篇文章主要是某个工程开发过程中用到的算法,和android本身没有关系
参考文章
Java调用jama实现矩阵运算
线性代数java包,Jama的常用方法
jama的官方API

2 详细记录

2.1 判定两个矩阵是否完全相同

利用的数学原理就是:矩阵的秩等于0的充分必要条件是这个矩阵是零矩阵。
行列如果相同,就做减法

publicstaticbooleanIsMatrixEqual(Matrix amatrix,Matrix bmatrix){if(amatrix.getColumnDimension()==bmatrix.getColumnDimension()&&amatrix.getRowDimension()==bmatrix.getRowDimension()){Matrix minus_matrix=amatrix.minus(bmatrix);if(minus_matrix.rank()==0){returntrue;}elsereturnfalse;}elsereturnfalse;}

demo

double[][]vals={{1.,2.,3},{4.,5.,6.},{7.,8.,10.}};Matrix A=newMatrix(vals);double[][]vals2={{1.,2.,3},{4.,5.,6.},{7.,8.,10.}};Matrix B=newMatrix(vals2);System.out.println(StackUtil.IsMatrixEqual(A,B));

2.2 java 字符串处理

2.2.1 统计字符串中某个字符的个数

参考Java中判断某个String字符串是否包含特定字符串,并统计个数

String res="AAAAABBAAA";String b="B";intcount=(res.length()-res.replace(b,"").length())/b.length();

2.2.2 将字符串进行分割,转化为矩阵

(处理后可以用于机器学习的样本)

publicstaticMatrixCreateMatrixByStack(String[]str_array){introw_dimension=str_array.length;intcol_dimension=0;System.out.println("row_dimension :"+row_dimension);List<Integer>colmu_index=newArrayList<Integer>();for(inti=0;i<str_array.length;i++){intcolmu_index_len=str_array[i].length()-str_array[i].replace("X","").length()+1;colmu_index.add(colmu_index_len);if(colmu_index_len>col_dimension){col_dimension=colmu_index_len;}}System.out.println("col_dimension: "+col_dimension);double[][]stack_val=newdouble[row_dimension][col_dimension];for(inti=0;i<row_dimension;i++){for(intj=0;j<col_dimension;j++){if(j<colmu_index.get(i))stack_val[i][j]=1;elsestack_val[i][j]=0;}}returnnewMatrix(stack_val);}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询