# Problem with textscan for importng textfile

1 view (last 30 days)
Rica on 18 Apr 2017
Commented: Rica on 19 Apr 2017
Hi, i many text files named Data. I attached as exemple one file to schow the structure of it. I wrote a function to read the Data of these files.
function [All]=myfunction(numoffiles)
for k=1:numoffiles
fid=fopen(['Data_' num2str(k) '.txt']);
if fid == -1, error('Cannot open file'),
end
XX{k,1}=textscan(fid,'%f %f %f');
fclose(fid)
Amplitude{k,1}=XX{k,1}{1};
Resonance{k,1}=XX{k,1}{2};
Height{k,1}=XX{k,1}{3};
end
All.Amplitude=vertcat( Amplitude{:});
All.Resonance=vertcat(Resonance{:});
All.Height=vertcat(Height{:});
end
when i run this function with matlab 2014, i does what it should. But with Matlab 2017 i get Pronblems. Could someone help to solve the matter. mybe there is an easier way to sove it.
##### 2 CommentsShowHide 1 older comment
Stephen on 18 Apr 2017

Star Strider on 18 Apr 2017
I only had one file so I used a loop to read it twice to test the code.
This works in R2017a:
All.Amplitude = [];
All.Resonance = [];
All.Height = [];
for k1 = 1:2
fidi = fopen('Rica Data_2.txt','rt');
XXc = textscan(fidi, '%f%f%f', 'CollectOutput',1);
fclose(fidi);
XX = cell2mat(XXc);
Amplitude = XX(:,1);
Resonance = XX(:,2);
Height = XX(:,3);
All.Amplitude = [All.Amplitude; Amplitude];
All.Resonance = [All.Resonance; Resonance];
All.Height = [All.Height; Height];
end
Rica on 19 Apr 2017
Thank you for you answer. That is what am looking for. it does function with the data_2.txt which i attached. But when i use it for the real Data_2(large data) it does not work as i expect. I attached the Data_2.txt. thank you