2012-11-04 12 views
0

J'ai un fichier mat avec 10 (colonnes) x 3 (lignes) de données et je voudrais récupérer ces données pour produire une sortie lisible via certaines fonctions. Par exemple, la première colonne de données est 1 0 0 et la sortie sera Oui. Puis-je savoir comment puis-je effectuer la première étape, qui est de savoir comment récupérer/lire les données du fichier mat qui a enregistré dans un ordinateur portable?Comment récupérer des données de fichier mat?

Répondre

0

En supposant que le nom de votre fichier '.mat' en tant que 'xyz.mat' et la variable stockée dans le fichier .mat avaient le même nom que le fichier.

load('xyz.mat') % loads xyz.mat into workspace. 
if xyz(:,1)==[1;0;0], 
answer='yes' 
end   

Note: Ici, je suppose que xyz tableau a été stocké sous forme xyz.mat, si le nom du tableau était différent du nom donné au fichier .mat alors vous devrez utiliser le nom du tableau dans l'instruction if . par exemple. si vous stockez un tableau nommé abcd en tant que xyz.mat, lorsque vous utilisez load ('xyz.mat') le tableau est chargé avec son nom d'origine (abcd) et non le nom de fichier xyz

+0

qu'est-ce que le (:, 1) veux dire? – wan

+0

Il s'agit d'une manière d'adresser des éléments d'un tableau, par ex. Si vous voulez accéder à l'élément en 3ème ligne, première colonne, alors vous utiliserez xyz (3,1). Dans l'exemple que j'ai montré, j'utilise la 1ère colonne du tableau xyz donc xyz (:, 1). Ici: signifie que je veux toutes les entrées de ligne correspondant à la colonne 1. Si je voulais seulement accéder aux deux premières lignes alors je ont écrit xyz (1: 2,1)]. –

+0

lorsque j'affiche la valeur de xyz en utilisant xyz (:, 1), le résultat affiché est "[3x1 double]" au lieu de la valeur [1: 0: 0], et c'est peut-être la raison pour laquelle j'exécute le résultat est "non". Puis-je savoir où est le problème? – wan