Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Chaine de markov



  1. #1
    ghoz

    Chaine de markov


    ------

    Salut

    Comment je peux faire un algorithme d’une chaîne de Markov ? Et une fonction (d’une chaîne de Markov) dans le logiciel R ?

    Merci a l'avance.

    -----

  2. Publicité
  3. #2
    Gre

    Re : Chaine de markov

    Citation Envoyé par ghoz Voir le message
    Salut

    Comment je peux faire un algorithme d’une chaîne de Markov ? Et une fonction (d’une chaîne de Markov) dans le logiciel R ?

    Merci a l'avance.
    Je n'utilise pas R.
    Mais il va falloir être plus précis sur ce que tu veux.
    Les chaînes de Markov sont utilisés à de très nombreux endroits différents en informatique (et en math bien sûr).
    War does not decide who's right, but who's left. (Bertrand Russell)

  4. #3
    arnolducamer

    Re : Chaine de markov

    bonjour,
    J'ai le meme probleme seulement j'ai ecrit un programme en matlab pour resoudre un systeme d'equation (chaine de markov). je vous fait voir le programme que j'ai ecrit:

    Code:
    function S=  marcov()%(a,u,m,mp,n,wo)
    a=1024*8; u=10^-5; m=10; mp=5; wo=32;n=8;
    syms X Y  
    ta=2*(1-2*Y)*(1-Y);
    if m<=mp
       tb=wo*(1-2*Y^(m+1))*(1-Y)+(1-2*Y)*(1-Y^(m+1)); 
    else
       tb=wo*(1-2*Y^(mp+1))*(1-Y)+(1-2*Y)*(1-Y^(m+1))+wo*(2^mp)*(Y^(mp+1))*(1-2*Y)*(1-Y^(m-mp)); 
    end
    t=ta/tb;
    S=solve(X-((1-Y^(m+1))/(1-Y))*t, Y-((1-(1-X)^(n-1)+1-(1-u)^a));
    %S=solve(X-((1-Y^(m+1))/(1-Y))*t, Y-(1-(1-X)^(n-1)+1-(1-u)^a));
    voici ce que la machine affiche apres avoir compile le programme:
    Code:
    
    ??? Error: File: C:\MATLAB7\work\marcov.m Line: 16 Column: 63
    Incomplete or misformed expression or statement.
    Esperant que vous m'aiderez, passez une bonne fin de soiree.

  5. #4
    skydancer

    Re : Chaine de markov

    Bonjour,

    Peut tu précise qu'elle est la ligne 16 de ton programme matlab ?

  6. A voir en vidéo sur Futura
  7. #5
    arnolducamer

    Re : Chaine de markov

    Citation Envoyé par skydancer Voir le message
    Bonjour,

    Peut tu précise qu'elle est la ligne 16 de ton programme matlab ?
    Bonsoir,
    la ligne 16, c'est l'avant derniere ligne.

    Merci pour ta prompte reaction.

  8. #6
    abracadabra75

    Re : Chaine de markov

    Bonjour.
    Sauf erreur de ma part, il me semble qu' il y a 1 une parenthèse fermante de moins que les ouvrantes.
    A+
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  9. Publicité
  10. #7
    arnolducamer

    Re : Chaine de markov

    Citation Envoyé par abracadabra75 Voir le message
    Bonjour.
    Sauf erreur de ma part, il me semble qu' il y a 1 une parenthèse fermante de moins que les ouvrantes.
    A+
    Bonsoir, J'ai justement rectifié la parenthèse, mais voila après rectification le code que j'ai compilé:
    Code:
     function S= marcov()
    %(a,u,m,mp,n,wo)
    a=1024*8; u=10^-5; m=10; mp=5; wo=32;n=8;
    syms X Y
    ta=2*(1-2*Y)*(1-Y);
    if m<=mp
    tb=wo*(1-2*Y^(m+1))*(1-Y)+(1-2*Y)*(1-Y^(m+1));
    else
    tb=wo*(1-2*Y^(mp+1))*(1-Y)+(1-2*Y)*(1-Y^(m+1))+wo*(2^mp)*(Y^(mp+1))*(1-2*Y)*(1-Y^(m-mp));
    end
    t=ta/tb;
    %S=solve('X-((1-Y^(m+1))/(1-Y))*t', 'Y-(1-(1-X)^(n-1)+1-(1-u)^a)')
    S=solve(X-((1-Y^(m+1))/(1-Y))*t, Y-(1-(1-X)^(n-1)+1-(1-u)^a));
    ce que la machine retourne:
    Code:
    > In solve at 140
    In sym.solve at 49
    In marcov at 13
    ans =
    [ empty sym ]
    >>
    et donc je suis perdu, je vous assure.
    Sincères Salutations.

  11. #8
    abracadabra75

    Re : Chaine de markov

    Citation Envoyé par arnolducamer Voir le message
    ce que la machine retourne:
    Quand? à la compil ou à l' exec?
    Dans le premier cas, c' est une faute syntaxique, donc chercher dans ta rédaction des instructions, sinon c'est un erreur de programmation (pile écrasée, variable mal ou pas documentée, opération illicite, ....

    Et ne connaissant pas R, qui pourtant doit être bien réel, je ne peux t' aider davantage.
    Peut-être, pour cerner ton problème, décompose ton expression en plusieurs intermédiaires,ce qui permettrait de préciser l' endroit du bug.
    A+
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  12. #9
    arnolducamer

    Re : Chaine de markov

    Citation Envoyé par abracadabra75 Voir le message
    Quand? à la compil ou à l' exec?
    Dans le premier cas, c' est une faute syntaxique, donc chercher dans ta rédaction des instructions, sinon c'est un erreur de programmation (pile écrasée, variable mal ou pas documentée, opération illicite, ....

    Et ne connaissant pas R, qui pourtant doit être bien réel, je ne peux t' aider davantage.
    Peut-être, pour cerner ton problème, décompose ton expression en plusieurs intermédiaires,ce qui permettrait de préciser l' endroit du bug.
    A+
    Bonjour,
    Les résultats que la machine retourne se passent après la compil comme je l'ai dit en tout début de mon dernier message.
    S'agissant de l'explication que vous me donnez je n'arrive pas à cerner alors pouvez-vous être plus explicite et plus clair s'il vous plaît?
    Vous savez je ne suis qu'un débutant dans la programmation.
    Sincères Salutations et bonne journée.

  13. #10
    redeka

    Re : Chaine de markov

    qu'est ce que la fonction solve est censée te donner? copie-la nous stp

    Au passage -je sais que c'est lourd à faire- il serait bien que tu mettes des commentaires dans ton programme, juste histoire que ton algo transparaisse clairement, ça aidera les gens qui ne travaillent pas dessus (nous) ou toi quand tu le reprendras (dans 6 mois peut-être...) à pouvoir le lire et/ou le debugger plus rapidement...

    C'est tant que tu es débutant que tu dois prendre ce reflexe

    Tu peux aussi enlever plusieurs ";" de ta fonction, afin de voir les résultats intermédiaires, et ainsi vérifier que c'est cohérent par rapport au papier, donc identifier l'erreur

  14. #11
    arnolducamer

    Re : Chaine de markov

    Citation Envoyé par redeka Voir le message
    qu'est ce que la fonction solve est censée te donner? copie-la nous stp

    Au passage -je sais que c'est lourd à faire- il serait bien que tu mettes des commentaires dans ton programme, juste histoire que ton algo transparaisse clairement, ça aidera les gens qui ne travaillent pas dessus (nous) ou toi quand tu le reprendras (dans 6 mois peut-être...) à pouvoir le lire et/ou le debugger plus rapidement...

    C'est tant que tu es débutant que tu dois prendre ce reflexe

    Tu peux aussi enlever plusieurs ";" de ta fonction, afin de voir les résultats intermédiaires, et ainsi vérifier que c'est cohérent par rapport au papier, donc identifier l'erreur
    Ok je vous fait parvenir le code un peu plus détaillé en commentaire. Ce programme est la résolution d'un système d'équation de X et Y dépendant du couple (X,Y)
    Code:
    function S=  marcov()%(a,u,m,mp,n,wo)
    
    a=1024*8; u=10^-5; m=10; mp=5; wo=32;n=8;
    
    syms X Y  
    
    ta=2*(1-2*Y)*(1-Y);
    %ta="paramètres dépendant de Y"
    if m<=mp
       tb=wo*(1-2*Y^(m+1))*(1-Y)+(1-2*Y)*(1-Y^(m+1)); 
       %tb="paramètres dépendant de Y"     
    else
       tb=wo*(1-2*Y^(mp+1))*(1-Y)+(1-2*Y)*(1-Y^(m+1))+wo*(2^mp)*(Y^(mp+1))*(1-2*Y)*(1-Y^(m-mp));
       %tb="paramètres dépendant de Y" 
    end
    
    t=ta/tb;
    
    S=solve(X-((1-Y^(m+1))/(1-Y))*t, Y-1-(1-X)^(n-1)+1-(1-u)^a));
    %S=solve(X-((1-Y^(m+1))/(1-Y))*t, Y-(1-(1-X)^(n-1)+1-(1-u)^a));
    %S="affiche les solutions des paramètres X et Y"
    Une fois le programme fini et compilé, la machine nous retourne ceci:
    Code:
    > In solve at 140
    In sym.solve at 49
    In marcov at 13
    ans =
    [ empty sym ]
    >> 
    J'espère que je vous ai fait parvenir toutes les informations dont vous avez besoin.
    Bonne fin de soirée et Cordialement.

  15. #12
    redeka

    Re : Chaine de markov

    Le problème vient de ta fonction solve, qui ne te donne pas le résultat escompté, suite à un problème d'algorithmique vraissemblablement, donc...

    Citation Envoyé par redeka Voir le message
    qu'est ce que la fonction solve est censée te donner? copie-la nous stp
    Citation Envoyé par redeka Voir le message
    Tu peux aussi enlever plusieurs ";" de ta fonction, afin de voir les résultats intermédiaires, et ainsi vérifier que c'est cohérent par rapport au papier, donc identifier l'erreur

  16. Publicité

Discussions similaires

  1. chaines de markov
    Par gatsu dans le forum Physique
    Réponses: 0
    Dernier message: 28/10/2006, 16h56
  2. Processus de Markov
    Par malloc92 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 06/10/2006, 20h38
  3. chaine Markov (bis)
    Par jameso dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 30/04/2006, 16h17
  4. convergence chaine de Markov
    Par jameso dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 27/04/2006, 14h47
  5. chaine de Markov
    Par jameso dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 01/04/2006, 10h44
Découvrez nos comparatifs produits sur l'informatique et les technologies.