I want to write code for convex optimization given in the image below.I wrote some code.but did not work.Expecting help?

2 views (last 30 days)
here Cs ,Ci are nxn diagonal matrices.Ci Identity matrix
A is coefficient matrix order nxL
r variable vector to be optimized. order Lx1.
k is another optimization variable.
How to code. My version
function f=myobj(x,pxx,A)
z=[x(1) x(2) x(3) x(4)]
z(1)=x(5);
x(2)=0;
x(4)=0;
sum(z)=0.5*z(1)
a1=ones([1 length(pxx)]);
c1=diag(pxx);
c2=eye(length(pxx));
T=a1*c1*A*x;
Q=a1*c2*A*x;
f=T/Q;
end
fmincon(f,[0 0 0 0 0],[],[])
getting error.

Answers (1)

Alan Weiss
Alan Weiss on 6 Apr 2015
Without reading your problem in detail, it is clear that you are calling fmincon incorrectly. As clearly documented, fmincon expects your objective function to contain a single multidimensional variable as the argument, not three variables as you have. If pxx and A are extra parameters, then pass them using the correct syntax,
f = @(x)myobj(x,pxx,A)
Alan Weiss
MATLAB mathematical toolbox documentation

Community Treasure Hunt

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

Start Hunting!