我参与了Ax = b
类型系统的解析,其中A是方形稀疏矩阵,x是unknows的向量(我必须计算它),b是向量最后一个元素的全部为零。
矩阵A的最后一行用于标准化,因此用1来实现。
该系统的解决方案是概率,因此必须尊重条件0<x(i)<1
。
为了解决系统问题,使用了Matlab命令x = A \ b;
。
该方法似乎运行良好,但有一个特殊情况,矢量x也包含负值。向矩阵A的任何元素添加一个非常小的值(10 ^ -6),分辨率可以满足条件。
我不是数学家,所以我不知道这是代码问题,还是矩阵A必须尊重某些属性以保证解决方案都在0和1之间。
答案 0 :(得分:2)
听起来你真正想要的是:最小化|| Ax-b ||受制于x>所有x都为0。您可以使用函数lsqlin:http://www.mathworks.com/help/toolbox/optim/ug/lsqlin.html
执行此操作'必须加1'是线性等式约束,积极性是线性不等式约束。
矩阵(非正方形)中概率的相关问题是:http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5717139