一、提出问题
如何利用行列式展开法计算行列式的值
二、基本理论与操作说明
三、举例说明
1、代码
public class first {
static int[][] geta(int m[][],int index)
{
int n=m.length;//1
int a[][] = new int[n-1][n-1];//2
for (int i=0,p=0;p<n-1;i++)
{
if(index!=i)
{
for(int j=0;j<n-1;j++)
a[p][j]=m[i][j+1];//3
p++;
}
}
return a;//4
}
static double det(int m [][])//计算行列式
{
int n=m.length;
double result=0;
if (n==1) return m[0][0];//5
for (int i=0;i<n;i++)//循环求和
{
int a[][]=geta(m,i);//6 按列展开
if (i%2==0)
result+=m[i][0]*det(a);//7 递归求余子式
else
result-=m[i][0]*det(a);//8 递归求余子式
}
return result;//9
}
public static void main(String[] args) {
int m[][]={{2,2,2},{2,2,9},{3,6,3}};//det=-42
double res=det(m);// 10
System.out.println(res);
}
}
2、执行结果