Graphes et matrices associées

Voir le sujet précédent Voir le sujet suivant Aller en bas

Graphes et matrices associées

Message  Joffrey le Sam 28 Juin - 20:14

Bonjour,

Je me suis penché sur un problème aujourd'hui qui est le suivant :
il existe un certain nombre de logiciel (celui que j'utilise est Pst+) qui permettent de construire des graphes mais je voudrais le faire avec TeXgraph.
Je me suis renseigné sur l'ancien forum pour y trouver des choses intéressantes sur les matrices (en fait sur une liste de nombre) en autres le code de la macro coeff(M,i,j) permettant de renvoyer l'élément $M_{ij}$ d'une matrice.

Code:
 Copy( %1, (%2-1)*Copy(%1,2,1)+%3+2, 1) 

Mais ce que j'imagine est un peu plus complexe a mettre en oeuvre, je me restreint pour l'instant aux graphes non orientés :
je souhaiterais qu'en rentrant une liste de nombre correspondant à une matrice n $\times$ n, on puisse :
(1) connaître la dimension de la matrice afin de pouvoir nommer les sommets A_1; A_2; ... A_n;
(2) le reste serait :
Code:
 if coeff(M,i,j)=1 then Seg(A_i,A_j) fi,

Est-ce réalisable ?

Merci, bonne soirée.

Joffrey

Nombre de messages : 179
Age : 35
Localisation : Vichy(03) / Clermont-Ferrand(63)
Date d'inscription : 13/06/2008

Voir le profil de l'utilisateur http://mathex.servhome.org

Revenir en haut Aller en bas

Re: Graphes et matrices associées

Message  P.Fradin le Sam 28 Juin - 21:22

Joffrey a écrit:
Mais ce que j'imagine est un peu plus complexe a mettre en oeuvre, je me restreint pour l'instant aux graphes non orientés :
je souhaiterais qu'en rentrant une liste de nombre correspondant à une matrice n $\times$ n, on puisse :
(1) connaître la dimension de la matrice afin de pouvoir nommer les sommets A_1; A_2; ... A_n;
(2) le reste serait :
Code:
 if coeff(M,i,j)=1 then Seg(A_i,A_j) fi,

Est-ce réalisable ?

Bonjour Joffrey et

cheers cheers BON ANNIVERSAIRE!!! cheers cheers


Est-ce que tu pourrais donner un petit exemple simple? Si la liste A des sommets est donnée alors on connait la dimension de la matrice M d'incidence, c'est le nombre de sommets! Et en principe la matrice doit être donnée aussi! Et si tu utilises le fichier matrice.teg de l'ancien forum, alors cette matrice doit être de la forme:

M:=[n, m, a11, ..., a1m, a21, ..., a2m, ..., an1, ..., anm]


où n est le nombre de lignes et m le nombre de colonnes, puis viennent les n lignes à la suite les unes des autres. Si la liste des sommets s'appelle A, alors on peut envisager une instruction du genre (i est réservé dans TeXgraph):

Code:
if coeff(M,k,l)=1 then Seg(A[k],A[l]) fi,
ou encore en une seule instruction Ligne:

Code:

Ligne(
    for K from 1 to M[1] do
          for L from 1 to M[2] do
                if coeff(M,K,L) then A[k], A[L], jump fi
          od
    od, 0)

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: Graphes et matrices associées

Message  Joffrey le Dim 29 Juin - 22:06

Bonsoir, et merci pour le message d'hier!!!!

Je vais essayer d'être le plus clair possible, je souhaiterai qu'en rentrant par exemple

Code:
M:=[0,1,1,  1,0,1,  1,1,1]

j'obtienne, 3 sommets, peu importe leurs noms, disons A_1; A_2; A_3, placé dans le plan par exemple aux affixes respectives exp(i*pi/3); exp(2*i*pi/3) et exp(3*i*pi/3)

Puis enfin que pour chaque valeur 1 de la matrice, le segment correspondant soit tracé; ici par exemple : [A_1A_2] ,[A_1A_3], [A_2A_3] et une boucle sur le sommet A_3.

Merci pour ton aide

Bonne soirée

Joffrey

Joffrey

Nombre de messages : 179
Age : 35
Localisation : Vichy(03) / Clermont-Ferrand(63)
Date d'inscription : 13/06/2008

Voir le profil de l'utilisateur http://mathex.servhome.org

Revenir en haut Aller en bas

Re: Graphes et matrices associées

Message  P.Fradin le Dim 29 Juin - 23:00

Bonsoir jeoffrey,

Je te propose ce code dans un élément graphique Utilisateur:

Code:

[
M:=[0,1,1, 1,0,1, 1,1,1] , {matrice d'incidence}
$N:=sqrt(Nops(M)), {nombre de sommets}
$alpha:=2*i*pi/N, $R:=3, {ecart angulaire et rayon}
{tracer des relations}
Width:=8, Color:=blue, $k:=0, {compteur}
Ligne(
 for $z in M do  {on parcourt les coef de M}
    Inc(k,1), $I:=1+div(k-1,N), {numero de ligne}
    $J:=1+mod(k-1,N), {numero de colonne}
    if z=1 then {on a une relation entre A_I et A_J}
      if I=J
          then Cercle((R+0.75)*exp(I*alpha), 0.75) {A_I en relation avec lui-meme}
          else R*exp(I*alpha),R*exp(J*alpha),jump
      fi
    fi
 od, 0),
{tracer des bulles et labels}
Color:=black, FillStyle:=full, FillColor:=white,
for k from 1 to N do
    Cercle( R*exp(k*alpha),0.5),
    Label( R*exp(k*alpha), ["$A_",k,"$"])
od
]

Ce qui nous donne:



En principe il devrait suffire simplement de changer la matrice M pour d'autres exemples.

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: Graphes et matrices associées

Message  P.Fradin le Dim 29 Juin - 23:28

Et pour des graphes orientés je peux te proposer ceci:

Code:

[
M:=[0,1,1,0, 1,1,1,1, 0,1,0,1, 1,1,0,1] , {matrice d'incidence}
$N:=sqrt(Nops(M)), {nombre de sommets}
$alpha:=2*i*pi/N, $R:=3, {ecart angulaire et rayon}
{tracer des relations}
Width:=8, Color:=blue, $k:=0,
 for $z in M do  {on parcourt les coef de M}
    Inc(k,1), $I:=1+div(k-1,N), {numero de ligne}
    $J:=1+mod(k-1,N), {numero de colonne}
    if z=1 then {on a une relation entre A_I et A_J}
      if I=J
          then Cercle((R+0.75)*exp(I*alpha), 0.75), {A_I en relation avec lui-meme}
                flecher( Get(Cercle((R+0.75)*exp(I*alpha), 0.75)), 0.25)
          else $A:=R*exp(I*alpha),$B:=R*exp(J*alpha), $C:=(A+B)/2-i*(B-A)/abs(B-A)/4,
              Spline(0,A,C,B,0),
              flecher(Get(Spline(0,A,C,B,0)),0.5)
      fi
    fi
 od,
{tracer des bulles et labels}
Color:=black,
FillStyle:=full, FillColor:=white,
for k from 1 to N do
    Cercle( R*exp(k*alpha),0.5),
    Label( R*exp(k*alpha), ["$A_",k,"$"])
od
]


_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: Graphes et matrices associées

Message  Joffrey le Lun 30 Juin - 17:07

Bonjour,

Je ne peux qu'applaudir des mains.

Encore un sujet bouclé en un temps record, il ne me reste plus qu'à étudier le code.

Merci

Joffrey

Joffrey

Nombre de messages : 179
Age : 35
Localisation : Vichy(03) / Clermont-Ferrand(63)
Date d'inscription : 13/06/2008

Voir le profil de l'utilisateur http://mathex.servhome.org

Revenir en haut Aller en bas

Re: Graphes et matrices associées

Message  Contenu sponsorisé Aujourd'hui à 11:52


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum