欢迎来到天天文库
浏览记录
ID:36220955
大小:430.00 KB
页数:20页
时间:2019-05-07
《实验5特殊矩阵的存储和运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告五特殊矩阵和广义表的存储和运算班级:姓名:学号:专业:一、实验目的:1、了解多维数组的存储方式和存取特点2、熟悉稀疏矩阵的存储方式3、用三元组法实现稀疏矩阵的相、减、转置算法。二、实验内容:1、在矩阵类Matrix中,增加下列操作:1)判断一个矩阵是否为上(下)三角矩阵、对称矩阵。2)判断两个矩阵是否相等。3)计算两个矩阵的乘积。算法原代码:publicclassMatrix{privateint[][]matrix;privateintrow;privateintcolumn;publicMatrix(int[][]matrix){ro
2、w=matrix.length;column=matrix[0].length;this.matrix=newint[row][column];for(inti=0;i3、arammatrix*@return*/publicstaticbooleanisUpTri(Matrixmatrix){if(matrix.column!=matrix.row){thrownewIllegalArgumentException("矩阵的行列不相等");}for(inti=0;i4、*@parammatrix*@return*/publicstaticbooleanisDownTri(Matrixmatrix){//先判断行列相不相等if(matrix.column!=matrix.row){thrownewIllegalArgumentException("矩阵的行列不相等");}for(intj=0;j5、turntrue;}/***判断matrix是不是对称矩阵*@parammatrix*@return*/publicstaticbooleanisSymmetry(Matrixmatrix){for(inti=0;i6、@parammatrix2*@return*/publicstaticbooleanequals(Matrixmatrix1,Matrixmatrix2){if(matrix1.getRow()!=matrix2.getRow()7、8、matrix1.getColumn()!=matrix2.getColumn()){returnfalse;}for(inti=0;i9、ement(i,j)){returnfalse;}}}returntrue;}/***将两个矩阵相乘*@paramTemPMatrix*@return*/publicMatrixmultiply(MatrixTemPMatrix){if(column!=TemPMatrix.row){thrownewIllegalArgumentException("行列不匹配,两个矩阵无法相乘");}Matrixmatrix1=newMatrix(row,TemPMatrix.column);for(inti=0;i10、intj=0;j
3、arammatrix*@return*/publicstaticbooleanisUpTri(Matrixmatrix){if(matrix.column!=matrix.row){thrownewIllegalArgumentException("矩阵的行列不相等");}for(inti=0;i4、*@parammatrix*@return*/publicstaticbooleanisDownTri(Matrixmatrix){//先判断行列相不相等if(matrix.column!=matrix.row){thrownewIllegalArgumentException("矩阵的行列不相等");}for(intj=0;j5、turntrue;}/***判断matrix是不是对称矩阵*@parammatrix*@return*/publicstaticbooleanisSymmetry(Matrixmatrix){for(inti=0;i6、@parammatrix2*@return*/publicstaticbooleanequals(Matrixmatrix1,Matrixmatrix2){if(matrix1.getRow()!=matrix2.getRow()7、8、matrix1.getColumn()!=matrix2.getColumn()){returnfalse;}for(inti=0;i9、ement(i,j)){returnfalse;}}}returntrue;}/***将两个矩阵相乘*@paramTemPMatrix*@return*/publicMatrixmultiply(MatrixTemPMatrix){if(column!=TemPMatrix.row){thrownewIllegalArgumentException("行列不匹配,两个矩阵无法相乘");}Matrixmatrix1=newMatrix(row,TemPMatrix.column);for(inti=0;i10、intj=0;j
4、*@parammatrix*@return*/publicstaticbooleanisDownTri(Matrixmatrix){//先判断行列相不相等if(matrix.column!=matrix.row){thrownewIllegalArgumentException("矩阵的行列不相等");}for(intj=0;j5、turntrue;}/***判断matrix是不是对称矩阵*@parammatrix*@return*/publicstaticbooleanisSymmetry(Matrixmatrix){for(inti=0;i6、@parammatrix2*@return*/publicstaticbooleanequals(Matrixmatrix1,Matrixmatrix2){if(matrix1.getRow()!=matrix2.getRow()7、8、matrix1.getColumn()!=matrix2.getColumn()){returnfalse;}for(inti=0;i9、ement(i,j)){returnfalse;}}}returntrue;}/***将两个矩阵相乘*@paramTemPMatrix*@return*/publicMatrixmultiply(MatrixTemPMatrix){if(column!=TemPMatrix.row){thrownewIllegalArgumentException("行列不匹配,两个矩阵无法相乘");}Matrixmatrix1=newMatrix(row,TemPMatrix.column);for(inti=0;i10、intj=0;j
5、turntrue;}/***判断matrix是不是对称矩阵*@parammatrix*@return*/publicstaticbooleanisSymmetry(Matrixmatrix){for(inti=0;i6、@parammatrix2*@return*/publicstaticbooleanequals(Matrixmatrix1,Matrixmatrix2){if(matrix1.getRow()!=matrix2.getRow()7、8、matrix1.getColumn()!=matrix2.getColumn()){returnfalse;}for(inti=0;i9、ement(i,j)){returnfalse;}}}returntrue;}/***将两个矩阵相乘*@paramTemPMatrix*@return*/publicMatrixmultiply(MatrixTemPMatrix){if(column!=TemPMatrix.row){thrownewIllegalArgumentException("行列不匹配,两个矩阵无法相乘");}Matrixmatrix1=newMatrix(row,TemPMatrix.column);for(inti=0;i10、intj=0;j
6、@parammatrix2*@return*/publicstaticbooleanequals(Matrixmatrix1,Matrixmatrix2){if(matrix1.getRow()!=matrix2.getRow()
7、
8、matrix1.getColumn()!=matrix2.getColumn()){returnfalse;}for(inti=0;i9、ement(i,j)){returnfalse;}}}returntrue;}/***将两个矩阵相乘*@paramTemPMatrix*@return*/publicMatrixmultiply(MatrixTemPMatrix){if(column!=TemPMatrix.row){thrownewIllegalArgumentException("行列不匹配,两个矩阵无法相乘");}Matrixmatrix1=newMatrix(row,TemPMatrix.column);for(inti=0;i10、intj=0;j
9、ement(i,j)){returnfalse;}}}returntrue;}/***将两个矩阵相乘*@paramTemPMatrix*@return*/publicMatrixmultiply(MatrixTemPMatrix){if(column!=TemPMatrix.row){thrownewIllegalArgumentException("行列不匹配,两个矩阵无法相乘");}Matrixmatrix1=newMatrix(row,TemPMatrix.column);for(inti=0;i10、intj=0;j
10、intj=0;j
此文档下载收益归作者所有