Tracer avec matlab

Résolu/Fermé
dana - 13 sept. 2007 à 13:08
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 - 23 janv. 2009 à 22:40
salut,
je veux tracer des mesures en fonction des dates avec matlab. la fonction plot n'accepte pas l'argument date. je suis bloquée. help.merci

13 réponses

Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
23 sept. 2008 à 19:59
Salut
Le sujet date d'il y a 8 mois et la réponse est juste au-dessus de ton message.
Vous avez quoi tous aujourd'hui à faire remonter des antiquités pour poster une question juste en-dessous la réponse ? Vous essayez de lancer une mode ?
A plus
5
wa7ch3000 Messages postés 336 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 19 juillet 2015 17
23 janv. 2009 à 21:27
salut
sacabouffe pourquoi vous avez effacer mon question !!
je n'est pas compris SVP vraiment j'ai besoin d'aide
merci pour votre compréhension

:'(
0
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832 > wa7ch3000 Messages postés 336 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 19 juillet 2015
23 janv. 2009 à 21:45
Salut

Comme dit dans le message de modération, crée ton propre sujet.
En résumé, ta question était :
simuler et tracer une trajectoire d'une chaine de markov
comment faire ca ???

Tout d'abord, c'est une question différente, de plus j'ai pas la réponse à ta question, j'ai toujours détesté les probas et j'ai jamais rien compris.
Est-ce que je les ai détestées parce que j'y comprenais que dalle ou est-ce que j'ai pas eu envie de les comprendre parce que je les détestais... grande question philosophique... quoiqu'il en soit, je te serai d'aucun secours.
Je suis le seul inscrit dans ce sujet, donc la seule personne qui ait vu le sujet remonter dans ses interventions. À moins d'un miracle, je doute que quelqu'un vienne s'aventurer ici vu que le sujet est résolu depuis un bout de temps.
Par conséquent, en créant ta propre discussion ; à supposer que quelqu'un puisse t'aider, t'auras beaucoup plus de chances d'avoir une réponse. Tout est question de probas conditionnelles dans ce que je viens d'écrire, tu devrais comprendre...

Et puis honnêtement, des étudiants avec un poil dans la main, on en voit passer une pelletée chaque jour...
C'est toujours super urgent, ils doivent passer avant tout le monde, ils postent n'importe où dans les sujets des autres, ils postent en 10 exemplaires, ils postent des demandes totalement incompréhensibles et on doit chercher quelle est la question avant de pouvoir répondre, ils ont toujours mille excuses, ils sont jamais contents, ils t'insultent parce que le programme marche pas alors qu'ils ont même pas essayé de le faire tourner.
Et en plus, leur flemme va même jusqu'à ne pas chercher sous Google alors que leur réponse y est la plupart du temps...
https://www.google.fr/search?hl=fr&q=cha%C3%AEne+Markov+Matlab&btnG=Recherche+Google&meta=&aq=f&oq=&gws_rd=ssl
https://www.google.com/search?hl=fr&q=Markov+chain+Matlab&btnG=Recherche+Google&lr=&gws_rd=ssl

Ciao
0
wa7ch3000 Messages postés 336 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 19 juillet 2015 17 > Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009
23 janv. 2009 à 22:37
en tous cas merci
0
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832 > wa7ch3000 Messages postés 336 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 19 juillet 2015
23 janv. 2009 à 22:40
Y a pas de quoi ;-)
Poste un nouveau sujet si tu trouves pas ta réponse dans les liens.
Cela dit, c'est pas une demande super simple non plus, enfin... faut connaître quoi... je sais pas si quelqu'un s'y connaît en probas, tu verras bien...
See you
0
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
13 sept. 2007 à 21:54
Salut Dana

Pour ton problème, ça dépend de ce que tu veux réellement faire.
Est-ce que tu veux tracer ta courbe avec une seule valeur pour chaque jour, dans ce cas il faut que tu choisisses une heure précise dans ton fichier de donnée pour chaque jour et que tu prennes que celle-là ou est-ce que tu veux tracer toutes les valeurs?

