How can I increase the speed of this loop?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ash Ahamed
le 18 Oct 2019
Commenté : Ash Ahamed
le 18 Oct 2019
This loop takes a long time to finish. Is there anyway I can increase the speed? Thanks
for n=0:5039
name = sprintf('%d/conformability.txt', n)
fid = fopen(name) ;
data = textscan(fid,'%f32','HeaderLines',1) ;
data = cell2mat(data)
n = length(data)
data = reshape(data,[10,n/10])
data = transpose(data)
fclose(fid);
comformability(:,n)=data(:,2)
data = []
end
0 commentaires
Réponse acceptée
Jeremy Hughes
le 18 Oct 2019
Modifié(e) : Jeremy Hughes
le 18 Oct 2019
It's hard to say without looking at the contents of the file's you're reading.
You're overriding n in the for loop with n as the length of the data. Is that a typo?
% With some assumption about the file you're reading...
fmt = repmat({'%*f32'},1,10);
fmt{2} = '%f32';
fmt = [fmt{:}];
for K=0:5039
name = sprintf('%d/conformability.txt', K);
fid = fopen(name);
data = textscan(fid,fmt,'HeaderLines',1);
fclose(fid);
comformability(:,K+1)=data{1}; % if K == 0 this would error.
end
3 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!