Optimization with boundaries constraints

조회 수: 9 (최근 30일)
Loic Van Aelst
Loic Van Aelst 2016년 12월 15일
편집: Matt J 2016년 12월 15일
Hello,
I am trying to solve the x that will minimize the following equation:
eq = @(x) norm(r_column-(G*x+d))^2;
Where G is 933x933, d is 933x1 and x should be 933x1, r_column is 933x1
I have the following constraints: xmin = ones(933,1)*(-30); xmax = ones(933,1)*(30);
However, if I try to solve it like this: x = fminbnd(eq,xmin,xmax);
I get an error.
I hope someone can help me, thanks in advance!
Loïc

답변 (1개)

Torsten
Torsten 2016년 12월 15일
Try "lsqlin".
Best wishes
Torsten.
  댓글 수: 5
Torsten
Torsten 2016년 12월 15일
z = [eye(933) ; -eye(933)];
b = [ ones(933,1)*30 ; ones(933,1)*30];
x = lsqlin(-G,d-r_column,z,b);
Best wishes
Torsten.
Matt J
Matt J 2016년 12월 15일
편집: Matt J 2016년 12월 15일
It is advisable to use the 7th/8th argument to express simple bounds, rather than to use inequality constraint matrices.
e=ones(933,1)*30;
x = lsqlin(-G,d-r_column,[],[],[],[],-e,+e);

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

카테고리

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