En supposant que tu veuilles tarcer ta courbe pour toutes les valeurs de ton fichier de données, voilà comment je ferais:
Apparemment ton fichier de données (que j'appellerai donnees.dat) est à peu près de cette forme (avec peut-être plus de colonnes...):
(12/01/2007 13:12) 3.45
(15/01/2007 16:53) 5.12
(23/02/2007 04:12) 4.78
(07/03/2007 16:57) 3.99
(19/03/2007 07:45) 10.23
(08/04/2007 04:12) 4.11
(01/05/2007 13:12) 8.34
(30/05/2007 16:53) 5.45
(15/06/2007 04:12) 4.83

La date est à chaque fois une chaîne de 18 caractères.

Donc je commencerais par faire
[A,C] = textread('donnees.dat','%18c %f');

On a alors
A=(12/01/2007 13:12)             C=3.45
  (15/01/2007 16:53)               5.12
  ...                              ...
  ...                              ...

Après tu convertis chaque date en un nombre en précisant à la fonction Matlab le format sous lequel est ta date
B=datenum(A,'(dd/mm/yyyy HH:MM)');

Ton B aura alors pour valeurs le nombre de minutes écoulées depuis l'année fictive 0 à 00:00 jusqu'à chaque date. Après tu peux adapter au besoin, c'est-à-dire enlever à chaque valeur le nombre qui correspond à la première date de ton graphique comme ça ta courbe commencera à l'abscisse 0, etc...
Ensuite tu fais
plot(B,C);

Pour les boucles en Matlab, si tu as un gros programme et beaucoup de données, si tu peux éviter c'est mieux (en travaillant en matriciel par exemple). Si c'est un tout petit programme avec une boucle sur une centaine de valeurs tu peux y aller...
Dans ce cas l'utilisation si tu choisis k en variable pour ta boucle et si n est le nombre de boucles c'est
for k=1:n
     instructions
end

Pour la boucle while c'est
while condition
instructions
end

Voilà j'espère que ça t'aide un peu, s'il y a un autre souci dis-moi.
2
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
2 janv. 2008 à 23:27
Salut Ghanou
En fait je connais pas de commande pour faire ça. Donc si personne te suggère autre chose tu peux essayer ça (mais c'est probablement pas ce qu'il y a de mieux):

for k=1:10
text(X(k),Y(k),num2str(k));
end
1
irongege Messages postés 40847 Date d'inscription jeudi 1 novembre 2007 Statut Modérateur Dernière intervention 29 juin 2023 5 059
23 janv. 2009 à 22:06
Bonsoir

Et bien, un passant est passé par là et à trouver une explication de Mr Sacabouffe qui relate exactement le besoin urgent de ces chers étudiants si pressés de profiter du temps épargné à faire leurs devoirs pour s'adonner à leur passe-temps favori qui est celui de venir poster leur demande de leçons.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
23 janv. 2009 à 22:28
À moins d'un miracle, je doute que quelqu'un vienne s'aventurer ici vu que le sujet est résolu depuis un bout de temps.
Comme quoi les miracles se produisent... Hallelujah !

Je crois en Jeff, Le Père Tout Puissant
Créateur de CCM et de ses Forums
Et en la FAQ,
Son trésor unique,
Notre encyclopédie,
Qui a été conçue par les Saints Contributeurs,
Est née de pages vierges,
A souffert de la perte de ses Images un jour
A été pleurée, est morte
A été ensevelie, est descendue aux enfers
Le troisième jour est ressuscitée des faqs sans images
Est montée aux Cieux
Est assise à la Droite de la Gauche, c'est-à-dire au Milieu à peu près...
D’où elle viendra aider les vivants et les morts, mais surtout les vivants, faut bien l'avouer...

Je crois en la Sainte FAQ
À la Sainte Communauté CCM
À la chirurgie esthétique des seins
À la rémission des faqs moribondes
À la Résurrection des Images
À la Vie Éternelle juste avant de mourir de son vivant

Amen
1
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
13 sept. 2007 à 13:39
Salut

date avec matlab te retourne une chaîne de caractère du type 13-Sep-2007 donc c'est normal que tu puisses pas le mettre dans la fonction plot, en plus c'est seulement la date du jour en cours donc pour tracer un graphique il faut construire un vecteur à partir de la date du jour si tu veux faire comme ça.
Il y a plusieurs autres trucs que tu peux utiliser suivant ce que tu veux faire (datenum, clock, now, datestr, etc...), décris-moi ce que tu veux faire exactement.
0
merci sacabouffe
mon fichier est comme ça: la première colonne contien (jj/mm/yy hh:mm), les autres colonnes contiennent les données .
je veux avoir en abscisse le jour, et en coordonnées les données. j'arrive à lire la date et à selectionner le jour sous format chaine de caratère. je peux aussi convertir le jour en chiffre avec str2num et construire un vecteur mais dans ce cas j'ai un jour qui se répète le nombre d'heures existants. par ex: 01/01/2007 01:00; 01/01/2007 02:00; 01/01/2007 03:00.....donc si je selectionne le jour et je le converti en chiffre j'aurai 1;1;1.....ce que je ne peux pas tracer même si je le converti en chiffre. j'ai aussi besoin de savoir comment utiser les boucle ds un fichier.m
0
Salut,
durant le plot d'un nuage de point,comment on peut correspondre à chaque point son numéron dans la série et le visualiser sur le graphe,
(par exemple on a 10 point de coordonnées (xi,yi),comment les ploter avec l indice i,i de1 à 10).
Merci
0
Salut

Comment peut on lire un fichier de données excel sur matlab?

Merci
0
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
7 janv. 2008 à 23:22
Salut Ghanou
Un fichier excel je dois dire que je sais pas et je sais pas non plus si c'est possible.
Pour les fichiers .dat ou .txt tu peux utiliser fscanf, textscan, textread, etc...
0
salut, j aimrai bien savoir lutilité des prolongement par continuité svp .je vous vous serais tres reconnaissant si vous m envoyer la reponse sur mon e-mail: mani-corection@hotmail.fr
merci
0
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
7 janv. 2008 à 23:38
Salut ali
Evite de poster ton message dans le post de quelqu'un d'autre, sois pas timide, fais ton propre sujet. En plus t'auras plus de chances d'obtenir une réponse :-)

