function output=noderand(nodesum) rand('twister',sum(100*clock)); nodesum=nodesum(:); output=speye(length(nodesum)); err=sum(abs(nodesum-sum(output,2))); go_on=50; while go_on>0 tofill=find(nodesum-sum(output,2)); tofill1=tofill((ceil(rand(1,1)*length(tofill)))); tofill2=tofill((ceil(rand(1,1)*length(tofill)))); output(tofill1,tofill2)=1; output(tofill2,tofill1)=1; err(end+1)=sum(abs(nodesum-sum(output,2))); if err(end)==err(end-1) go_on=go_on-1; else go_on=50; end end