IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Problème d'implementation de graphe (theorie des graphes inside)


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1
    Par défaut Problème d'implementation de graphe (theorie des graphes inside)
    bonjour a tous les matlabiens


    Tout d'abord une petite présentation pour mettre le problème dans son contexte: Je suis actuellement en Master maths informatique . Nous avons un module de projet où l'on doit écrire les programmes en Matlab.
    Je n'ai jamais utilisé ce langage de programmation alors je peine.

    Mon sujet porte sur La théorie des graphes: je dois implémenter des algorithmes, tel que Dijskra (problème du plus court chemin).
    Mais ces algorithmes nécessitent d'entrer en paramètres un graphes (pas bête hein? ^^)

    Voila ma question: Comment implémenter un graphe non oriente (un graphe oriente également) sous matlab et l'afficher avec tout ce qui est utile à savoir: le nom des sommets, les arêtes et leurs "valeurs".


    Merci d'avance

    Cappa


    PS: si vous avez besoin de precision n'hésitez pas à me demander

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 62
    Par défaut
    Regarde cette toolboxe

    http://www.mathworks.com/matlabcentr...bjectType=file

    Citation Envoyé par cappadocien Voir le message
    bonjour a tous les matlabiens


    Tout d'abord une petite présentation pour mettre le problème dans son contexte: Je suis actuellement en Master maths informatique . Nous avons un module de projet où l'on doit écrire les programmes en Matlab.
    Je n'ai jamais utilisé ce langage de programmation alors je peine.

    Mon sujet porte sur La théorie des graphes: je dois implémenter des algorithmes, tel que Dijskra (problème du plus court chemin).
    Mais ces algorithmes nécessitent d'entrer en paramètres un graphes (pas bête hein? ^^)

    Voila ma question: Comment implémenter un graphe non oriente (un graphe oriente également) sous matlab et l'afficher avec tout ce qui est utile à savoir: le nom des sommets, les arêtes et leurs "valeurs".


    Merci d'avance

    Cappa


    PS: si vous avez besoin de precision n'hésitez pas à me demander

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    Bonjour,
    Je suis un peu comme capadocien, je suis debutante sur matlab, et je dois programmer des graphes.
    Il se trouve que mon probleme se situe aussi dans le tracer des graphes.
    J'ai deja fait le programme de moore qui calcule la longueur du plus court chemin entre le sommet de depart et d'arrivée, entrés au clavier et aussi le vecteur du plus court chemin entre le sommet de depart et tous les autres, voila mon programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    function [s,mark]=moore(L,dep,arv)
    %MOORE Recherche du plus court chemin entre deux sommets d'un graphe
    n=size(L,1);
    % Initialisation
    Sb=1:n;
    Sb(dep)=[];
    mark=L(dep,:);
    while 1
        [v,indj]=min(mark(Sb));
        j=Sb(indj); % j sommet de marque provisoire minimale
        Sb(indj)=[]; % on retire j de Sb
        if isempty(Sb),break,end % si Sb est vide on arete
        succ=find(L(j,:)~=inf & L(j,:)~=0); % liste des successeurs de j
        A=intersect(succ,Sb); % intersection entre cette liste et Sb
        if ~isempty(A) % si cette liste n'est pas vide
            mark(A)=min(mark(A),mark(j)+L(j,A)); % on remet a jour les marques
        end
    end
    s=mark(arv);
    Maintenant j'aurais voulu afficher un graphe si on rentre une matrice en commande.
    Merci d'avance pour votre aide

Discussions similaires

  1. un outil pour dessiner des graphes (théorie des graphes)
    Par mohsenuss91 dans le forum Logiciels Libres & Open Source
    Réponses: 1
    Dernier message: 12/05/2015, 07h52
  2. Théorie des graphes (connexité des graphes)
    Par hajara dans le forum Mathématiques
    Réponses: 3
    Dernier message: 24/03/2013, 16h27
  3. Theorie des graphes : trouver tous les cycles
    Par genetin dans le forum Mathématiques
    Réponses: 3
    Dernier message: 02/07/2010, 10h55
  4. programme theorie des graphes
    Par hanou88 dans le forum C
    Réponses: 1
    Dernier message: 21/04/2010, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo