3

我参与了类型系统的解析Ax = b,其中 A 是一个方形稀疏矩阵,x 是未知数的向量(我必须计算它),b 是最后一个元素的全零向量是 1。矩阵 A 的最后一行用于归一化,因此用 1 来满足。

该系统的解决方案是概率,因此0<x(i)<1必须尊重条件。

为了解决这个系统,x = A \ b;使用了 Matlab 命令。

该方法似乎运行良好,但有一种特殊情况,即向量 x 也包含负值。给矩阵A的任意元素加上一个很小的值(10^-6),分辨率回到满足条件。

我不是数学家,所以不知道是不是代码问题,还是矩阵 A 必须尊重一些属性才能保证解都在 0 到 1 之间。

4

1 回答 1

2

听起来你真正想要的是:最小化 ||Ax-b|| 对于所有 x,x > 0。你可以用函数 lsqlin 做到这一点:http: //www.mathworks.com/help/toolbox/optim/ug/lsqlin.html

'must add to 1' 是线性等式约束,positive 是线性不等式约束。

矩阵(不是正方形)中概率的相关问题是: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber= 5717139

于 2011-03-30T18:38:36.007 回答