欢迎来到天天文库
浏览记录
ID:9302151
大小:40.00 KB
页数:16页
时间:2018-04-27
《矩阵求逆及相关运算(matrix inverse and related operations)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、矩阵求逆及相关运算(Matrixinverseandrelatedoperations)UsingSystem;UsingSystem.Collections.Generic;UsingSystem.TheText;ThenamespaceByteTest{///Theapproximateideaof//algorithmistotaketheinitialtransformationofthedeterminant.///PublicclassMatrixComputer{/////
2、inversematrix/////////Publicstaticdouble[,]dMatrix{//thenumberofrowstoobtainthematrixIntLevel=dMatrix.GetLength(1);////thedeterminantofthematrix//doubledMatrixValue=MatrixValue(dMatrix);//if(dMatrixValue==0)//{//retur
3、nnull;//}Adouble[,]dReverseMatrix=newdouble[Level,2*Level];//initializationmatrixLevel(2*Level)For(intI=0;I4、}For(intI=0,j=0;I5、m,n];}}}Doubletemp=dReverseMatrix[I,j];If(temp!=1){//theIrowdataisturnedintoarowofdatastartingat1For(intn=j;n<2*Level;n++){If(dReverseMatrix[I,n]!=0){DReverseMatrix[I,n]/=temp;}}}//thejcolumnofallrowsafterIrowbecomes0(ints=Level-1;s>I;s--){Temp=dReverseMatrix[s,j];For(intt=6、j;t<2*Level;t++){DReverseMatrix[s,t]-=(dReverseMatrix[I,t]*temp);}}}//changetheLevelxLevelofthematrixLevel(2*Level)totheidentitymatrix(intI=level-2;I>=0;I--){For(intj=I+1;j7、eMatrix[I,n]-=(TMP*dReverseMatrix[j,n]);}}}}//returntotheinversematrix双[,]再翻一层;for(inti=0;i///<总结///求矩阵对应行列式的值///总结>//////<返回>返回>公共静态双矩阵值(double[,]矩阵8、){int水平=MatrixList.GetLength(1);双[,]dMatrix=newdouble[Level,Level];for(inti=0;i
4、}For(intI=0,j=0;I5、m,n];}}}Doubletemp=dReverseMatrix[I,j];If(temp!=1){//theIrowdataisturnedintoarowofdatastartingat1For(intn=j;n<2*Level;n++){If(dReverseMatrix[I,n]!=0){DReverseMatrix[I,n]/=temp;}}}//thejcolumnofallrowsafterIrowbecomes0(ints=Level-1;s>I;s--){Temp=dReverseMatrix[s,j];For(intt=6、j;t<2*Level;t++){DReverseMatrix[s,t]-=(dReverseMatrix[I,t]*temp);}}}//changetheLevelxLevelofthematrixLevel(2*Level)totheidentitymatrix(intI=level-2;I>=0;I--){For(intj=I+1;j7、eMatrix[I,n]-=(TMP*dReverseMatrix[j,n]);}}}}//returntotheinversematrix双[,]再翻一层;for(inti=0;i///<总结///求矩阵对应行列式的值///总结>//////<返回>返回>公共静态双矩阵值(double[,]矩阵8、){int水平=MatrixList.GetLength(1);双[,]dMatrix=newdouble[Level,Level];for(inti=0;i
5、m,n];}}}Doubletemp=dReverseMatrix[I,j];If(temp!=1){//theIrowdataisturnedintoarowofdatastartingat1For(intn=j;n<2*Level;n++){If(dReverseMatrix[I,n]!=0){DReverseMatrix[I,n]/=temp;}}}//thejcolumnofallrowsafterIrowbecomes0(ints=Level-1;s>I;s--){Temp=dReverseMatrix[s,j];For(intt=
6、j;t<2*Level;t++){DReverseMatrix[s,t]-=(dReverseMatrix[I,t]*temp);}}}//changetheLevelxLevelofthematrixLevel(2*Level)totheidentitymatrix(intI=level-2;I>=0;I--){For(intj=I+1;j7、eMatrix[I,n]-=(TMP*dReverseMatrix[j,n]);}}}}//returntotheinversematrix双[,]再翻一层;for(inti=0;i///<总结///求矩阵对应行列式的值///总结>//////<返回>返回>公共静态双矩阵值(double[,]矩阵8、){int水平=MatrixList.GetLength(1);双[,]dMatrix=newdouble[Level,Level];for(inti=0;i
7、eMatrix[I,n]-=(TMP*dReverseMatrix[j,n]);}}}}//returntotheinversematrix双[,]再翻一层;for(inti=0;i///<总结///求矩阵对应行列式的值///总结>//////<返回>返回>公共静态双矩阵值(double[,]矩阵
8、){int水平=MatrixList.GetLength(1);双[,]dMatrix=newdouble[Level,Level];for(inti=0;i
此文档下载收益归作者所有