function Z=conv(X,Y) %CONV (overloaded) % Author Johan Löfberg % $Id: conv.m,v 1.4 2006/10/18 08:48:14 joloef Exp $ if isa(X,'double') temp = X; X = Y; Y = temp; end if isa(X,'sdpvar') & isa(Y,'sdpvar') error('nonlinear CONV not supported yet. Make feature request'); end x_lmi_variables = X.lmi_variables; n = X.dim(1); m = X.dim(2); Z=X; Z.basis=[]; for i = 1:length(x_lmi_variables)+1 x=reshape(X.basis(:,i),n,m); z=conv(full(x),full(Y)); Z.basis=[Z.basis z(:)]; end Z.dim(1) = size(z,1); Z.dim(2) = size(z,2); Z = clean(Z); % Reset info about conic terms if isa(Z,'sdpvar') Z.conicinfo = [0 0]; end