cvx_begin variable x1 variable x2 variable x3 maximize -log(0.5*exp(-0.5*x1)+0.9*exp(-0.9*x2)) %maximize (1-exp(-0.5*x1)+1-exp(-0.9*x2)+1-exp(-1.2*x3)) subject to x1 + x2 + x3 <= 10 cvx_end obj = 1-exp(-0.5*x1)+1-exp(-0.9*x2)+1-exp(-1.2*x3) sprintf('Obj.= %3.3f',obj) sprintf('x1 = %3.3f x2= %3.3f x3= %3.3f',x1,x2,x3) x1 = -10:.2:10 x2 = -10:0.2:10 [x1,x2] = meshgrid(x1,x2) obj = 1-exp(-0.5*x1)+1-exp(-0.9*x2)+1-exp(-1.2*x3) surf(x1,x2,obj)