Матричный расчет кофактора - PullRequest
0 голосов
/ 27 октября 2011

Я пытался найти обратную матрицу для матрицы 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;} оператор. Программа никогда не входит в это условие.

...