Мне сложно решить систему вида 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 в разреженную матрицу (разреженный (A)), а затем запустить обратную команду. Нет кубиков.