因为专业实习的工作需要,要用Java编程实现对已知矩阵求逆矩阵的过程,折腾了3天,终于编出来了。网上通行的矩阵求逆的主要方法是高斯-约旦法,感觉不是很清楚,也不是很好懂。我采用的是线性代数中最传统的方法,为矩阵右加一个单位矩阵后进行初等行变换,当左边变成单位矩阵时,右边就是求得的逆矩阵。

cMatrix.java代码:

/**

* Classname:@(#)cMatrix.java

*

* Version

information:V1.0

*

* Date:2005-07-21

*

* Copyright

notice:Copyright (c) 2005 Lichee, org.

*/

import java.lang.*;

import java.io.*;

import java.math.*;

import

java.util.*;

/**

* 求逆矩阵

*

*

* @version  1.0 21 July 2005

*

@author  farewell

*/

public class cMatrix{

public

cMatrix(){

double Vp[][] = new double [10][10];

int i,j;

i = j =

3;

for(int k=1;k<10;k++)

{

for(int t=1;t<10;t++)

{

Vp[k][t] = 0.0;

}

}

//input the data of the matrix

Vp[1][1] = 1;

Vp[1][2] = 2;

Vp[1][3] = 3;

Vp[2][1] = 2;

Vp[2][2] = 2;

Vp[2][3] = 1;

Vp[3][1] = 3;

Vp[3][2] = 4;

Vp[3][3] = 3;

System.out.println("Print out the array first.");

for(int

x=1;x<=i;x++)

{

for(int y=1;y<=j;y++)

{

System.out.print(Vp[x][y]+"  ");

}

System.out.println();

}

System.out.println("\nThen Try to change it.Use identity matrix.");

//add the

identity array at the end

for(int k=1;k<=i;k++)

{

for(int

t=j+1;t<=j*2;t++)

{

if((t-k)==j)

{

Vp[k][t]=1.0;

}

else

{

Vp[k][t]=0;

}

}

}

for(int x=1;x<=i;x++)

{

for(int

y=1;y<=j*2;y++)

{

System.out.print(Vp[x][y]+"  ");

}

System.out.println();

}

//get the change of the array

for(int k=1;k<=i;k++)

{

if(Vp[k][k]!=1)

{

double

bs = Vp[k][k];

Vp[k][k]=1;

for(int p=k+1;p<=j*2;p++)

{

Vp[k][p]/=bs;

//

System.out.println("Vp["+k+","+p+"]="+Vp[k][p]);

}

}

for(int q=1;q<=i;q++)

{

if(q!=k)

{

double bs = Vp[q][k];

for(int p=1;p<=j*2;p++)

{

//

System.out.println(bs);

Vp[q][p]-=bs*Vp[k][p];

//

System.out.println("Vp["+q+","+p+"]="+Vp[q][p]);

}

}

else

{

continue;

}

}

}

//print out the

result of the change

System.out.println("\nThe result is:");

for(int

x=1;x<=i;x++)

{

for(int y=j+1;y<=j*2;y++)

{

System.out.print(Vp[x][y]+"  ");

}

System.out.println();

}

}

public static void main(String args[])

{

cMatrix cm = new

cMatrix();

}

}

