I trying to do script to evalute my lab data into matlab, I have lots of txt files for many samples, each sample has 30 txt files. I did a function to get the data from these files and store them into a structure that contains data and labels. I would like to know if it is possible to load all the 30 files using loop instead of line by line .
function s = try1(fn) % adapt for other file format according to your needs fid = fopen(fn); s.data = []; % skip first lines
for k=1:6
l = fgetl(fid);
a = regexp(l,',','split');
s.labels = a;
l = fgetl(fid);
k=0;
end
while( (l~=-1)&(k<130) )
l = l(1:end-1);
a = regexp(l,', ','split');
a = regexpre
p(a, ',','.');
s.data = [s.data; str2double(a(2:4))];
l = fgetl(fid);
k = k+1;
end
fclose(fid);
end
then i used this code to fetch the data form folder directory
dataDirectory = 'c:/myDirectory';
allFilesDir = dir(fullfile(dataDirectory , '*.txt'));
allFN = {allFilesDir.name}
result = [];
for ind = 1:length(allFN)
myFN = fullfile(dataDirectory, allFN{ind});
result(ind) = try1(myFN);
end
myMean = mean([result.data])
but i got this error The following error occurred converting from struct to double: Error using ==> double Conversion to double from struct is not possible. Error in ==> getmean at 13 result(ind) = try1(myFN); any idea about porb \\