java求矩阵的逆矩阵_java n*n矩阵求值及求逆矩阵
展开全部
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
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
for(j=0;j
just[i][j]=1;
for(i=1;i<=n-1;i++)//求余子式矩阵
for(j=1;j<=n-1;j++)
{
if(i>=numi&&j
just[i][j]=map[i+1][j];
else if(i>=numi&&j>=numj)
just[i][j]=map[i+1][j+1];
else if(i=numj)
just[i][j]=map[i][j+1];
else if(i
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
// matrix.gcd(n,m);
// if(n==0)
// return m;
//
// else
// return matrix.gcd(n,m%n);
int mm=m;
int nn=n;
if(mm
{
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 自动生成e69da5e6ba903231313335323631343130323136353331333361326239的方法存根
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
for(j=0;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 n*n矩阵求值及求逆矩阵相关推荐
- java数据类型及表示范围_Java数据类型及对应取值范围
在Java中,数据类型分为两大种:基本数据类型(值类型)和包装类型(引用数据类型).基本数据类型不是对象,不能调用toString().hashCode().getClass().equals()等方 ...
- java定义一个矩阵的类_java写入一个矩阵,如何编程求该矩阵的秩
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Fraction.java如下:(这个是网上找来的,处理分数的类) // 支持查找功能的分数类 class Fraction implements Com ...
- java开发中用矩阵图吗_Java中的矩阵使用
public class TestArr { public static void main(String[] args) { int m = 3; // m行 int n = 4; // n列 in ...
- java int 传引用吗_Java的参数传递是「值传递」还是「引用传递」?
关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题. 有人说Java中只有值传递,也有人说值传递和引用传递都是存在的,比较容易让人产生疑问. 关于值传递和引用传递其实需要分情况看待. ...
- java中如何调用属性_java – 如何从属性文件导入值并在注释中使用它?
我有一个实体类: Class.java @Entity public class Class { @Id @GeneratedValue private Long id; @NotNull @Rang ...
- java 反射修改final变量_Java中final的属性值怎么利用反射机制进行修改
Java中final的属性值怎么利用反射机制进行修改 发布时间:2020-12-02 17:31:07 来源:亿速云 阅读:96 作者:Leah 今天就跟大家聊聊有关Java中final的属性值怎么利 ...
- java char 初始化为空格_java中char的初始值此代码运行后,char的初始值为空?为 爱问知识人...
jdk官方教程里有写 Default Values(缺省值) ----------------------------------------------------- |Data Type |Def ...
- java 给字典类型赋值_java使用forEach填充字典值
// 填充字典值 Vector vector = vectorMapper.selectByPrimaryKey(id); VectorModel vectorModel = new VectorMo ...
- java 判断是几位数_Java 快速判断一个int值是几位数
今天在一篇文章中看到介绍 快速判断int 值是几位数的程序,感觉很不错,挺强大的,收藏在这里,学习了. public class Test { final static int[] sizeTable ...
最新文章
- Java Vector setElementAt()方法与示例
- 简单理解极大似然估计MLE
- 解决mysql导入数据量很大导致失败及查找my.ini 位置(my.ini)在哪
- php 地址栏url,php 如何隐藏url地址栏参数
- ZooKeeper教程(一)----Centos7下安装ZooKeeper(单机版)
- 阶乘之和计算_浅谈积分计算的技巧
- 如何彻底搞懂面向 Web 开发者的正则表达式?
- python的书籍推荐_python 书籍推荐
- android 内存清理,安卓系统内存清理的方法
- win7桌面背景_win7桌面背景怎么改?
- javassist官方文档翻译
- Magnification API-Windows放大镜
- 嵌入式 Linux 入门 环境篇(一、开发板初体验)
- sqlserver恢复已经删除的表记录
- 一款支持语音搜索及语音Voip的浏览器
- rsync udr——远程大文件传输加速
- win10计算机系统优化设置,Win10不如win7?超实用win10系统优化设置,让电脑运行更流畅!...
- mysql的default_sql语句中default是什么意思?
- c语言中3次方函数图像,三次函数的性质
- 微信开发-js接口的使用无法使用分享功能的一些说明
热门文章
- MPLS-VPN实验
- DDMS分析应用内存中的敏感信息
- View UI (iview)动态表单 使用教程
- 曝腾讯天美程序员税后250万,月均20万
- 51单片机入门基础介绍
- HDLBits:在线学习Verilog(七 · Problem 30-34)
- 基于人工智能算法实现AI足球比赛
- 单页应用 (SPA)
- 2019.11.23-参加 21世纪杯 中小学英语演讲大赛
- jenkins新版本+gitlab配置自动化部署报错Hook executed successfully but returned HTTP 403,没有CSRF选项