Matlab возвращает «FAIL» при попытке инвертировать матрицу - PullRequest
1 голос
/ 29 марта 2012

Я пытаюсь инвертировать матрицу с некоторыми символическими переменными, но Matlab просто возвращает «FAIL». Я использую inv (K). Это K, который Matlab выводит после некоторого вычисления:

K = 

[  11/80,   7/80, -11/80,  -7/80, 0, 0]
[   7/80,  11/80,  -7/80, -11/80, 0, 0]
[ -11/80,  -7/80,  11/80,   7/80, 0, 0]
[  -7/80, -11/80,   7/80,  11/80, 0, 0]
[      0,      0,      0,      0, 0, 0]
[      0,      0,      0,      0, 0, 0]

invK = inv(K);

FAIL

Обратите внимание, что моя матрица в моем скрипте выглядит следующим образом (например):

K = [1,2,3;
     3,2,1;
     1,1,1];

Ответы [ 2 ]

5 голосов
/ 29 марта 2012

Эта матрица 6x6, но ее ранг не более трех, поэтому она не обратима.Только матрицы полного ранга могут быть инвертированы.

1 голос
/ 04 июля 2013

Вы можете использовать pinv. Это дает вам псевдообратный. Это может дать вам кое-что. В случае, если вы застряли с этой и только с этой матрицей. Иначе, если вы узнаете о матричных инверсиях, вам следует обратиться с ответом, уже здесь, в теме.

...