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?

 Respuesta aceptada

Torsten
Torsten el 2 de Jul. de 2015
help quadprog
Best wishes
Torsten.

1 comentario

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

Iniciar sesión para comentar.

Más respuestas (1)

John D'Errico
John D'Errico el 2 de Jul. de 2015
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 comentarios

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.

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 2 de Jul. de 2015

Comentada:

el 2 de Jul. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by