Good way to import data file
    8 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Kieran Hazell
 am 5 Mai 2015
  
    
    
    
    
    Bearbeitet: Kieran Hazell
 am 6 Mai 2015
            Hey, I need to import a large data file into matlab, but I'm unsure of the best way to do it. I've been experimenting with the fopen and textscan but can't get anything to work correctly. Any help is appreciated.
0 Kommentare
Akzeptierte Antwort
  Michael Haderlein
      
 am 5 Mai 2015
        
      Bearbeitet: Michael Haderlein
      
 am 5 Mai 2015
  
      If the format doesn't change through the file (such that after 10 s, suddenly also data about whatever appears), you can simply use:
fid=fopen('test.txt');
data=textscan(fid,'%*s%f','delimiter',':');
fclose(fid);
t=data{1}(1:4:end);
gs=data{1}(2:4:end);
gflat=data{1}(4:4:end);
gflong=data{1}(3:4:end);
0 Kommentare
Weitere Antworten (1)
  David Sanchez
      
 am 5 Mai 2015
        I'm sure this might be shorter, but I guess it'll be a valid solution for you:
fid = fopen('your_file_name_here.txt');
my_file = textscan(fid, '%s', 'delimiter', '\n');
my_file = my_file{1};
fclose(fid)
% now you have a cell array (my_file) with each line of your *.txt in a different
% cell
% you can extract the values like this:
L = length(my_file); % number of lines in your file
my_data = zeros(L,1);  % initialization of matrix to hold your data
for k = 1:L  % loop along each line
    str_value = textscan(my_file{k}, '%s %s', 'delimiter', ':' );
    my_data(k) = str2double(cell2mat(str_value{1,2}));
end
I guess you can figure out how to assign every four values to each variable
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Cell Arrays 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!