У меня проблемы с решением системы вида Ax = B
Решение системы должно быть
x = inv(A)*B
Однако это не не работает.
Я получаю следующее сообщение об ошибке, когда пытаюсь выполнить приведенную выше строку кода:
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.156482e-018.
Похоже, что у Matlab возникли проблемы с инвертированием указанной мною матрицы. Я попытался убедиться, что обратная функция работает правильно, набрав inv (A) * A
. Это должно дать единичную матрицу, однако я получил ту же ошибку и несколько мусорных номеров.
Это матрица A, которую я использую:
A = [5/2 1/2 -1 0 0 -1/2 -1/2 0 0
1/2 1/2 0 0 0 -1/2 -1/2 0 0
-1 0 5/2 -1/2 -1 0 0 -1/2 1/2
0 0 -1/2 1/2 0 0 0 1/2 -1/2
0 0 -1 0 3/2 -1/2 1/2 0 0
-1/2 -1/2 0 0 -1/2 2 0 -1 0
-1/2 -1/2 0 0 1/2 0 1 0 0
0 0 -1/2 1/2 0 -1 0 2 0
0 0 1/2 -1/2 0 0 0 0 1]
Есть идеи, почему это не работает? Я также попытался преобразовать A в разреженную матрицу (sparse (A)), а затем запустить обратную команду. Никаких кубиков.