解决带有约束条件的最小二乘矩阵问题

3
我有一个矩形矩阵,如下所示:
1、3、2、4、n.. 4、2、1、5、n.. n..
还有一个向量:
1、2、5、6、7、n..
我需要解决所有列的最小二乘方程,但我希望限制结果使所有答案都大于零。
我已经添加了Math.NET包,并且已经写出了以下代码:
matrix.QR().Solve(...)
假定有一些迭代方法可以解决这个问题,但似乎没有办法在Solve方法中指定约束条件,而且我不确定应该使用什么其他方法。
以下是部分代码:
//compounds is Dictionary<int, List<double>> 
var xdata = compounds.Values.Select(v => v.ToArray()).ToArray();
var ydata = new DenseVector(someKnownValues.ToArray());
var matrix = DenseMatrix.OfColumns(ydata.Count(), xdata.Count(), xdata);
var factors = matrix.QR().Solve(ydata);

您能否添加您的代码,以便我们可以看到您自己解决这个问题的进展情况? - tnw
@tnw - 简短的代码已添加;由于需要进行大量其他处理来收集“化合物”,因此很难添加更多内容。 - Simon
1个回答

4

谢谢Christoph - 我会调查一些其他库 - Simon
嗨,克里斯托夫,我在想我是否能够使用Math.NET中的其他求解方法,比如加权回归? - Simon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接