%
% Compute 1D BCS Signals in COCE
% Global COCE structure is used to produce COCE.Boundary signals
% Code assumes COCE structure global. See InitCOCE.m
%
COCE.Boundary = zeros(COCE.PopulationSize(2),2);
X = COCE.Data(COCE.PopulationSize(1)/2,:);
Q = [-1 1];
for q = 1:2
for i = 0:COCE.PopulationSize(2)-1;
COCE.Boundary(i+1,q) = 0;
d = -(COCE.PopulationSize(2)/2-1);
for k = i - COCE.PopulationSize(2)/2+1:i+COCE.PopulationSize(2)/2-1
if ( k < 1) j = 1;
elseif (k > COCE.PopulationSize(2)) j = COCE.PopulationSize(2);
else j = k;
end
COCE.Boundary(i+1,q) = COCE.Boundary(i+1,q) + (exp(-((d)^2))- exp(-((d - Q(q))^2))) * X(j);
d = d+1;
end
end
end