Solving weighted least squares problem with linear constraints

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일

1 개 추천

help quadprog
Best wishes
Torsten.

댓글 수: 1

Thanks Torsten! I guess I just need to rewrite my weighted least squares problem in quadratic form...

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

John D'Errico
John D'Errico 2015년 7월 2일

1 개 추천

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

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?
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.

댓글을 달려면 로그인하십시오.

카테고리

태그

질문:

2015년 7월 2일

댓글:

2015년 7월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by