我正在尝试在JS中计算矩阵的行列式。我使用了http://www.sanfoundry.com/java-program-compute-determinant-matrix/上的算法,但是我在最后一个条件上失去了理智。我就是不明白。你能帮我吗?
这是我现在的代码样子。在另一个函数中,我创建了一个空的二维数组,然后将其复制到det函数中。接下来,我从html中检索值,然后尝试计算矩阵的行列式。前两种情况很简单,但是我在最后一种情况上遇到了问题。我找不到JS中的可用示例。
这是我现在的代码样子。在另一个函数中,我创建了一个空的二维数组,然后将其复制到det函数中。接下来,我从html中检索值,然后尝试计算矩阵的行列式。前两种情况很简单,但是我在最后一种情况上遇到了问题。我找不到JS中的可用示例。
function det() {
var det = 0;
var array1 = array.slice();
for (i = 0; i < array1.length; i++) {
for (j = 0; j < array1[i].length; j++) {
array1[i][j] = parseInt(document.getElementById("element" + (i + 1) + (j + 1)).value, 10);
}
}
if (array1.length == 1) {
det = array1[0][0];
} else if (array1.length == 2) {
det = (array1[0][0] * array1[1][1]) - (array1[1][0] * array1[0][1]);
} else {
}
}
array1
删除行和列a0j
,其中j
从0
到N
,您将a0j
乘以det(subarray)
,并且这些乘积的总和就是最终的determinant
,这就是determinant
的定义,递归调用之前编写的代码只是填充子数组而已。 - niceman