Hi,
I am new to optimization and am looking to implement this paper using cvx in matlab. The optimization equations are given below:
where p is the defined number of outliers which are to be discarded every iteration. My code is given below:
cvx_begin
variable w(n) nonnegative
variable m(n) nonnegative
variable t(n) nonnegative
M = diag(m)
minimize(ones(n,1)’* t - y’* My)
subject to
t >= 0
0 <= m <= 1
sum_square_abs(w) <= m’t %% Error is in this line
A’ w == A’ M*y
ones(n,1)’*m == p
cvx_end
The error I get is:
Error using .* (line 262)
Disciplined convex programming error:
Invalid quadratic form(s): not a square.
Error in * (line 36)
z = feval( oper, x, y );
Error in translation (line 19)
sum_square_abs(m) <= w’*t
Error in main (line 45)
t = translation(pl1_params, pl1_dist, pl2_dist, A_ij, sig)