Я реализую алгоритм, связанный с инверсией разреженной матрицы.
Код:
kapa_t=phi_t*F_x'*(inv(inv(R_t)+F_x*phi_t*F_x'))*F_x*phi_t;
Пишу код в матлабе. Это дает мне предупреждение Матрица близка к единственной или плохо масштабируется. Результаты могут быть неточными. RCOND = 4,419037e-18.. Но согласно моему алгоритму инверсия матрицы является важной частью. Итак, я пытаюсь найти какой-нибудь эффективный способ инверсии матрицы. Итак, я нахожу эту ссылку как точно вычислить обратную матрицу?
Итак, я изменил свой код, как было предложено.
kapa_t=phi_t*F_x'*(inv(inv(R_t)+F_x*phi_t*F_x'))\F_x*phi_t;
После этого я получаю сообщение об ошибке "Ошибка использование \ размеры матрицы должны быть согласованы".
Ошибка в EKF_SLAM_known (строка 105) kapa_t=phi_tF_x'(inv(inv(R_t)+F_xphi_tF_x'))\F_x*phi_t; сильный>
Я использую следующий алгоритм:
Здесь строка № 8 алгоритма эквивалентна коду kapa_t=phi_tF_x'(inv(inv(R_t)+F_xphi_tF_x'))F_x< /эм>фи_т;
Что мне делать с моим кодом, чтобы избавиться от этого предупреждения.