java 逆矩阵_用Java实现求逆矩阵相关推荐

  1. 易语言 java支持_开源Java客户端可以连接易语言服务器

    我们的服务端处理客户端的连接请求是同步进行的, 每次接收到来自客户端的连接请求后, 都要先跟当前的客户端通信完之后才能再处理下一个连接请求. 这在并发比较多的情况下会严重影响程序的性能, 为此,我们可 ...

  2. 尚学堂java培训_送给 Java 自学者或者初学者的最全知识清单,2020 年 Java 就该这么学...

    最近逛知乎,发现有很多想自学 Java 或者 Java 初学者提问,不知道如何学习 Java?我接触 Java 快 8 年的时间了,一直从事 Java 开发工作,自己一直升级打怪,对于如何更好的学习 ...

  3. java 模板方法_设计模式(java实现)_模板方法模式(Template method)

    设计模式(java实现)_模板方法模式(Template method) 模板方法模式是编程中经常用到到的模式.它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现.这样,新的子类可以在不改变一个 ...

  4. java安装_使用Java 9模块化来发布零依赖本机应用程序

    java安装 为什么我不能仅构建一个.EXE? 首次引入Java时,主流编程语言大多要么编译成独立的可执行文件(例如C / C ++,COBOL),要么在解释器中运行(例如Perl,Tcl). 对于许 ...

  5. java转账_使用Java模拟银行账户存、取款、转账功能

    半枯 package bank;import java.util.Scanner;/** * 1.建立一个银行账户类(Acount),具有建立新帐号.查询余额.存款.取款.转账 * 即从本账户把钱转给 ...

  6. java预期_预期. java的

    我有这段java代码.我是java中的菜鸟.. 错误: expected cfg = new Config; 码: import java.sql.Connection; import java.sq ...

  7. python能解密java的_实现Java加密,Python解密的RSA非对称加密算法功能

    摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...

  8. java书籍_学习Java最好的10本书,从入门到精通

    在当代,学习Java等编程课程的主要方式是视频资源,如果你想学,在网上五分钟之内就可以找到一堆学习视频,瞬间将你的硬盘填满.但是这些课程质量良莠不齐,对于小白来说很难辨别好坏. 但是书籍不同,书籍都是 ...

  9. java 方块_哈工大java实验 移动小方块

    /*java第二次实验 * 移动小方块 */ import javax.swing.*; import java.awt.event.*; import java.awt.geom.*; import ...

  10. 泛型java实例_【Java学习笔记】Java6泛型实例

    你若是不使用泛型,则会这样处理数据类型不确定的问题: class Stash { private Object x; void set(Object x) { this.x = x; } Object ...

最新文章

  1. XML中需要转义的字符
  2. Microsoft发布用于统一事件处理的Azure事件网格
  3. 虽然在修行初期的飞鸽传书
  4. 一键搞定数码照片印前特效-【用可牛影像】
  5. adb命令 android 串口_android逆向笔记之初学者常用adb命令
  6. 威联通架设php网站_如何架设PHP服务器
  7. 【安卓9】数据库升级
  8. et200s模块接线图讲解_ET200S 模块说明
  9. javascript设计模式--设计原则
  10. 尼采:快乐的知识(上)
  11. python中英文切换_python国际化(i18n)和中英文切换
  12. 关于消息队列的一些思考
  13. Android 关于display的几个问题
  14. Redis核心技术笔记——Redis主从、主从从、切片集群
  15. [附源码]Java计算机毕业设计SSM工作计划统计分析系统
  16. 视频收集、视频征集、视频采集、征集视频、收集视频、采集视频工具/小程序
  17. 计算机类研究生双证,想要报考计算机专业来攻读双证在职研究生最终是不是可以获得双证...
  18. 编译原理:算符优先分析实验
  19. 关于java实习心得总结(十篇)
  20. FutureTask

热门文章

  1. vue去除input在360兼容模式下删除图标
  2. html字体库的是引入----阿里妈妈
  3. 北京/苏州内推 | 微软亚洲互联网工程院招聘NLP算法工程师(可实习)
  4. Matlab 绘制 BP 神经网络图
  5. java计算机毕业设计农田节水灌溉监测系统源码+程序+lw文档+mysql数据库
  6. python写植物大战僵尸简单版_写个最简单的植物大战僵尸修改器吧!c和python
  7. 微信小程序商城开发记录一之需求分析
  8. 成功在神舟K650c-i7 d2(i7-4700MQ、HM87)上装好了Windows XP
  9. 生活中的算法的实际举例_算法在实际生活中的应用
  10. 电信套餐2020一览表_移动联通接连放大招,5G 套餐要降价?