Определитель равен 0

Я учусь использовать Matlab. У меня вопрос по поводу матрицы A: A=[1,2,3;4,5,6;7,8,9] Очевидно, что определитель должен быть равен 0. Но на самом деле я получил значение: 6.661338147750939e-016 Что не так?

Я знаю, что это в значительной степени ноль. То, что я хочу, это иметь нулевой результат. Есть ли способ получить 0 (точный результат) или 6.661338147750939e-016 - это все, что я могу получить?

1 ответ

Matlab вычисляет определитель, используя разложение LU, поэтому определитель вычисляется как число с плавающей запятой даже для матрицы целых чисел. То, что вы видите, является типичной числовой ошибкой в ​​вычислениях с плавающей запятой.

Если вы пытаетесь проверить, является ли матрица единственной, этот ответ дает множество альтернатив, которые лучше, чем использование определителя.

Другие вопросы по тегам