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