Pour répondre à ta question, j'ai pas trop d'idées en tête pour l'utilité. La seule qui me vient est par exemple la construction de fonctions plateaux sans utiliser la convolution, mais je pense qu'il y en a plein d'autres, jette un coup d'œil sur le net.
A plus.
0
bonjours:
je suis débutante en Matlab
et j'aime bien c'est vous pouvez m'expliquer comment on peut crée une fonction sur matlab
je vous remercie beaucoup
0
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 832
4 févr. 2008 à 16:07
Salut sam
Ce serait bien que tu précises quel genre de fonction.
Mais pour rester général tu crées un fichier texte dans lequel 'écris ta fonction et c'est un truc du genre :
function variables_de_sortie = ma_fonction(variables_d_entree)
Ici tout ce que tu veux que ta fonction fasse

Entre crochets les variables de sortie s'il y en a plusieurs.
Et t'enregistres ton fichier en ma_fonction.m
C'est tout...
0
Bonjour
j'ai des problème pour ecrire des fonctions dans matlab, aider moi a comprendre comment créer un fichier .m et l'utiliser.
Merci
0
Bonjour,

Pour crée une fonction sur matlab:

function [les variables de sortie] = nom de ta fonction (les variables d'entrée)

tu va écrire l'expression de tes variables de sortie en fonction de tes variables d'entrée (exactement comme en math)

end;

exemple la fonction: f(x) = 3x + a, c'est la même chose que y = 3x + a et c'est la même chose que f(x) =y
Pour écrire cette fonction sur matlab on va suivre les étapes suivantes:
"f" est le nom de ma fonction
"a" est une constante exemple a=4
"y" est mon variable de sortie
"x" est mon variable d'entrée
Sur matlab on note:
""""""""""""""""""""""""""""""""""""""""""
function y = f(x)
a=4
y = 3x + a
end;
""""""""""""""""""""""""""""""""""""""""""
et voilà c'est tous simple

bon chance pour la suite
0