Hello,
I've been struggling with this problem for several days now. Tried different solutions and I think I'm almost there, except for following error:
PROBLEM: I have a folder with 500 .dat files, they each consist of 1 header line with 40 variables (strings) and about 8000 lines with recorded integer data. I want to import them into matlab so I have 40 vectors of (500*8000) by (1).
I use this code:
function importfiles()datfiles=dir('*.dat'); numfiles=length(datfiles);
%Import the files
for k=1:length(datfiles); newData1 = importdata(datfiles(k).name); A=newData1.data; %Create matrix A, with all data from the file
if k==1 B=zeros(size(A)); B=vertcat(B,A); else B=vertcat(B,A); %vertically concatenates matrix A to B
endend B(all(B==0,2),:)=[]; %Delete all the zero lines
% Create new variables in the base workspace from those fields.
for i=1:size(newData1.colheaders, 2) assignin('base', genvarname(newData1.colheaders{i}), B(:,i));end
When I execute this I get following error:
Attempt to reference field of non-structure array.
Error in importfiles (line 15) A=newData1.data;
!!!!When I execute for_ k=1:60;_ it works.!!!!!
What is causing this problem for k=1:(integer bigger than 60)???
Best Answer