1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
supernode Scilab Group Scilab function supernode
NAME
supernode - replaces a group of nodes with a single node
CALLING SEQUENCE
g1 = supernode(v,g)
PARAMETERS
v : row vector, nodes numbers
g : graph list
g1 : graph list of the new graph
DESCRIPTION
supernode returns the graph g1 with the nodes with numbers given by the
vector v being contracted in a single node. The number of the supernode
is the lowest number in v. The characteristics of the old nodes and edges
are preserved. The supernode is located at the mean center of v. Its
diameter and border are twice the previous of the replaced node. The
demand of the new node, if it exists, is the sum of the demands of the
shrunken nodes.
EXAMPLE
ta=[1 1 2 2 2 3 4 5 5 7 8 8 9 10 10 10 10 10 11 12 13 13 13 14 15 16 16 17 17];
he=[2 10 3 5 7 4 2 4 6 8 6 9 7 7 11 13 13 15 12 13 9 10 14 11 16 1 17 14 15];
g=make_graph('foo',1,17,ta,he);
g('node_x')=[283 163 63 57 164 164 273 271 339 384 504 513 439 623 631 757 642];
g('node_y')=[59 133 223 318 227 319 221 324 432 141 209 319 428 443 187 151 301];
g('edge_color')=modulo([1:(edge_number(g))],15)+1;
g('node_diam')=[1:(g('node_number'))]+20;
show_graph(g);
v=[7 10 13 9];
show_nodes(v);
g1=supernode(v,g);
show_graph(g1,'new');
SEE ALSO
add_edge, add_node, delete_arcs, delete_nodes
|