2012-11-10 3 views
0

dans mon txt je columnt "temps", qui est au format:Traçage chaîne_date temps

09/08/2012 11: 21: 43: 739

Maintenant, je veux tracer des données en fonction du temps , mais j'obtiens erreur "La conversion en double à partir de la cellule n'est pas possible."

Donc, le problème est mon horodatage, comment puis-je le changer afin que je puisse tracer mes données (peut-être sont des problèmes aussi miliseconds à la fin de l'horodatage) ??

+0

Vous pouvez essayer de tracer le datenum() de la date au lieu de la date. Voir http://mathworks.com/help/matlab/ref/datenum.html. Malheureusement, je peux seulement donner des réponses de code. Je ne sais pas si Matlab peut le faire uniquement via son interface graphique sans écrire de code. –

+0

Oui j'ai également essayé ce datenum (temps), mais obtenez cette erreur; Je pense que le problème est en millisecondes Trop de champs de temps en 09/08/2012 11: 21: 43: 739. –

+0

Je pense que je sais ce qui cause cela. J'ai édité ma réponse et l'ai ramenée. –

Répondre

4

Le problème semble être le champ milliseconde. C'est dans un mauvais format. Vous avez:

11:21:43:739

Au lieu de cela, vous avez besoin ceci:

11:21:43.739

Millisecondes doivent être séparés par un point, pas deux points.

Si vous souhaitez conserver le format actuel, vous avez besoin d'un spécificateur de format personnalisé lors de la conversion de la chaîne de date. Par exemple:

datenum('8/9/2012 11:21:43:739', 'dd/mm/yy HH:MM:SS:FFF') 
+0

bien j'importe des données et c'est une colonne !!! entre eux est aussi l'espace comme tu l'as dit; C'est tout ce que j'ai; J'ai juste besoin de convertir cette colonne pour que Matlab puisse comprendre que c'est la date et l'heure ... –

+0

mais j'ai aussi besoin de datum + time, car j'enregistre toutes mes données depuis 3 jours ... –

+0

Ensuite, nous avons besoin de voir votre code, surtout la partie où vous lisez du fichier :-) –