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.
-----
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).
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:
voici ce que la machine affiche apres avoir compile le programme: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));
Esperant que vous m'aiderez, passez une bonne fin de soiree.Code:??? Error: File: C:\MATLAB7\work\marcov.m Line: 16 Column: 63 Incomplete or misformed expression or statement.
Bonjour,
Peut tu précise qu'elle est la ligne 16 de ton programme matlab ?
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'.
Bonsoir, J'ai justement rectifié la parenthèse, mais voila après rectification le code que j'ai compilé:
ce que la machine retourne: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));
et donc je suis perdu, je vous assure.Code:> In solve at 140 In sym.solve at 49 In marcov at 13 ans = [ empty sym ] >>
Sincères Salutations.
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'.
Bonjour,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+
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.
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)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
Une fois le programme fini et compilé, la machine nous retourne ceci: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"
J'espère que je vous ai fait parvenir toutes les informations dont vous avez besoin.Code:> In solve at 140 In sym.solve at 49 In marcov at 13 ans = [ empty sym ] >>
Bonne fin de soirée et Cordialement.
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...