我想找到在C#4x4矩阵的行列式 [英] i want to find determinant of 4x4 matrix in c#
本文介绍了我想找到在C#4x4矩阵的行列式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能重复:结果
的计算n×n的矩阵行列式C#
块引用>
我想找到的决定因素在C#4x4矩阵的,请帮助紧急
INT SS = 4;诠释计数= 0;
INT [,]矩阵=新的INT [SS,SS]
ArrayList的人=新的ArrayList(){} 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;
的for(int i = 0; I< SS,我++)
{
为(INT J = 0; J< SS; J ++)
{
矩阵[I,J] = Convert.ToInt32(人[计数]);
++计数;
的Response.Write(矩阵[I,J] +);
}
的Response.Write(< BR />中);
}
解决方案如果你是固定4×4,最简单的办法是只硬编码的公式。
//假设矩阵指数从0(0,1开始,图2和3)
公共双行列式(INT [,]米){
返回
M [0,3] * M [1,2] * M [2,1] *米[ 3,0] - 米[0,2] * M [1,3] * M [2,1] *米[3,0] -
M [0,3] * M [1,1] *米[2,2] * M [3,0] + M [0,1] * M [1,3] * M [2,2] * M [3,0] +
M [0,2 ] * M [1,1] * M [2,3] * M [3,0] - 米[0,1] * M [1,2] * M [2,3] * M [3,0] -
M [0,3] * M [1,2] * M [2,0] * M [3,1] + M [0,2] * M [1,3] * M [2,1 0] * M [3,1] +
M [0,3] * M [1,0] * M [2,2] *米[3,1] - 米[0,0] *米[ 1,3] * M [2,2] *米[3,1] -
M [0,2] * M [1,0] * M [2,3] * M [3,1] +米[0,0] * M [1,2] * M [2,3] * M [3,1] +
M [0,3] * M [1,1] * M [2,0 ] * M [3,2] - 米[0,1] * M [1,3] * M [2,0] * M [3,2] -
M [0,3] *米[1 ,0] * M [2,1] * M [3,2] + M [0,0] * M [1,3] * M [2,1] * M [3,2] +
M [0,1] * M [1,0] * M [2,3] * M [3,2] - 米[0,0] * M [1,1] * M [2,3] *米[ 3,2] -
M [0,2] * M [1,1] * M [2,0] * M [3,3] + M [0,1] * M [1,2] *米[2,0] * M [3,3] +
M [0,2] * M [1,0] * M [2,1] * M [3,3] - 米[0,0 ] * M [1,2] * M [2,1] * M [3,3] -
M [0,1] * M [1,0] * M [2,2] * M [3 1,3] + M [0,0] * M [1,1] * M [2,2] * M [3,3];
}
参考
Possible Duplicate:
calculate nxn matrix determinant C#i want to find determinant of 4x4 matrix in c# please help urgent
int ss = 4; int count = 0; int[,] matrix=new int[ss,ss]; ArrayList al = new ArrayList() {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 }; for (int i = 0; i < ss; i++) { for (int j = 0; j < ss; j++) { matrix[i, j] =Convert.ToInt32( al[count]); ++count; Response.Write(matrix[i, j] + " "); } Response.Write("<br/>"); }
解决方案If you're fixed to 4x4, the simplest solution would be to just hardcode the formula.
// assumes matrix indices start from 0 (0,1,2 and 3) public double determinant(int[,] m) { return m[0,3] * m[1,2] * m[2,1] * m[3,0] - m[0,2] * m[1,3] * m[2,1] * m[3,0] - m[0,3] * m[1,1] * m[2,2] * m[3,0] + m[0,1] * m[1,3] * m[2,2] * m[3,0] + m[0,2] * m[1,1] * m[2,3] * m[3,0] - m[0,1] * m[1,2] * m[2,3] * m[3,0] - m[0,3] * m[1,2] * m[2,0] * m[3,1] + m[0,2] * m[1,3] * m[2,0] * m[3,1] + m[0,3] * m[1,0] * m[2,2] * m[3,1] - m[0,0] * m[1,3] * m[2,2] * m[3,1] - m[0,2] * m[1,0] * m[2,3] * m[3,1] + m[0,0] * m[1,2] * m[2,3] * m[3,1] + m[0,3] * m[1,1] * m[2,0] * m[3,2] - m[0,1] * m[1,3] * m[2,0] * m[3,2] - m[0,3] * m[1,0] * m[2,1] * m[3,2] + m[0,0] * m[1,3] * m[2,1] * m[3,2] + m[0,1] * m[1,0] * m[2,3] * m[3,2] - m[0,0] * m[1,1] * m[2,3] * m[3,2] - m[0,2] * m[1,1] * m[2,0] * m[3,3] + m[0,1] * m[1,2] * m[2,0] * m[3,3] + m[0,2] * m[1,0] * m[2,1] * m[3,3] - m[0,0] * m[1,2] * m[2,1] * m[3,3] - m[0,1] * m[1,0] * m[2,2] * m[3,3] + m[0,0] * m[1,1] * m[2,2] * m[3,3]; }
References
这篇关于我想找到在C#4x4矩阵的行列式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文