n = size(a, 1);
s = {1};
D = Inf*(1:n);
P = cell(1,n);
while numel(s)
p = s{end};
s(end)=[];
t = a(p(end),:);
k = setdiff(find(t), p);
for q = k
r = [p q];
s{end+1} = r;
d = 0;
for i = 2:numel(r)
d = d + norm(b(r(i),:) - b(r(i-1),:));
end
if d < D(r(end))
D(r(end)) = d;
P{r(end)} = r;
end
end
end
D(isinf(D))=0;
[i,j]=max(D);
c=P{j};
|