In CVX, I declared ‘**beta**’ with two arguments (i.e., variable beta(nUsers,nUsers))

to be an optimization without recalling that it is a Matlab built-in (in fact well-known)

function. Part of my Matlab code is given below

```
cvx_begin sdp
variable beta(nUsers,nUsers)
...
subject to
...
for jUser = 1:nUsers
if(jUser ~= iUser)
F = 0;
for iEllipsoid=1:nEllipsoids
F = F +mylambda(iEllipsoid,jUser,iUser)*...
Ellipsoids(:,:,iUser,usercellindex(jUser),iEllipsoid);
end
% an LMI
[beta(jUser,iUser)-sum(mylambda(:,jUser,iUser)) zeros(1,nTx)
-channel(:,:,iUser,usercellindex(jUser))*beamformer(:,jUser);
zeros(nTx,1) F beamformer(:,jUser);
-beamformer(:,jUser)'*channel(:,:,iUser,usercellindex(jUser))'
beamformer(:,jUser)' 1] >= 0;
end
end
....
noisevariance + sum(beta(otherusers,iUser)) <= mymu(iUser);
cvx_end
```

When I go into the cvx environment, it appears that CVX already overwrites the function

beta and I got the results

The problem is that I just change ‘**beta**’ to ‘**mybeta**’ and actually obtain different

(better) results. Can you please tell me what the potential problem is? I guess it could be

a matter of overwriting in Matlab.