Reading data after Importing text files into variables with the same name
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
amberly hadden
am 20 Aug. 2015
Kommentiert: amberly hadden
am 21 Aug. 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 Kommentare
Akzeptierte Antwort
dpb
am 20 Aug. 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 Kommentare
dpb
am 21 Aug. 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...
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Biological and Health Sciences finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!