我试图解决一个 4 X 4 矩阵的逆矩阵(后来变成一个 n X n)。所以我试着找到矩阵的辅因子。
My algorithm is as follows:
suppose a matrix : 1 2 3 4
5 6 7 8
8 9 10 11
12 13 14 15
为了找到辅因子,我删除了一行(假设第一行:现在我们的矩阵是 3 X 4,从 5 开始,到 15 结束。下一步是删除一列(从左侧开始)并获得一个 3 X 3 矩阵。下一步是找到行列式。但是,我在删除第一个之后的列时遇到了麻烦(例如 6、9、13),这是我使用的代码:
[...]
//Breaking the matrix into (n-1) X (n-1) format
for (j = 0; j < 4; j++)
{
m = 2;
for ( i = 0; i < 3; i++)
{
ch = 0;
while ((ch >= 0) && (ch < 3))
{
if ((m+1) < j)
{
e[ch][m] = b[ch][m+1];
}
else if ((m+1) == j)
{
NULL;
}
else if ((m+1) > j)
{
e[ch][m] = b[ch][m+1];
}
ch++;
}
m--;
}
数组 b 已经包含 3 X 4 矩阵,我试图将 3 X 3 矩阵存储在矩阵 c 中,但是,当我执行循环时,我的 3 X 3 矩阵总是导致 {6, 7, 8}, {9 , 10, 11}, {13, 14, 15}。另外,由于某种原因,我无法访问 (if (m+1) == J) {NULLL;} 语句。该程序永远不会进入该条件。