0001 function [d1, overlap, ddmin, Indx, iter] = ...
0002 vb_find_no_overlap(d,overlap,Rmax)
0003
0004
0005
0006
0007
0008
0009
0010 d1=d;
0011 dinv_max=1/Rmax;
0012
0013 maxiter = 1000;
0014
0015 for iter = 1: maxiter
0016 for n = 1:overlap.Noverlap
0017
0018 ix_ref = overlap.Ovlist(n);
0019
0020 Nmulti = overlap.Nmulti(n);
0021
0022 ix_new = overlap.Inew{n};
0023
0024 for m=1:Nmulti
0025 [tmp, b] = max(d1(ix_ref,ix_new));
0026 ix_new(b) = [];
0027 d1(ix_ref,ix_new) = dinv_max;
0028 end
0029 end
0030
0031
0032 [overlap, ddmin, Indx] = vb_find_overlap(d1);
0033
0034 if overlap.Noverlap == 0, break; end
0035 end
0036
0037
0038
0039 return;
0040
0041 if overlap.Noverlap == 0,
0042
0043 fprintf('dmax(pre) = %g, dmax(poat) = %g, iter = %d\n',...
0044 dd_max1,dd_max2,iter)
0045 else
0046 fprintf('iter = %d, Noverlap = %d\n',iter, overlap.Noverlap),
0047 end
0048
0049 return;