<< graph_simp Graphes - Réseaux graph_union >>

metanet >> metanet > Graphes - Réseaux > graph_sum

graph_sum

somme de deux graphes

Séquence d'appel

g2 = graph_sum(g,g1)

Paramètres

g

graphe (liste)

g1

graphe (liste)

g2

nouveau graphe (liste)

Description

graph_sum crée un graphe g2 avec une matrice d'adjacence égale à la somme des matrices d'adjacence des deux graphes g et g1. g et g1 sont supposés simples (utiliser graph_simp avant d'appeler graph_complement si nécessaire) et avoir le même nombre de sommets.

Exemples

ta=[1 1 2 2 2 3 4 5 5 7 8 8 9 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 15 12 13 9 10 14 11 16 1 17 14 15];
g=make_graph('foo',1,17,ta,he);
g.nodes.graphics.x=[283 163 63 57 164 164 273 271 339 384 504 513 439 623 631 757 642]/2;
g.nodes.graphics.y=[59 133 223 318 227 319 221 324 432 141 209 319 428 443 187 151 301]/2;
g.nodes.graphics.name=['A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q'];
g.nodes.graphics.display='name';
show_graph(g);

ta1=[2 3 4 5 11 12 1];
he1=[10 5 6 7 15 17 7];
g1=make_graph('foo',1,17,ta1,he1);
g1.nodes.graphics.x=g.nodes.graphics.x
g1.nodes.graphics.y=g.nodes.graphics.y
g1.nodes.graphics.name=g.nodes.graphics.name
g1.nodes.graphics.display='name';

show_graph(g1,'new');
g2=graph_sum(g,g1);
show_graph(g2,'new');
hilite_edges(index_from_tail_head(g2,ta,he))

//chech if g and g1 adjacency matrices sum is equal to g1 adjacency matrix
a=graph_2_mat(g,'node-node');
a1=graph_2_mat(g1,'node-node');
a2=graph_2_mat(g2,'node-node');
and(a+a1==a2)

Voir Aussi


Report an issue
<< graph_simp Graphes - Réseaux graph_union >>