function G = bipart(n) n1 = floor(n/2); n2 = ceil(n/2); G = zeros(n); for i=1:n1 for j=1:n2 % connect i to j G = connect(G,i,j,n1,n2); end end return function G = connect(G,i,j,n1,n2) ii = i; jj = n1 + j; G(ii,jj) = 1; G(jj,ii) = 1; return