Solving weighted least squares problem with linear constraints

4 次查看(过去 30 天)
I am trying to solve a weighted least squares problem with both linear inequality and linear equality constraints. Which Matlab function should I use?

采纳的回答

Torsten
Torsten 2015-7-2
help quadprog
Best wishes
Torsten.

更多回答(1 个)

John D'Errico
John D'Errico 2015-7-2
No need to rewrite the problem into a form that quadprog can solve. Use lsqlin (optimization toolbox also). It does exactly what you wish.
  2 个评论
maagen
maagen 2015-7-2
Ah, yeah, I just need to redefine |Cx-d|||^2 as |Qx-e|||^2 where Q=W^½C, e=W^½d, and W^½ is the matrix square root of my weighting matrix, right?
John D'Errico
John D'Errico 2015-7-2
Yes. Of course, if the weights are just a vector w, then diag(sqrt(w)) will suffice to build the multiplier. And if you have a big problem, then I would either make the W matrix a sparse one for faster multiplies, or I would use bsxfun to scale the rows of C. These are all minor issues unless you have a big problem or you are solving many such problems.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Linear Least Squares 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by