function sys=relaxdouble(X) %RELAXDOUBLE Return numerial value treating nonlinear variables as independent % Author Johan Löfberg % $Id: relaxdouble.m,v 1.5 2006/07/26 20:17:58 joloef Exp $ solution = yalmip('getsolution'); lmi_variables = X.lmi_variables; opt_variables = solution.variables; values = zeros(1+length(lmi_variables),1); values(1)=1; for i=1:length(lmi_variables) opt_index = find(lmi_variables(i)==opt_variables); if isempty(opt_index) values(i+1,1)=NaN; else values(i+1,1)=solution.optvar(opt_index); end end sys = X.basis*values; sys = full(reshape(sys,X.dim(1),X.dim(2)));