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