Reading data after Importing text files into variables with the same name
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
amberly hadden
le 20 Août 2015
Commenté : amberly hadden
le 21 Août 2015
I have this code from a on line source
files = dir( '*.txt' ) ;
nFiles = length( files ) ;
names = cell( nFiles, 1 ) ;
data = cell( nFiles, 1 ) ;
for dId = 1 : nFiles
names{dId} = files(dId).name ;
fId = fopen( files(dId).name, 'r' ) ;
cols = textscan( fId, '%f %f', 'headerlines', 1 ) ;
data{dId} = [cols{:}] ;
fclose( fId ) ;
end
can anybody help me how can I then read my files to reach the data set in each individual file ? Thanks
0 commentaires
Réponse acceptée
dpb
le 20 Août 2015
You've read the files already, you've got nFiles cells of a 2D array that's Nx2 for each file where N may be a different length.
To address the data of a given file, "use the curlies, Luke!" --
xy=data{idx};
will return the full array for the idx th entry, idx=1:nFiles
To refer to a subset within the array, follow with a set of indices in "normal" parentheses--
x=data{idx}(:,1);
would be the first column of the above array.
See
doc cell % and links to "addressing cell contents" for the details
and look at the "Getting Started" section on data types for cell arrays and tutorial information.
3 commentaires
dpb
le 21 Août 2015
data{1}(:,1) will return all rows of the first column of the first cell in the array data. That would be a single value iff size(,1) of that cell array is unity.
Not being able to see your terminal from here [ :) ] it's a little hard to know what, precisely, is happening, but let's start with
which data
which data(1)
which data{1}
to see what you actually have...
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Biological and Health Sciences dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!