Java实现的求逆矩阵算法示例
2017-09-30 16:02
951 查看
本文实例讲述了Java实现的求逆矩阵算法。分享给大家供大家参考,具体如下:
package demo; public class MatrixInverse { public static double Det(double [][]Matrix,int N)//计算n阶行列式(N=n-1) { int T0; int T1; int T2; double Num; int Cha; double [][] B; if(N>0) { Cha=0; B=new double ; Num=0; if(N==1) { return Matrix[0][0]*Matrix[1][1]-Matrix[0][1]*Matrix[1][0]; } for (T0=0;T0<=N;T0++)//T0循环 { for (T1=1;T1<=N;T1++)//T1循环 { for (T2=0;T2<=N-1;T2++)//T2循环 { if(T2==T0) { Cha=1; } B[T1-1][T2]=Matrix[T1][T2+Cha]; } //T2循环 Cha=0; } //T1循环 Num=Num+Matrix[0][T0]*Det(B,N-1)*Math.pow((-1),T0); } //T0循环 return Num; } else if(N==0) { return Matrix[0][0]; } return 0; } public static double Inverse(double[][]Matrix,int N,double[][]MatrixC){ int T0; int T1; int T2; int T3; double [][]B; double Num=0; int Chay=0; int Chax=0; B=new double ; double add; add=1/Det(Matrix,N); for ( T0=0;T0<=N;T0++) { for (T3=0;T3<=N;T3++) { for (T1=0;T1<=N-1;T1++) { if(T1<T0) { Chax=0; } else { Chax=1; } for (T2=0;T2<=N-1;T2++) { if(T2<T3) { Chay=0; } else { Chay=1; } B[T1][T2]=Matrix[T1+Chax][T2+Chay]; } //T2循环 }//T1循环 Det(B,N-1); MatrixC[T3][T0]=Det(B,N-1)*add*(Math.pow(-1, T0+T3)); } } return 0; } public static void main(String[]args)//测试 { double[][] TestMatrix = { {1, 22, 34,22}, {1, 11,5,21} , {0,1,5,11}, {7,2,13,19}}; double[][]InMatrix=new double[4][4]; Inverse(TestMatrix,3,InMatrix); String str=new String(""); for (int i=0;i<4;i++) { for (int j=0;j<4;j++) { String strr=String.valueOf(InMatrix[i][j]); str+=strr; str+=" "; } str+="\n"; } System.out.println("脚本之家测试结果:"); System.out.println(str); } }
运行结果:
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Android Java实现余弦匹配算法示例代码
- Java实现的快速查找算法示例
- Java基于余弦方法实现的计算相似度算法示例
- 【数据结构与算法】数组应用1:矩阵乘法(Java实现)
- java实现的AES秘钥生成算法示例
- java数据结构与算法之插入算法实现数值排序示例
- Java实现特定范围的完数输出算法示例
- Java实现输出回环数(螺旋矩阵)的方法示例
- java实现的统计字符算法示例
- Java实现矩阵加减乘除及转制等运算功能示例
- Java实现的计算最大下标距离算法示例
- 矩阵相乘算法的Java语言实现
- Java实现的双向匹配分词算法示例
- 【数据结构与算法】数组应用2:矩阵转置(Java实现)
- 【LeetCode-面试算法经典-Java实现】【074-Search a 2D Matrix(搜索二维矩阵)】
- java实现的RC4加密解密算法示例
- Java实现求子数组和的最大值算法示例
- Java实现DFA算法对敏感词、广告词过滤功能示例
- 【数据结构与算法】数组应用3:稀疏矩阵压缩(Java实现)
- 对称矩阵与压缩存储算法(java实现)