0001 function delete(g,i,j)
0002
0003
0004
0005
0006
0007
0008 global GRAPH_MAGIC
0009
0010 n = nv(g);
0011
0012 if nargin==3
0013 if (i<1) | (i>n) | (j<1) | (j>n)
0014 return
0015 end
0016 GRAPH_MAGIC.graphs{g.idx}.array(i,j) = 0;
0017 GRAPH_MAGIC.graphs{g.idx}.array(j,i) = 0;
0018 return
0019 end
0020
0021
0022
0023 [nr,nc] = size(i);
0024
0025
0026
0027 if (nc==1)
0028 kill_list = i(find((i>0) & (i<=n)));
0029 keep_list = setdiff(1:n,kill_list);
0030 if hasxy(g)
0031 GRAPH_MAGIC.graphs{g.idx}.xy = ...
0032 GRAPH_MAGIC.graphs{g.idx}.xy(keep_list,:);
0033 end
0034 if is_labeled(g)
0035 GRAPH_MAGIC.graphs{g.idx}.labels = ...
0036 GRAPH_MAGIC.graphs{g.idx}.labels(keep_list);
0037 end
0038 GRAPH_MAGIC.graphs{g.idx}.array = ...
0039 GRAPH_MAGIC.graphs{g.idx}.array(keep_list,keep_list);
0040 return
0041 end
0042
0043
0044 if (nr==1) & (nc ~=2)
0045 error('for delete(g,vlist), vlist must be a single COLUMN vector');
0046 end
0047
0048
0049
0050 if (nc ~= 2)
0051 error('delete(elist) requires elist to have exactly two columns')
0052 end
0053
0054 for k=1:nr
0055 delete(g,i(k,1),i(k,2));
0056 end
0057
0058