Эффективный метод снижения порядка матрицы в PHP - PullRequest
0 голосов
/ 31 марта 2019

Я занимаюсь разработкой калькулятора детерминантов на PHP

В классе Matrix я создал несколько функций, среди которых функция calc (order, matrix).Эта функция вызывает другую для понижения порядка массива до $ order = 3, а затем выполняет функцию sarrus ($ matriz).

Примечание: Эта матричная переменнаябудет меняться всякий раз, когда порядок понижен, то есть исходная матрица будет сохранена в другой переменной!

Ну, я хочу знать лучший способ понизить порядок массива до 3, если это возможно, пример кодаЯ пытался использовать laplace, но я запутался в циклах, которые я решил на некоторое время оставить.

public function calc ($order, $matriz)
{
    // If the order equals 1: the element is the determinant
    if ($order == 1) {
        $ this->det = $matriz[0][0];
    }
    // If the order equals 2: call the @segOrder function
    else if ($order == 2) {
        segOrder($matriz);
    }
    // If the order is 3: call the function @sarrus
    else if ($order == 3) {
        sarrus($matriz);
    }
    // If the order is greater than 3: call the function @leaveOrder to lower the array order to 3 and then use @sarrus to have the determinant
    else if ($order > 3) {
        $matriz = lowerOrder($matriz, $order);
        sarrus($matriz);
    }
    return $this->det;
}

Макет массива:

$matriz = array (
            array (1,2,3),
            array (4,5,6),
            array (7,8,9)
          );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...