Je suis en train de charger le fichier ascii suivant dans Matlab en utilisant la charge()Problème (bug?) Données hexadécimaux de chargement dans Matlab
% some comment
1 0xc661
2 0xd661
3 0xe661
(Ceci est en fait un fichier simplifié. Le fichier réel que je suis en essayant de charge contient un nombre indéfini de colonnes et un nombre indéfini de lignes de commentaires au début, ce qui est la raison pour laquelle la fonction de charge était attrayante)
pour une raison étrange, j'obtenir ce qui suit:
K>> data = load('testMixed.txt')
data =
1 50785
2 58977
3 58977
J'ai observé que le problème se produit chaque fois qu'il y a un "d" dans le nombre hexadécimal.
conversion directe HEX2DEC fonctionne correctement:
K>> hex2dec('d661')
ans =
54881
importdata semble avoir le même problème de conversion, et le fait le ImportWizard:
K>> importdata('testMixed.txt')
ans =
1 50785
2 58977
3 58977
Est-ce un bug, j'utilise la fonction de charge d'une manière interdite, ou y a-t-il quelque chose d'évident que je néglige?
Y a-t-il des solutions de contournement autour du problème, en sauvant de réimplémenter l'analyse de fichier sur mon propre?
J'ai modifié mon fichier d'entrée pour mieux refléter mon format de fichier réel. J'avais un peu trop simplifié dans ma question initiale.
Est-ce que toutes vos colonnes vont avoir différents types de données (comme des entiers, des valeurs hexadécimales, des flottants, etc.)? – gnovice
J'ai des nombres entiers et hexadécimaux, mélangés – Kena
Je suis un peu surpris que vous ayez CHARGÉ de vous donner * n'importe quels nombres du tout pour les valeurs hexadécimales, sans parler des erreurs. Quand je l'essaie (en utilisant MATLAB 7.8.0 (R2009a)), il renvoie juste les zéros en tête et rien d'autre. – gnovice