TeXgraph
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -50%
-50% Baskets Nike Dunk Low
Voir le deal
64.99 €

Graphes et matrices associées

2 participants

Aller en bas

Graphes et matrices associées Empty Graphes et matrices associées

Message  Joffrey 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 : 42
Localisation : Vichy(03) / Clermont-Ferrand(63)
Date d'inscription : 13/06/2008

http://mathex.servhome.org

Revenir en haut Aller en bas

Graphes et matrices associées Empty Re: Graphes et matrices associées

Message  P.Fradin 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 : 62
Date d'inscription : 19/01/2008

http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Graphes et matrices associées Empty Re: Graphes et matrices associées

Message  Joffrey 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 : 42
Localisation : Vichy(03) / Clermont-Ferrand(63)
Date d'inscription : 13/06/2008

http://mathex.servhome.org

Revenir en haut Aller en bas

Graphes et matrices associées Empty Re: Graphes et matrices associées

Message  P.Fradin 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:

Graphes et matrices associées 0806290957253868672


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 : 62
Date d'inscription : 19/01/2008

http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Graphes et matrices associées Empty Re: Graphes et matrices associées

Message  P.Fradin 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
]

Graphes et matrices associées 0806291027153869173
P.Fradin
P.Fradin
Admin

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

http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Graphes et matrices associées Empty Re: Graphes et matrices associées

Message  Joffrey 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 : 42
Localisation : Vichy(03) / Clermont-Ferrand(63)
Date d'inscription : 13/06/2008

http://mathex.servhome.org

Revenir en haut Aller en bas

Graphes et matrices associées Empty Re: Graphes et matrices associées

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser