Я участвую в разрешении системы типа Ax = b
, где A - квадратная разреженная матрица, x - вектор неизвестных (я должен его вычислить), а b - вектор всех нулей.excpet для последнего элемента, который равен 1. Последний ряд матрицы A используется для нормализации и поэтому выполняется с единицами.
Решения этой системы являются вероятностями и по этой причине условие 0<x(i)<1
должны соблюдаться.
Для решения системы используется команда Matlab x = A \ b;
.
Метод работает хорошо, но есть особый случай, когда вектор xтакже содержит отрицательные значения.Добавляя очень маленькое значение (10 ^ -6) к любому элементу Матрицы А, обратно разрешение, чтобы соответствовать условиям.
Я не математик, поэтому я не знаю, если это кодпроблема, или если матрица A должна учитывать некоторые свойства, чтобы гарантировать, что все решения находятся между 0 и 1.