本文实例讲述了java实现的n*n矩阵求值及求逆矩阵算法。分享给大家供大家参考,具体如下:

先来看看运行结果:
java版的写出来了,用的跟c语言相同的算法,然后看看能不能以后加个框做成程序:
import java.math.*;
import java.util.*;
import java.text.*;
public class matrix {
static int map1[][]=new int [110][110];
static int just[][]=new int [110][110];
public static void printf(int n,int map[][])
{
int i,j;
for(i=1;i<=n;i++ )
{
for(j=1;j<n;j++)
System.out.print(map[i][j]+" ");
System.out.println(map[i][j]);
}
}
public static void get(int numi,int numj,int map[][],int n)
{
int i,j,k,l;
for(i=0;i<n+10;i++)
for(j=0;j<n+10;j++)
just[i][j]=1;
for(i=1;i<=n-1;i++)//求余子式矩阵
for(j=1;j<=n-1;j++)
{
if(i>=numi&&j<numj)
just[i][j]=map[i+1][j];
else if(i>=numi&&j>=numj)
just[i][j]=map[i+1][j+1];
else if(i<numi&&j>=numj)
just[i][j]=map[i][j+1];
else if(i<numi&&j<numj)
just[i][j]=map[i][j];
}
}
//static int map[][]=new int [110][110];
public static int getans(int nn)
{
int map[][]=new int [110][110];
for(int i=1;i<=nn;i++)
for(int j=1;j<=nn;j++)
map[i][j]=just[i][j];
if(nn==2)
return map[1][1]*map[2][2]-map[1][2]*map[2][1];
else if(nn==1)
return map[1][1];
else
{
int cnb=0;
for(int i=1;i<=nn;i++)
{
get(1,i,map,nn);//得到当前余子式 just
// printf("pay attention!\n");
//print(map,nn);
//print(just,nn-1);
if(i%2==1)
cnb+=map[1][i]*getans(nn-1);
else
cnb-=map[1][i]*getans(nn-1);
}
return cnb;
}
}
public static int gcd(int m,int n)
{
// if(m<n)
// matrix.gcd(n,m);
// if(n==0)
// return m;
//
// else
// return matrix.gcd(n,m%n);
int mm=m;
int nn=n;
if(mm<nn)
{
int c=mm;
mm=nn;
nn=c;
}
int w=1;
while(w!=0)
{
w=mm%nn;
mm=nn;
nn=w;
}
return mm;
}
public static void ans(int n,int m)
{
if(n*m<0)
{
System.out.print("-");
ans(Math.abs(n),Math.abs(m));
return ;
}
if(m==1)
System.out.print(n+"\t");
else if(n%m==0)
System.out.print(n/m+"\t");
else
System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t");
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner cin=new Scanner(System.in);
int i,j,k,l,m,p;
while(true)
{
int n=cin.nextInt();
int ans=0;
for(i=0;i<n+10;i++)
for(j=0;j<n+10;j++)
map1[i][j]=1;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
map1[i][j]=cin.nextInt();
just[i][j]=map1[i][j];
}
int ans1=matrix.getans(n);
System.out.println("矩阵的值为:");
System.out.println(ans1);
int map2[][]=new int [110][110];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
map2[i][j]=map1[j][i];
just[i][j]=map2[i][j];
}
System.out.println("转置矩阵为:");
matrix.printf(n, map2);
int help2=matrix.getans(n);
System.out.println(help2);
if(help2==0)
{
System.out.println("No inverse matrix");
continue;
}
System.out.println("逆矩阵为:");
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
matrix.get(i, j, map2, n);
//boolean b=((i+j)%2==0);
if((i+j)%2==0)
matrix.ans(matrix.getans(n-1), help2);
else
matrix.ans(matrix.getans(n-1)*-1, help2);
}
System.out.println();
}
System.out.println();
}
}
}
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
# java
# n*n
# 矩阵
# 求值
# 逆矩阵
# 算法
# Java实现的求逆矩阵算法示例
# C#计算矩阵的逆矩阵方法实例分析
# C语言求逆矩阵案例详解
# 操作技巧
# 来了
# 相关内容
# 感兴趣
# 数据结构
# 给大家
# 更多关于
# 所述
# 先来
# 程序设计
# 自动生成
# 值为
# 后加
# 讲述了
# void
# matrix
# static
# int
# printf
相关文章:
ui设计制作网站有哪些,手机UI设计网址吗?
已有域名和空间如何快速搭建网站?
如何高效完成自助建站业务培训?
电商网站制作价格怎么算,网上拍卖流程以及规则?
设计网站制作公司有哪些,制作网页教程?
宝塔新建站点为何无法访问?如何排查?
宝塔Windows建站如何避免显示默认IIS页面?
如何用西部建站助手快速创建专业网站?
宝塔建站后网页无法访问如何解决?
建站之星备案流程有哪些注意事项?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
建站之星安装步骤有哪些常见问题?
如何自定义建站之星网站的导航菜单样式?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
如何在Windows 2008云服务器安全搭建网站?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何通过网站建站时间优化SEO与用户体验?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
代购小票制作网站有哪些,购物小票的简要说明?
如何设计高效校园网站?
全景视频制作网站有哪些,全景图怎么做成网页?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何通过山东自助建站平台快速注册域名?
专业公司网站制作公司,用什么语言做企业网站比较好?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
行程制作网站有哪些,第三方机票电子行程单怎么开?
Python lxml的etree和ElementTree有什么区别
如何快速配置高效服务器建站软件?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
建站之星如何助力网站排名飙升?揭秘高效技巧
平台云上自助建站如何快速打造专业网站?
如何基于云服务器快速搭建个人网站?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
javascript基本数据类型及类型检测常用方法小结
上海网站制作开发公司,上海买房比较好的网站有哪些?
建站之星2.7模板:企业网站建设与h5定制设计专题
如何在IIS管理器中快速创建并配置网站?
如何在Windows环境下新建FTP站点并设置权限?
寿县云建站:智能SEO优化与多行业模板快速上线指南
如何高效利用亚马逊云主机搭建企业网站?
兔展官网 在线制作,怎样制作微信请帖?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
,如何利用word制作宣传手册?
如何在阿里云通过域名搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。