How can I increase the speed of this loop?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Jeremy Hughes
2019-10-18
编辑:Jeremy Hughes
2019-10-18
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!