矩阵求逆代码
编写一个程序实现N(N> =3)阶矩阵(方阵)的求逆运算
要求:1.程序实现完成N阶方阵的输入输出及逆矩阵的输出
2.求逆运算算法不限 要求数值精确到小数点后至少两位
------解决方案--------------------import java.io.*;
import java.text.*;
public class Test
{
public static void main(String args[])
{int N;
String str[];
try
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
N=Integer.parseInt(br.readLine());
double a[][]=new double[N][N],b[][]=new double[N][N];
System.out.println( "请输入 "+N*N+ "个数作为原始矩阵的元素,并以空格分隔 ");
BufferedReader brr=new BufferedReader(new InputStreamReader(System.in));
str=brr.readLine().split( " ");
for (int j=0,k=0,i=0;j <N&&k <N ;i++ )
{
a[k][j]=Double.parseDouble(str[i]);j++;
if ((i+1)%N==0)
{
k++;
j=0;
}
}
System.out.println( "原始矩阵为: ");
for (int i=0;i <N ;i++ )
{
for (int j=0;j <N ;j++ )
{
System.out.print(a[i][j]+ " ");
if ((j+1)%N==0)
{
System.out.println();
}
}
}
System.out.println( "逆矩阵为: ");
for (int i=0;i <N ;i++ )
{
for (int j=0;j <N ;j++ )
{
b[i][j]=a[j][i];
System.out.print(b[i][j]+ " ");
if ((j+1)%N==0)
{
System.out.println();
}
}
}
}
catch (
IOException e)
{
}
}
}
------解决方案--------------------楼上的代码是转置矩阵吧
------解决方案--------------------import java.util.*;
public class Structure
{
public static void change(int[][] a)
{
LinkedList <Integer> al=new LinkedList <Integer> ();
for(int i=0;i <a.length;i++)
{
for(int j=0;j <a[0].length;j++)
{
al.add(a[i][j]);
}
}
System.out.println( "转换前的矩阵: ");
int k=0;
for(int i=0;i <a.length;i++)
{
for(int j=0;j <a[0].length;j++)
{
System.out.print(al.get(k)+ " ");
k++;
}
System.out.println();
}
k=0;
for(int i=a.length-1;i> =0;i--)
{
for(int j=a[0].length-1;j> =0;j--)
{
a[i][j]=al.get(k);
k++;
}
}
System.out.println( "转换后的矩阵: ");
for(int i=0;i <a.length;i++)
{
for(int j=0;j <a[0].length;j++)
{
System.out.print(a[i][j]+ " ");
}
System.out.println();
}
}
public static void main(String[] args)
{
int[][] a={{1,2,3},{4,5,6},{7,8,9}};
change(a);
}
}
------解决方案--------------------晕死~
T×T^-1=E
T^-1叫做T的逆矩阵!
有点常识好不好?
------解决方案--------------------最传统的方法就是用增广矩阵计算